ComfyUIをLAN・外部公開するときの認証設計|TLSとリバースプロキシ
ComfyUIをLAN外から使うときの防御設計を解説。--listenだけで公開しない理由、脅威モデル、リバースプロキシで入口を一つにする構成、Basic/OIDC/VPNの使い分け、入力制限、ログと更新の運用まで分かります。
AIとつくる、実践プログラミング・コーディングメディア
ARCHIVE
ComfyUIをLAN外から使うときの防御設計を解説。--listenだけで公開しない理由、脅威モデル、リバースプロキシで入口を一つにする構成、Basic/OIDC/VPNの使い分け、入力制限、ログと更新の運用まで分かります。
ReactでComfyUIの生成状況を表示する設計を解説。idle/queued/running/success/error/cancelledの6状態とuseReducerの遷移、WebSocketをHookに閉じ込める形、進捗率を捏造しない表示、Cancel・Retry、リロード後の復元まで分かります。
Next.jsのRoute Handlerを間に置き、ComfyUIの接続先とworkflowをサーバー側に閉じ込める3層構成を解説。zodによる入力検証、client層の分離、画像の中継、外部公開前の認証・レート制限・タイムアウトまで分かります。
Comfy CLIは公式のコマンドラインツールで、comfy run --workflow file.json --waitが自動化の基本形です。API・MCPとの使い分け、導入、1回実行、jqとループで組むBatch、CIでのSecret・Exit Code・Logの扱い、仕様変更への備えを解説します。
OllamaのStructured Outputsはformatにスキーマを渡し応答の形を保証しますが、値域や意味は保証しません。ComfyUI向けの最小Schema設計、受信後の再検証、ノードIDを隠すMapping層、Preset方式、自然文20件の検証手順を解説します。
OllamaのTool Callingでは、モデルはgenerate_imageを呼びたいと宣言するだけで、実行と検証はアプリが担います。最小のTool定義、tool_callsの受け取り、型・値域・列挙の検証、結果の戻し方、連続生成の防止をJavaScriptで解説します。
Open WebUIのチャットからComfyUIで画像を作るには、現行のToolsで固定workflowを呼ぶ関数を1つ作り、引数をprompt・size・seedに絞ります。Pipelinesとの違い、最小Toolのコード、引数検証、画像の返し方、第三者Toolの安全性を解説します。
ComfyUIのQueueは1件ずつ処理する列です。自アプリのJob IDとprompt_idの対応付け、状態遷移、/queueと/interruptで分けるキャンセル、原因別の再試行、ユーザー上限と429によるbackpressureの設計を解説します。
ComfyUI APIで入力画像を渡すには、POST /upload/imageにmultipartで送り、返ってきたnameをAPI形式JSONのLoad Imageノードのimageに書き込んでから/promptへ投入します。アップロードの仕様、Node書き換え、img2imgとInpaintingのマスク連携、ファイル名の検証を解説します。
ComfyUIの生成進捗は、HTTPでjobを投入し、WebSocket(/ws?clientId=)でstatus・executing・progress・executedなどのイベントを受け取る二経路で取得します。接続とclientIdの対応、各イベントの読み方、UI stateへの変換、切断時の再確認、進捗率の見せ方を解説します。
ComfyUIをPythonから動かすには、公式SDK「comfy-sdk」(Comfy API v2用、Beta 0.1.x)を使い、ローカルはcomfy-api-proxy経由で接続します。venvでの導入と接続確認、PromptとSeedの引数化、完了待ちと保存、複数実行のエラー処理、client層とmain処理の分離を解説します。
ComfyUIをTypeScriptから動かすには、公式SDK「@comfyorg/sdk」(Comfy API v2用、Beta 0.1.x)を使い、ローカルはcomfy-api-proxy経由で接続します。最小プロジェクト、Workflowと入力値の分離、型付きの結果取得、失敗とTimeoutの区別、SDK更新に強いラッパー層の作り方を解説します。
ComfyUIのworkflow JSONはGUI用とAPI用で構造が違い、GUI用をそのまま/promptへ送っても動きません。同一workflowの並置で差を示し、File → Export Workflow (API)での正式な出力、Node IDの逆引き、parse後の最小差分書き換えを解説します。
ComfyUIを画面以外から動かす経路は、ローカルのServer API、SDK付きのComfy API v2、Cloud APIの三つ。役割・認証・URLの違いを表で比べ、API形式JSONを/promptへ送ってPromptだけ差し替えて1枚生成する最小サンプルを示します。