Comfyui
目次
- skill の情報
- 参考: SKILL.md 全文
- この skill に入っているもの
- いつ使うか
- 構成: 2 つの層
- 手早く試す
- 環境を調べる
- 一行でできる動作確認
- 基本の流れ
- ステップ1: API 形式のワークフロー JSON を用意する
- ステップ2: 何を変えられるかを見る
- ステップ3: パラメータを与えて実行する
- ステップ4: 結果を示す
- 使い分けの早見表
- 導入と初期設定
- ステップ0: ローカルかクラウドかを尋ねる(必ず最初に)
- ステップ1: ハードウェアを確認する(ローカルを選んだときだけ)
- 導入の経路を選ぶ
- 経路 A: Comfy Cloud(ローカルには入れない)
- 経路 B: ComfyUI Desktop(Windows / macOS)
- 経路 C: ComfyUI のポータブル版(Windows のみ)
- 経路 D: comfy-cli(全プラットフォーム — エージェントにはこれを推奨)
- 経路 E: 手作業での導入(上級者 / 対応していないハードウェア)
- 導入後: モデルを取得する
- 導入後: カスタムノードを入れる
- 導入後: 動作を確かめる
- 画像のアップロード(img2img / 部分描き直し)
- クラウド特有の話
- 待ち行列とシステムの管理
- 落とし穴
- 動作確認のチェックリスト
拡散モデルのワークフローで画像、動画、音声を生成します。
skill の情報
| 提供元 | オプション — hermes skills install official/creative/comfyui で導入します |
| パス | optional-skills/creative/comfyui |
| バージョン | 5.1.0 |
| 作者 | ['kshitijk4poor', 'alt-glitch', 'purzbeats'] |
| ライセンス | MIT |
| 対応プラットフォーム | macos, linux, windows |
| タグ | comfyui, image-generation, stable-diffusion, flux, sd3, wan-video, hunyuan-video, creative, generative-ai, video-generation |
| 関連 skill | stable-diffusion |
参考: SKILL.md 全文
ComfyUI
ComfyUI を通して画像、動画、音声、3D のコンテンツを生成します。導入と起動・停止には 公式の comfy-cli を、ワークフローの実行には REST/WebSocket API を直接 使います。
この skill に入っているもの
参照用ドキュメント(references/):
official-cli.md—comfy ...の全コマンドと、そのフラグrest-api.md— REST と WebSocket のエンドポイント(ローカルとクラウド)、送信データの形workflow-format.md— API 形式の JSON、よく使うノードの種類、パラメータの対応づけtemplate-integrity.md—comfyui-workflow-templatesをエディタ形式から
API 形式へ変換する手順。Reroute の迂回、ドット付きの動的入力キー (values.a、resize_type.width)、クラウド特有のクセ(302 リダイレクト、無料枠は 同時実行 1 件、1080p の VRAM 上限)、Discord で再生できる ffmpeg の連結。 作者は @purzbeats です。公式のテンプレートから 始めるときは、必ずこれを読み込んでください。
スクリプト(scripts/):
| スクリプト | 用途 |
|---|---|
_common.py |
共通の HTTP 処理、クラウドへの振り分け、ノードの一覧(直接は実行しません) |
hardware_check.py |
GPU/VRAM/ディスクを調べ、ローカルと Comfy Cloud のどちらが向くかを示す |
comfyui_setup.sh |
ハードウェアの確認 + comfy-cli + ComfyUI の導入 + 起動 + 動作確認 |
extract_schema.py |
ワークフローを読み、変えられるパラメータとモデルの依存を並べる |
check_deps.py |
稼働中のサーバーと照らし合わせ、足りないノードやモデルを並べる |
auto_fix_deps.py |
check_deps を走らせてから comfy node install / comfy model download を実行する |
run_workflow.py |
パラメータを差し込み、投入し、進み具合を見守り、出力を取得する(HTTP か WS) |
run_batch.py |
値を振りながら同じワークフローを N 回投入する。並列数は契約の上限まで |
ws_monitor.py |
実行中のジョブを WebSocket で実況表示する(進み具合をその場で) |
health_check.py |
動作確認の一括実行 — comfy-cli、サーバー、モデル、試し撃ちまで |
fetch_logs.py |
ある prompt_id について、トレースバックや状態のメッセージを取り出す |
サンプルのワークフロー(workflows/): SD 1.5、SDXL、Flux Dev、SDXL の img2img、 SDXL の部分描き直し、ESRGAN のアップスケール、AnimateDiff の動画、Wan T2V。 workflows/README.md を参照してください。
いつ使うか
- 利用者が Stable Diffusion、SDXL、Flux、SD3 などで画像を作りたいと言ったとき
- 利用者が特定の ComfyUI ワークフローのファイルを走らせたいとき
- 利用者が生成の工程をつなげたいとき(txt2img → アップスケール → 顔の補正)
- ControlNet、部分描き直し、img2img など、込み入った処理が必要なとき
- 利用者が ComfyUI の待ち行列の管理、モデルの確認、カスタムノードの導入を求めたとき
- AnimateDiff、Hunyuan、Wan、AudioCraft などで動画・音声・3D を生成したいとき
構成: 2 つの層
<!-- ascii-guard-ignore -->
┌─────────────────────────────────────────────────────┐
│ Layer 1: comfy-cli (official lifecycle tool) │
│ Setup, server lifecycle, custom nodes, models │
│ → comfy install / launch / stop / node / model │
└─────────────────────────┬───────────────────────────┘
│
┌─────────────────────────▼───────────────────────────┐
│ Layer 2: REST/WebSocket API + skill scripts │
│ Workflow execution, param injection, monitoring │
│ POST /api/prompt, GET /api/view, WS /ws │
│ → run_workflow.py, run_batch.py, ws_monitor.py │
└─────────────────────────────────────────────────────┘<!-- ascii-guard-ignore-end -->
なぜ 2 層なのか。 公式の CLI は導入とサーバーの管理には申し分ありませんが、 ワークフローの実行はほとんど支援してくれません。その穴を埋めるのが REST/WS の API です。 CLI がやらないパラメータの差し込み、実行の見守り、出力の取得を、スクリプトが引き受けます。
手早く試す
環境を調べる
# What's available?
command -v comfy >/dev/null 2>&1 && echo "comfy-cli: installed"
curl -s http://127.0.0.1:8188/system_stats 2>/dev/null && echo "server: running"
# Can this machine run ComfyUI locally? (GPU/VRAM/disk check)
python scripts/hardware_check.pyまだ何も入っていない場合は、下の導入と初期設定を見てください。ただし、 ハードウェアの確認だけは必ず先に走らせます。
一行でできる動作確認
python scripts/health_check.py
# → JSON: comfy_cli on PATH? server reachable? at least one checkpoint? smoke-test passes?基本の流れ
ステップ1: API 形式のワークフロー JSON を用意する
ワークフローは API 形式でなければなりません(どのノードも class_type を持つ形です)。入手先は次のとおりです。
- ComfyUI のウェブ画面 → Workflow → Export (API)(新しい画面)、
または以前の「Save (API Format)」ボタン(古い画面)
- この skill の
workflows/ディレクトリ(そのまま動く例) - コミュニティからの入手(civitai、Reddit、Discord)。たいていはエディタ形式なので、
ComfyUI に読み込んでから書き出し直す必要があります
エディタ形式(最上位に nodes と links の配列がある形)は、そのままでは 実行できません。スクリプトはこれを見分けて、書き出し直すよう伝えます。
ステップ2: 何を変えられるかを見る
python scripts/extract_schema.py workflow_api.json --summary-only
# → {"parameter_count": 12, "has_negative_prompt": true, "has_seed": true, ...}
python scripts/extract_schema.py workflow_api.json
# → full schema with parameters, model deps, embedding refsステップ3: パラメータを与えて実行する
# Local (defaults to http://127.0.0.1:8188)
python scripts/run_workflow.py \
--workflow workflow_api.json \
--args '{"prompt": "a beautiful sunset over mountains", "seed": -1, "steps": 30}' \
--output-dir ./outputs
# Cloud (export API key once; uses correct /api routing automatically)
export COMFY_CLOUD_API_KEY="comfyui-..."
python scripts/run_workflow.py \
--workflow workflow_api.json \
--args '{"prompt": "..."}' \
--host https://cloud.comfy.org \
--output-dir ./outputs
# Real-time progress via WebSocket (requires `pip install websocket-client`)
python scripts/run_workflow.py \
--workflow flux_dev.json \
--args '{"prompt": "..."}' \
--ws
# img2img / inpaint: pass --input-image to upload + reference automatically
python scripts/run_workflow.py \
--workflow sdxl_img2img.json \
--input-image image=./photo.png \
--args '{"prompt": "make it watercolor", "denoise": 0.6}'
# Batch / sweep: 8 random seeds, parallel up to cloud tier limit
python scripts/run_batch.py \
--workflow sdxl.json \
--args '{"prompt": "abstract"}' \
--count 8 --randomize-seed --parallel 3 \
--output-dir ./outputs/batchseed に -1 を渡すと(あるいは --randomize-seed を付けて省くと)、実行のたびに 新しい乱数の種が使われます。
ステップ4: 結果を示す
スクリプトは、出力ファイルの一つひとつを説明する JSON を標準出力に書きます。
{
"status": "success",
"prompt_id": "abc-123",
"outputs": [
{"file": "./outputs/sdxl_00001_.png", "node_id": "9",
"type": "image", "filename": "sdxl_00001_.png"}
]
}使い分けの早見表
| 利用者の言葉 | 使うもの | コマンド |
|---|---|---|
| 導入と起動・停止(comfy-cli を使う) | ||
| 「ComfyUI を入れて」 | comfy-cli | bash scripts/comfyui_setup.sh |
| 「ComfyUI を起動して」 | comfy-cli | comfy launch --background |
| 「ComfyUI を止めて」 | comfy-cli | comfy stop |
| 「X というノードを入れて」 | comfy-cli | comfy node install <name> |
| 「X というモデルを落として」 | comfy-cli | comfy model download --url <url> --relative-path models/checkpoints |
| 「入っているモデルを見せて」 | comfy-cli | comfy model list |
| 「入っているノードを見せて」 | comfy-cli | comfy node show installed |
| 実行(スクリプトを使う) | ||
| 「準備はできている?」 | スクリプト | health_check.py(必要なら --workflow X --smoke-test を付けます) |
| 「このワークフローで何を変えられる?」 | スクリプト | extract_schema.py W.json |
| 「W の依存がそろっているか見て」 | スクリプト | check_deps.py W.json |
| 「足りない依存を直して」 | スクリプト | auto_fix_deps.py W.json |
| 「画像を作って」 | スクリプト | run_workflow.py --workflow W --args '{...}' |
| 「この画像を使って」(img2img) | スクリプト | run_workflow.py --input-image image=./x.png ... |
| 「乱数の種を変えて 8 通り」 | スクリプト | run_batch.py --count 8 --randomize-seed ... |
| 「進み具合をその場で見せて」 | スクリプト | ws_monitor.py --prompt-id <id> |
| 「ジョブ X のエラーを取ってきて」 | スクリプト | fetch_logs.py <prompt_id> |
| REST を直接叩く | ||
| 「待ち行列には何がある?」 | REST | curl http://HOST:8188/queue(ローカル)、またはクラウドなら --host https://cloud.comfy.org |
| 「それを取り消して」 | REST | curl -X POST http://HOST:8188/interrupt |
| 「GPU のメモリを空けて」 | REST | curl -X POST http://HOST:8188/free |
導入と初期設定
利用者から ComfyUI を用意してほしいと言われたら、まず最初にすることは、 Comfy Cloud(ホスト型、導入なし、API キー)とローカル(自分のマシンに ComfyUI を 入れる)のどちらがよいかを尋ねることです。答えをもらうまで、導入のコマンドも ハードウェアの確認も始めないでください。
公式ドキュメント: https://docs.comfy.org/installation CLI のドキュメント: https://docs.comfy.org/comfy-cli/getting-started クラウドのドキュメント: https://docs.comfy.org/get_started/cloud クラウドの API: https://docs.comfy.org/development/cloud/overview
ステップ0: ローカルかクラウドかを尋ねる(必ず最初に)
こんなふうに尋ねます。
> 「ComfyUI をご自分のマシンで動かしたいですか。それとも Comfy Cloud を使いますか。 > > - Comfy Cloud — RTX 6000 Pro の GPU 上で動き、よく使うモデルは最初から入っていて、 > 準備は要りません。API キーが必要です(ワークフローを実際に走らせるには有料の契約が > 必要で、無料枠は閲覧だけです)。手元に十分な GPU がないなら、こちらが向いています。 > - ローカル — 無料ですが、マシンが次のいずれかを満たしている必要があります。 > - 6 GB 以上の VRAM を積んだ NVIDIA の GPU(SDXL なら 8 GB 以上、Flux や動画なら 12 GB 以上)、または > - ROCm に対応した AMD の GPU(Linux)、または > - 16 GB 以上のユニファイドメモリを積んだ Apple Silicon の Mac(M1 以降。32 GB 以上を推奨)。 > - Intel の Mac や GPU のないマシンでは動きません。かわりにクラウドを使ってください。 > > どちらにしますか。」
振り分け方は次のとおりです。
- クラウド → 経路 A へ飛びます。
- ローカル → まずハードウェアの確認を走らせ、その判定に応じて経路 B〜E から選びます。
- 決めかねている → ハードウェアの確認を走らせ、その判定に任せます。
ステップ1: ハードウェアを確認する(ローカルを選んだときだけ)
python scripts/hardware_check.py --json
# Optional: also probe `torch` for actual CUDA/MPS:
python scripts/hardware_check.py --json --check-pytorch| 判定 | 意味 | すること |
|---|---|---|
ok |
単体 GPU で 8 GB 以上の VRAM、または Apple Silicon で 32 GB 以上のユニファイドメモリ | ローカルに導入します。レポートの comfy_cli_flag を使ってください |
marginal |
SD1.5 は動きます。SDXL はぎりぎり。Flux や動画は厳しいでしょう | 軽いワークフローならローカルで構いません。そうでなければ 経路 A(クラウド) |
cloud |
使える GPU がない、VRAM が <6 GB、Apple のユニファイドメモリが <16 GB、Intel Mac、Rosetta 上の Python | 利用者がはっきりローカルを押し通さないかぎり、クラウドに切り替えます |
このスクリプトは wsl: true(NVIDIA のパススルーが効く WSL2)や rosetta: true(Apple Silicon 上の x86_64 版 Python。ARM64 版で入れ直す必要があります)も併せて示します。
判定が cloud なのに利用者がローカルを望む場合、黙って進めてはいけません。 notes の配列をそのまま見せて、(a) クラウドに切り替えるか、(b) ローカルへの導入を 押し通すか(今どきのモデルではメモリ不足になるか、使い物にならないほど遅くなります)を尋ねてください。
導入の経路を選ぶ
まずハードウェアの確認を使います。下の表は、利用者からすでに機材を聞いている 場合の代わりの目安です。
| 状況 | おすすめの経路 |
|---|---|
ハードウェアの確認で verdict: cloud が出た |
経路 A: Comfy Cloud |
| GPU がない / まずは気軽に試したい | 経路 A: Comfy Cloud |
| Windows + NVIDIA + 技術に明るくない | 経路 B: ComfyUI Desktop |
| Windows + NVIDIA + 技術に明るい | 経路 C: ポータブル版 または 経路 D: comfy-cli |
| Linux + 何らかの GPU | 経路 D: comfy-cli(いちばん簡単) |
| macOS + Apple Silicon | 経路 B: Desktop または 経路 D: comfy-cli |
| 画面なし / サーバー / CI / エージェント | 経路 D: comfy-cli |
すべて自動で進める経路(ハードウェアの確認 → 導入 → 起動 → 動作確認)は次のとおりです。
bash scripts/comfyui_setup.sh
# Or with overrides:
bash scripts/comfyui_setup.sh --m-series --port=8190 --workspace=/data/comfyこのスクリプトは内部で hardware_check.py を走らせ、判定が cloud のときは (--force-cloud-override がないかぎり)ローカルへの導入を断り、comfy-cli に 渡すべきフラグを選び、システムの Python を汚さないように全体向けの pip より pipx/uvx を優先します。
経路 A: Comfy Cloud(ローカルには入れない)
十分な GPU がない人や、準備を一切したくない人向けです。RTX 6000 Pro 上で動きます。
ドキュメント: https://docs.comfy.org/get_started/cloud
- https://comfy.org/cloud で登録します
- https://platform.comfy.org/login で API キーを作ります
- キーを設定します:
export COMFY_CLOUD_API_KEY="your-comfyui-key"- ワークフローを実行します:
python scripts/run_workflow.py \
--workflow workflows/flux_dev_txt2img.json \
--args '{"prompt": "..."}' \
--host https://cloud.comfy.org \
--output-dir ./outputs料金: https://www.comfy.org/cloud/pricing 同時に流せるジョブ数: Free/Standard は 1、Creator は 3、Pro は 5 です。無料枠は API からワークフローを実行できません。モデルを見られるだけです。/api/prompt、 /api/upload/*、/api/view などを使うには有料の契約が必要です。
経路 B: ComfyUI Desktop(Windows / macOS)
技術に明るくない人向けの、ワンクリックのインストーラーです。今のところベータ版です。
ドキュメント: https://docs.comfy.org/installation/desktop
- Windows(NVIDIA): https://download.comfy.org/windows/nsis/x64
- macOS(Apple Silicon): https://comfy.org
Desktop は Linux に対応していません。経路 D を使ってください。
経路 C: ComfyUI のポータブル版(Windows のみ)
ドキュメント: https://docs.comfy.org/installation/comfyui_portable_windows
https://github.com/comfyanonymous/ComfyUI/releases から入手して展開し、 run_nvidia_gpu.bat を実行します。更新は update/update_comfyui_stable.bat で行います。
経路 D: comfy-cli(全プラットフォーム — エージェントにはこれを推奨)
画面のない環境や自動化した環境には、公式の CLI がいちばん向いています。
ドキュメント: https://docs.comfy.org/comfy-cli/getting-started
comfy-cli を入れる
# Recommended:
pipx install comfy-cli
# Or use uvx without installing:
uvx --from comfy-cli comfy --help
# Or (if pipx/uvx unavailable):
pip install --user comfy-cli対話なしで利用状況の送信を切るには、次のようにします。
comfy --skip-prompt tracking disableComfyUI を入れる
comfy --skip-prompt install --nvidia # NVIDIA (CUDA)
comfy --skip-prompt install --amd # AMD (ROCm, Linux)
comfy --skip-prompt install --m-series # Apple Silicon (MPS)
comfy --skip-prompt install --cpu # CPU only (slow)
comfy --skip-prompt install --nvidia --fast-deps # uv-based dep resolution既定の置き場所は ~/comfy/ComfyUI(Linux)と ~/Documents/comfy/ComfyUI (macOS/Windows)です。comfy --workspace /custom/path install で変えられます。
起動と動作確認
comfy launch --background # background daemon on :8188
comfy launch -- --listen 0.0.0.0 --port 8190 # LAN-accessible custom port
curl -s http://127.0.0.1:8188/system_stats # health check経路 E: 手作業での導入(上級者 / 対応していないハードウェア)
Ascend NPU、Cambricon MLU、Intel Arc など、対応していないハードウェア向けです。
ドキュメント: https://docs.comfy.org/installation/manual_install
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
pip install -r requirements.txt
python main.py導入後: モデルを取得する
# SDXL (general purpose, ~6.5 GB)
comfy model download \
--url "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors" \
--relative-path models/checkpoints
# SD 1.5 (lighter, ~4 GB, good for 6 GB cards)
comfy model download \
--url "https://huggingface.co/stable-diffusion-v1-5/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors" \
--relative-path models/checkpoints
# Flux Dev fp8 (smaller variant, ~12 GB)
comfy model download \
--url "https://huggingface.co/Comfy-Org/flux1-dev/resolve/main/flux1-dev-fp8.safetensors" \
--relative-path models/checkpoints
# CivitAI (set token first):
comfy model download \
--url "https://civitai.com/api/download/models/128713" \
--relative-path models/checkpoints \
--set-civitai-api-token "YOUR_TOKEN"入っているものの一覧は comfy model list で見られます。
導入後: カスタムノードを入れる
comfy node install comfyui-impact-pack # popular utility pack
comfy node install comfyui-animatediff-evolved # video generation
comfy node install comfyui-controlnet-aux # ControlNet preprocessors
comfy node install comfyui-essentials # common helpers
comfy node update all
comfy node install-deps --workflow=workflow.json # install everything a workflow needs導入後: 動作を確かめる
python scripts/health_check.py
# → comfy_cli on PATH? server reachable? checkpoints? smoke test?
python scripts/check_deps.py my_workflow.json
# → are this workflow's nodes/models/embeddings installed?
python scripts/run_workflow.py \
--workflow workflows/sd15_txt2img.json \
--args '{"prompt": "test", "steps": 4}' \
--output-dir ./test-outputs画像のアップロード(img2img / 部分描き直し)
いちばん簡単なのは、run_workflow.py に --input-image を付ける方法です。
python scripts/run_workflow.py \
--workflow workflows/sdxl_img2img.json \
--input-image image=./photo.png \
--args '{"prompt": "make it cyberpunk", "denoise": 0.6}'このフラグは photo.png をアップロードし、サーバー側でのファイル名を、スキーマ上で image という名前が付いたパラメータに差し込みます。部分描き直しでは、次のように両方渡します。
python scripts/run_workflow.py \
--workflow workflows/sdxl_inpaint.json \
--input-image image=./photo.png \
--input-image mask_image=./mask.png \
--args '{"prompt": "fill with flowers"}'REST で自分でアップロードする場合は次のとおりです。
curl -X POST "http://127.0.0.1:8188/upload/image" \
-F "image=@photo.png" -F "type=input" -F "overwrite=true"
# Returns: {"name": "photo.png", "subfolder": "", "type": "input"}
# Cloud equivalent:
curl -X POST "https://cloud.comfy.org/api/upload/image" \
-H "X-API-Key: $COMFY_CLOUD_API_KEY" \
-F "image=@photo.png" -F "type=input" -F "overwrite=true"クラウド特有の話
- ベース URL:
https://cloud.comfy.org - 認証:
X-API-Keyヘッダー(WebSocket では?token=KEY) - API キー:
$COMFY_CLOUD_API_KEYを一度設定しておけば、スクリプトが自動で拾います - 出力の取得:
/api/viewは署名付き URL への 302 を返します。スクリプトはそれを
たどり、保管先から取得する前に X-API-Key を外します (S3/CloudFront に API キーを漏らさないためです)。
- ローカルの ComfyUI との違い:
/api/object_info、/api/queue、/api/userdataは 無料枠では 403 になります。
有料の契約が必要です。
/historyはクラウドでは/history_v2という名前になっています(スクリプトが
自動で振り分けます)。
/models/<folder>はクラウドでは/experiment/models/<folder>になっています
(スクリプトが自動で振り分けます)。
- WebSocket の
clientIdは今のところ無視されます。同じ利用者の接続はすべて同じ
配信を受け取るので、prompt_id で手元より分けてください。
- アップロード時の
subfolderは受け付けられますが無視されます。クラウドの
名前空間は平坦です。
- 同時に流せるジョブ数: Free/Standard は 1、Creator は 3、Pro は 5 です。あふれた分は
自動で待ち行列に並びます。契約の上限まで使い切るには run_batch.py --parallel N を使います。
待ち行列とシステムの管理
# Local
curl -s http://127.0.0.1:8188/queue | python -m json.tool
curl -X POST http://127.0.0.1:8188/queue -d '{"clear": true}' # cancel pending
curl -X POST http://127.0.0.1:8188/interrupt # cancel running
curl -X POST http://127.0.0.1:8188/free \
-H "Content-Type: application/json" \
-d '{"unload_models": true, "free_memory": true}'
# Cloud — same paths under /api/, plus:
python scripts/fetch_logs.py --tail-queue --host https://cloud.comfy.org落とし穴
- API 形式であることが前提です — どのスクリプトも
/api/promptのエンドポイントも、
API 形式のワークフロー JSON を期待します。スクリプトはエディタ形式(最上位に nodes と links の配列がある形)を見分けて、 「Workflow → Export (API)」(新しい画面)か「Save (API Format)」(古い画面)で 書き出し直すよう伝えます。
- サーバーが動いている必要があります — 実行には必ず生きたサーバーが要ります。
comfy launch --background で立ち上がります。 curl http://127.0.0.1:8188/system_stats で確かめてください。
- モデル名は正確に — 大文字と小文字を区別し、拡張子まで含みます。
check_deps.py はある程度あいまいに照合します(拡張子やフォルダの前置きの 有無を吸収します)が、ワークフロー自体は正式な名前を使う必要があります。 何が入っているかは comfy model list で調べられます。
- カスタムノードが足りない — 「class_type not found」は、必要なノードが
入っていないという意味です。どのパッケージを入れればよいかは check_deps.py が 教えてくれますし、auto_fix_deps.py が導入まで代わりに行います。
- 作業ディレクトリ —
comfy-cliは ComfyUI の作業場所を自動で見つけます。
「no workspace found」でコマンドが失敗するときは、 comfy --workspace /path/to/ComfyUI <command> を使うか、 comfy set-default /path/to/ComfyUI を実行してください。
- クラウド無料枠の API 制限 —
/api/prompt、/api/view、/api/upload/*、
/api/object_info は無料のアカウントではすべて 403 を返します。health_check.py と check_deps.py はこれを穏当に扱い、はっきりしたメッセージを出します。
- 動画・音声のワークフローの待ち時間 — 出力ノードが
VHS_VideoCombineや
SaveVideo などのときは自動で判定され、既定の待ち時間が 300 秒から 900 秒に伸びます。--timeout 1800 で明示的に上書きできます。
- 出力ファイル名によるディレクトリの遡り — サーバーから返ったファイル名は
safe_path_join を通し、--output-dir の外へ出るものを拒みます。 この保護は切らないでください。保存ノードを自作したワークフローは、任意のパスを作れます。
- ワークフローの JSON は実質コードです — カスタムノードは Python を動かすので、
素性の知れないワークフローを投入することは eval と同じ信頼度になります。 信頼できない出どころのワークフローは、走らせる前に中身を確かめてください。
- 乱数の種の自動割り当て —
--argsにseed: -1を渡す(または
--randomize-seed を付けて seed を省く)と、実行のたびに新しい種になります。 実際に使われた種は標準エラー出力に記録されます。
trackingの確認 —comfyの初回実行では、利用状況の送信について
尋ねられることがあります。comfy --skip-prompt tracking disable を使えば、 対話なしで飛ばせます。comfyui_setup.sh はこれを代わりに行います。
動作確認のチェックリスト
python scripts/health_check.py を使えば、この一覧をまとめて確認できます。手作業でやる場合は次のとおりです。
- [ ]
hardware_check.pyの判定がokである、または利用者がはっきり Comfy Cloud を選んだ - [ ]
comfy --versionが動く(またはuvx --from comfy-cli comfy --helpが動く) - [ ]
curl http://HOST:PORT/system_statsが JSON を返す - [ ]
comfy model listにチェックポイントが少なくとも 1 つ出る(ローカル)、または
/api/experiment/models/checkpoints がモデルを返す(クラウド)
- [ ] ワークフローの JSON が API 形式になっている
- [ ]
check_deps.pyがis_ready: trueを返す(クラウドの無料枠では
node_check_skipped だけが出る状態でも可)
- [ ] 小さなワークフローの試し撃ちが完走し、出力が
--output-dirに落ちている