メインコンテンツへスキップ
実験的 API: この API は実験的であり、変更される可能性があります。エンドポイント、リクエスト/レスポンス形式、および動作は予告なしに変更される場合があります。一部のエンドポイントはローカル ComfyUI との互換性のために維持されていますが、異なるセマンティクスを持つ場合があります(例:無視されるフィールド)。
このページでは、一般的な Comfy Cloud API 操作の完全な例を提供します。
サブスクリプションが必要: 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 テキストフレームとして送信されます。
タイプ説明
statusqueue_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_typeexception_messagetraceback を含む)
execution_interruptedワークフローがユーザーによってキャンセルされました

バイナリメッセージ(プレビュー画像)

画像生成中、ComfyUI はプレビュー画像を含むバイナリ WebSocket フレームを送信します。これらは生のバイナリデータです(JSON ではありません):
バイナリタイプ説明
PREVIEW_IMAGE1拡散サンプリング中の進行中プレビュー
TEXT3ノードからのテキスト出力(進捗テキスト)
PREVIEW_IMAGE_WITH_METADATA4ノードコンテキストメタデータ付きプレビュー画像
バイナリフレーム形式(すべての整数はビッグエンディアン):
オフセットサイズフィールド説明
04 バイトtype0x00000001
44 バイト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必要なモデルが利用できないか、ダウンロードに失敗
ImageDownloadErrorURL から入力画像のダウンロードに失敗
OOMErrorGPU メモリ不足
InsufficientFundsErrorアカウント残高が低すぎる(パートナーノード用)
InactiveSubscriptionErrorサブスクリプションがアクティブでない