サブスクリプションが必要: API を介してワークフローを実行するには、有効な Comfy Cloud サブスクリプションが必要です。詳細については料金プランをご覧ください。
設定
すべての例で、これらの共通のインポートと設定を使用します:オブジェクト情報
利用可能なノード定義を取得します。これは、利用可能なノードとその入出力仕様を理解するのに役立ちます。入力のアップロード
ワークフローで使用するための画像、マスク、またはその他のファイルをアップロードします。直接アップロード(Multipart)
マスクのアップロード
subfolder パラメータは API 互換性のために受け入れられますが、クラウドストレージでは無視されます。すべてのファイルはフラットなコンテンツアドレス指定ネームスペースに保存されます。ワークフローの実行
実行のためにワークフローを送信します。同時送信をサポート: サブスクリプションティアに応じて、前のジョブの完了を待たずに複数のワークフローを送信できます。ジョブはティアの制限まで並列で実行されます—追加のジョブは自動的にキューイングされます。詳細と同時実行制限については並列実行をご覧ください。
ワークフローの送信
パートナーノードの使用
ワークフローにパートナーノード(Flux Pro、Ideogram などの外部 AI サービスを呼び出すノード)が含まれている場合、リクエストペイロードのextra_data フィールドに Comfy API キーを含める必要があります。
ブラウザでワークフローを実行する際、ComfyUI フロントエンドは自動的に API キーを
extra_data にパッケージ化します。このセクションは API を直接呼び出す場合のみ関連します。API キーは platform.comfy.org で生成してください。これは Cloud API 認証(
X-API-Key ヘッダー)に使用されるのと同じキーです。API キーを取得するも参照してください。ワークフロー入力の修改
ジョブステータスの確認
ジョブの完了をポーリングします。 ジョブのステータス値: API は以下のいずれかのステータス値を返します。| ステータス | 説明 |
|---|---|
pending | ジョブがキューに登録され、実行開始を待っています |
in_progress | ジョブが現在実行中です |
completed | ジョブが正常に完了しました |
failed | ジョブでエラーが発生しました |
cancelled | ジョブがユーザーによってキャンセルされました |
リアルタイム進捗のための WebSocket
リアルタイムの実行更新を取得するために WebSocket に接続します。clientId パラメータは現在無視されます—ユーザーのすべての接続が同じメッセージを受け取ります。前方互換性のために、一意の clientId を渡してください。WebSocket メッセージタイプ
特に記載がない限り、メッセージは JSON テキストフレームとして送信されます。| タイプ | 説明 |
|---|---|
status | queue_remaining カウントを含むキュー状態更新 |
notification | ユーザーフレンドリーな状態メッセージ(value フィールドには “Executing workflow…” などのテキストが含まれます) |
execution_start | ワークフロー実行が開始されました |
executing | 特定のノードが現在実行中です(node フィールドのノード ID) |
progress | ノード内のステップ進捗(サンプリングステップの value/max) |
progress_state | ノードメタデータを含む拡張進捗状態(ネストされた nodes オブジェクト) |
executed | ノードが出力付きで完了しました(output フィールドの画像、動画など) |
execution_cached | 出力がキャッシュされているためスキップされたノード(nodes 配列) |
execution_success | ワークフロー全体が正常に完了しました |
execution_error | ワークフローが失敗しました(exception_type、exception_message、traceback を含む) |
execution_interrupted | ワークフローがユーザーによってキャンセルされました |
バイナリメッセージ(プレビュー画像)
画像生成中、ComfyUI はプレビュー画像を含むバイナリ WebSocket フレームを送信します。これらは生のバイナリデータです(JSON ではありません):| バイナリタイプ | 値 | 説明 |
|---|---|---|
PREVIEW_IMAGE | 1 | 拡散サンプリング中の進行中プレビュー |
TEXT | 3 | ノードからのテキスト出力(進捗テキスト) |
PREVIEW_IMAGE_WITH_METADATA | 4 | ノードコンテキストメタデータ付きプレビュー画像 |
- PREVIEW_IMAGE (1)
- TEXT (3)
- PREVIEW_WITH_METADATA (4)
| オフセット | サイズ | フィールド | 説明 |
|---|---|---|---|
| 0 | 4 バイト | type | 0x00000001 |
| 4 | 4 バイト | image_type | 形式コード(1=JPEG, 2=PNG) |
| 8 | 可変 | image_data | 生の画像バイト |
各 JSON メッセージタイプの完全なスキーマ定義については、OpenAPI 仕様をご覧ください。
出力のダウンロード
ジョブ完了後に生成されたファイルを取得します。完全なエンドツーエンドの例
すべてをまとめた完全な例を以下に示します:キュー管理
キュー状態の取得
ジョブのキャンセル
現在の実行の中断
エラーハンドリング
HTTP エラー
REST API エンドポイントは標準的な HTTP ステータスコードを返します:| ステータス | 説明 |
|---|---|
400 | 無効なリクエスト(不正なワークフロー、欠落したフィールド) |
401 | 未認証(無効または欠落した API キー) |
402 | クレジット不足 |
429 | サブスクリプションが非アクティブ |
500 | 内部サーバーエラー |
実行エラー
ワークフロー実行中、エラーはexecution_error WebSocket メッセージを介して配信されます。exception_type フィールドはエラーカテゴリを識別します:
| 例外タイプ | 説明 |
|---|---|
ValidationError | 無効なワークフローまたは入力 |
ModelDownloadError | 必要なモデルが利用できないか、ダウンロードに失敗 |
ImageDownloadError | URL から入力画像のダウンロードに失敗 |
OOMError | GPU メモリ不足 |
InsufficientFundsError | アカウント残高が低すぎる(パートナーノード用) |
InactiveSubscriptionError | サブスクリプションがアクティブでない |