クイックスタート
あなたの Comfy ワークスペースでキーを作成し、COMFY_API_KEY としてエクスポートします。Python と TypeScript のスニペットは Comfy SDK(pip install comfy-sdk、npm install @comfyorg/sdk)を使用しています。cURL のスニペットは、同じ呼び出しを生の HTTP で行うものです。
モデル ID: wan/happyhorse-1.1-i2v
エンドポイント: POST https://api.comfy.org/v2/models/wan/happyhorse-1.1-i2v
- 結果を待つ
- キューに入れて後で収集
同じボディを
POST https://api.comfy.org/v2/models/wan/happyhorse-1.1-i2v/requests に送信します。Router は実行が受け付けられるとすぐに 201 と request_id を返し、結果は準備ができた時点で、このプロセスからでも別のプロセスからでも収集できます。キュー配信では、ステータス、キャンセル、収集の流れを順に説明しています。スキーマ
入力
object
必須
プロンプトなどの基本的な情報を入力します。
string
オーディオファイルのダウンロードURL。対応形式は mp3 と wav です。reference_video_urls とは併用できません。
string
先頭フレームの画像URL、または Base64 エンコードされたデータ。wan2.5-i2v-preview および wan2.6-i2v モデルでは必須です。happyhorse-1.x の i2v 系の表記では、先頭フレームをここでは受け取りません。これらの表記は先頭フレームを type が first_frame の media 要素として受け取ります(下記の media を参照)。また、wan2.6-i2v では成功する img_url のボディも、happyhorse-1.0-i2v と happyhorse-1.1-i2v ではプロバイダーに拒否されます。そして wan2.7/wan3.0 の表記でも、参照アセットは同様に media で受け取ります。画像形式: JPEG、JPG、PNG、BMP、WEBP。解像度: 360-2000 ピクセル。ファイルサイズ: 最大 10MB。
object[]
メディアアセットのリスト。ビデオ生成用の参照素材(画像、オーディオ、ビデオ)を指定します。各要素には type フィールドと url フィールドが含まれます。このフィールドはこのコンポーネントから提供されるすべてのモデルで共通ですが、どの type 値を特定のモデルが受け付けるか、また画像やビデオの入力を img_url や reference_video_urls ではなくここで受け取るかどうかは、モデルによって異なります。モデルごとの対応する type 値は次のとおりです:
- wan2.7-i2v: first_frame、last_frame、driving_audio、first_clip。first_frame と last_frame: JPEG/JPG/PNG/BMP/WEBP、1辺 240-8000 ピクセル、アスペクト比は 1:8 から 8:1 の間、最大 20MB、公開 URL または data:{MIME_type};base64,… URL。driving_audio(WAV/MP3、2-30 秒、最大 15MB)と first_clip(MP4/MOV、2-10 秒、1辺 240-4096 ピクセル、最大 100MB): 公開 HTTP/HTTPS URL。インラインの data: URL は受け付けられません。
- wan2.7-r2v: first_frame(任意、最大 1)、reference_image、reference_video。reference_image または reference_video が少なくとも 1 つ必要で、reference_image と reference_video を合わせて最大 5 つです。first_frame と reference_image: JPEG/JPG/PNG/BMP/WEBP(アルファチャンネルなし)、1辺 240-8000 ピクセル、アスペクト比は 1:8 から 8:1 の間、最大 20MB、公開 URL または data:{MIME_type};base64,… URL。reference_video: 公開 HTTP/HTTPS URL。インラインの data: URL は受け付けられません。
- wan2.7-videoedit: video(正確に 1 つ、編集対象のクリップ: MP4/MOV、2-10 秒、1辺 240-4096 ピクセル、最大 100MB、公開 HTTP/HTTPS URL。インラインの data: URL は受け付けられません)と、任意で 0 から 4 つの reference_image(JPEG/JPG/PNG/BMP/WEBP、1辺 240-8000 ピクセル、アスペクト比は 1:8 から 8:1 の間、最大 20MB、公開 URL または data:{MIME_type};base64,… URL)。
- wan3.0-video、wan3.0-video-prime: first_frame(最大 1)、last_frame(最大 1)、reference_image(最大 10)、reference_video(最大 5 クリップ、合計再生時間 <= 15s)、reference_audio(最大 5 クリップ、合計再生時間 <= 15s)、file(最大 1、link とは併用不可)、link(最大 1、file とは併用不可)。reference_*/file/link の type と first_frame/last_frame の type は、同じリクエスト内では同時に使用できません。配列の順序が、プロンプト内のアセットの参照順序(Image 1、Video 1、Audio 1、…)を定義します。first_frame、last_frame、reference_image: JPEG/JPG/PNG/BMP/WEBP、1辺 240-8000 ピクセル、アスペクト比は最大 8:1、最大 20MB、公開 URL または data:{MIME_type};base64,… URL。reference_video、reference_audio、file、link: 公開 HTTP/HTTPS URL。インラインの data: URL は受け付けられません。
- happyhorse-1.0-i2v、happyhorse-1.1-i2v: first_frame のみ、正確に 1 つ。これらの表記では先頭フレームを「ここで」受け取り、img_url では受け取りません。少なくとも 300x300 ピクセル、アスペクト比は 1:2.5 から 2.5:1 の間、JPEG/JPG/PNG/WEBP、最大 20MB、公開 URL または data:{MIME_type};base64,… URL。
- happyhorse-1.0-r2v、happyhorse-1.1-r2v: reference_image のみ、1 から 9 つ。これがこのモデル唯一の参照入力です。最短辺が少なくとも 400 ピクセル、JPEG/JPG/PNG/WEBP、最大 20MB、公開 URL または data:{MIME_type};base64,… URL。reference_video はこの操作の入力タイプではありません。
- happyhorse-1.0-video-edit: video(正確に 1 つ、編集対象のクリップ: MP4/MOV、3-60 秒、長辺が最大 4096 ピクセル、短辺が少なくとも 360 ピクセル、アスペクト比は 1:2.5 から 2.5:1 の間、最大 100MB、公開 HTTP/HTTPS URL。インラインの data: URL は受け付けられません)と、任意で 0 から 5 つの reference_image(JPEG/JPG/PNG/WEBP、少なくとも 300x300 ピクセル、アスペクト比は 1:2.5 から 2.5:1 の間、最大 20MB、公開 URL または data:{MIME_type};base64,… URL)。
- happyhorse-1.0-t2v、happyhorse-1.1-t2v、wan2.7-t2v、wan2.6-t2v、wan2.5-t2v-preview: テキストから動画への操作。これらのパートナーリファレンスには media 入力の記載がないため、このフィールドは未設定のままにします。
- wan2.5-i2v-preview、wan2.6-i2v、wan2.6-r2v: このコンポーネントは、これらの表記に対する media の語彙を列挙していません。wan2.5-i2v-preview と wan2.6-i2v は先頭フレームを img_url で受け取り、wan2.6-r2v は参照クリップを reference_video_urls で受け取ります。 上記のモデルごとの数は、このスキーマの制約ではなくパートナーの制約です: media には minItems/maxItems が宣言されていません。これは、許容される type とその上限がモデルごとに異なるためです。スキーマが受け入れることは、プロバイダーが受け入れることを意味しません。逆に、上記のアセットごとの「最大 20MB」という数値(画像入力の上限であり、インラインで送信できる唯一の入力)は、最終的に受け取るアセットに対するパートナーの上限であり、アセットが公開 URL の場合には記載どおりに適用されます。そのバイト列は Comfy を経由しないためです。インラインの data:{MIME_type};base64,… URL は Comfy を経由するため、トランスポートの上限にも直面します: Comfy Router の POST ボディは合計 100 MiB に制限され、それを超えると 413 が返されます。また base64 はペイロードを約 4/3 に膨らませるため、およそ 75 MB を超える単一のインラインアセットは、ここに示したパートナーのルールに到達する前に拒否されます。そのサイズでは、単一のアセットはパートナー自身の20MB の上限ならインラインで問題なく収まります。そのため、アセットが 1 つの場合はパートナーのルールが制約となります。複数のアセットにまたがる場合は転送の上限が制約となります。100 MiB の Router の上限は各要素ではなくリクエスト全体を制限するためです。これらの上限に近いものはすべてパブリック URL として送信してください。
string
必須
メディアアセットのタイプ指定可能な値:
first_frame、last_frame、driving_audio、first_clip、reference_image、reference_video、reference_audio、video、file、linkstring
必須
メディアファイルの URL。パブリックな HTTP/HTTPS URL、または(上記の
media の説明がモデルごとに列挙しているまさに IMAGE 入力、すなわち wan2.7-i2v の first_frame と last_frame、wan2.7-r2v の first_frame と reference_image、wan2.7-videoedit の reference_image、wan3.0-video と wan3.0-video-prime の first_frame、last_frame と reference_image、happyhorse-1.0-i2v と happyhorse-1.1-i2v の first_frame、happyhorse-1.0-r2v と happyhorse-1.1-r2v の reference_image、happyhorse-1.0-video-edit の reference_image に限ります)インラインの data:{MIME_type};base64,... URL。これらのモデルのいずれにおいても、video、audio、file、link の入力はインラインの data: URL を受け付けません。パートナー自身のアップロードサービスによる oss://dashscope-instant の一時 URL、または(wan2.7-videoedit では)Asset Center の asset_id は、それをアップロードした Alibaba Cloud アカウントに対してのみ解決されます。Comfy は自身のキーでモデルを呼び出し、アップロード経路を公開していないため、呼び出し元自身の oss:// URL や asset_id はサポートされる入力ではありません。このフィールドは URL スキームを検証しないため、そのような値はここで拒否されるのではなく、そのままパートナーに転送されます。モデルごとのサイズとピクセルの制限、およびインラインのペイロードを全体として制限する 100 MiB の Router リクエストボディ上限については、media の説明を参照してください。string
逆プロンプトの単語は、ビデオ画面に表示したくないコンテンツを記述するために使用します
string
テキストプロンプトの単語。中国語と英語をサポートし、長さは 800 文字以内(wan3.0-video では最大 20,000 文字。制限を超えたコンテンツは切り捨てられます)。
複数の参照ビデオを使用する wan2.6-r2v では、‘character1’、‘character2’ などを使用して、参照ビデオの順序で被写体を参照します。例: “Character1 sings on the roadside, Character2 dances beside it”
wan3.0-video の参照モードでは、‘Image 1’、‘Video 1’、‘Audio 1’ などを使用して、media 配列内の対応する順序でメディアアセットを参照します。
string[]
wan2.6-r2v モデル専用の参照ビデオ URL。1~3 個のビデオ URL の配列。
入力の制限:
- フォーマット: mp4、mov
- 数量: 1~3 本のビデオ
- 単一ビデオの長さ: 2~30 秒
- 単一ファイルサイズ: 最大 30MB
- audio_url と併用できません 参照の再生時間: 単一ビデオは最大 5 秒、2 本のビデオはそれぞれ最大 2.5 秒、3 本のビデオは比例してより短くなります。 課金: 実際に使用された参照の再生時間に基づきます。
string
ビデオエフェクトのテンプレート名。任意。現在サポートされているのは squish、flying、carousel です。使用した場合、prompt パラメータは無視されます。
string
呼び出すモデルの ID。このコンポーネントでは制約されません。Comfy Router が
POST /v2/models/wan/{model} の {model} パスセグメントから設定するため、Router の呼び出し元はこれを省略します。POST /proxy/wan/api/v1/services/aigc/video-generation/video-synthesis への直接の v1 呼び出しでは必ず指定する必要があり、受け付けられる表記の enum はそのオペレーション自身のコンポーネント WanVideoGenerationRequest にあります。object
ビデオ処理パラメータ
boolean
デフォルト:"true"
ビデオにオーディオを追加するかどうか。wan3.0-video と wan3.0-video-prime のみでサポートされます。プロバイダーは他の wan モデルにはそのような切り替えをドキュメント化していません。
string
デフォルト:"\"auto\""
wan2.7-videoedit モデルのビデオオーディオ設定。
- auto(デフォルト): モデルがプロンプトのコンテンツに基づいてインテリジェントに判断します
-
origin: 入力ビデオのオリジナルオーディオを強制的に保持します
指定可能な値:
auto、origin
integer
デフォルト:"5"
生成されるビデオの再生時間(秒):
- wan2.5 モデル: 5 または 10 秒
- wan2.6-t2v、wan2.6-i2v: 5、10、または 15 秒
- wan2.6-r2v: 5 または 10 秒のみ(15 秒はサポートなし)
- wan2.7-i2v、wan2.7-t2v: [2, 15] の整数
- wan2.7-r2v、wan2.7-videoedit: [2, 10] の整数
-
wan3.0-video: ビデオ入力なしの場合は [2, 30] の整数。ビデオ入力ありの場合は入力ビデオの再生時間 + 出力ビデオの再生時間の合計が 30 秒を超えてはなりません。-1 はモデルが適切な再生時間を選ぶスマート再生時間モードを有効にします
このプロキシは [-1, 30] の範囲外の再生時間に対して 400 を返します。
範囲:
-1~30
boolean
デフォルト:"true"
プロンプトのインテリジェントなリライトを有効にするかどうか。デフォルトは true
string
生成されるビデオのアスペクト比。wan2.7 および wan3.0 モデル専用です。
wan2.7 モデルでは、指定しない場合は解像度ティアに基づいてデフォルトが決まります。
wan3.0-video では、adaptive(デフォルト)が入力メディアの比率と意図に基づいて適切なアスペクト比を自動的に推奨します。指定可能な値:
adaptive、16:9、9:16、1:1、4:3、3:4string
解像度レベル。サポートされる値はモデルによって異なります:
- wan2.5-i2v-preview: 480P、720P、1080P
- wan2.6 モデル(t2v、i2v、r2v): 720P、1080P のみ(480P はサポートなし)
- wan2.7 モデル(i2v、t2v、r2v、videoedit): 720P、1080P(デフォルト 1080P)
- wan3.0-video, wan3.0-video-prime: 480P、720P、1080P(上流のデフォルトは 1080P)
- happyhorse-1.0-*(t2v、i2v、r2v、video-edit): 720P、1080P
- happyhorse-1.1-*(t2v、i2v、r2v): 480P、720P、1080P
480P、720P、1080Pinteger
乱数シード。モデルが生成するコンテンツのランダム性を制御するために使用します。範囲:
0 から 2147483647string
デフォルト:"\"single\""
インテリジェントなマルチレンズ制御。prompt_extend が有効な場合にのみ機能します。
wan2.6 および wan2.7-r2v モデル用です。
- single: シングルショットビデオ(デフォルト)
-
multi: マルチショットビデオ
指定可能な値:
multi、single
string
幅高さ 形式のビデオ解像度。対応する解像度はモデルによって異なります:
wan2.5 T2V の場合: 480P(480832、832480、624624)、720P、1080P の各サイズ
wan2.6 T2V/R2V の場合(480P なし):
720P: 1280720、7201280、960960、1088832、8321088
1080P: 19201080、10801920、14401440、16321248、12481632
size と resolution の両方を送信した場合、課金ティアを選択するのは size であり、
resolution もこのプロキシがそのモデルに対して受け付ける値である必要があります。480P の size は、
解像度の説明で 480P 非対応として挙げられているすべてのモデルで 400 を返します。
boolean
デフォルト:"false"
ウォーターマークロゴを追加するかどうか。ウォーターマークは右下隅に配置されます
GET /v2/models/wan/happyhorse-1.1-i2v/openapi.json で Router が提供するスキーマから生成されています。これは、リクエストがプロバイダーに到達する前に Router が呼び出しを検証する際に使用するドキュメントと同じものです。
出力
object
必須
string
インテリジェントな書き換え後の実際のプロンプト(ビデオタスク用)
string
オーディオ生成を伴うI2Vタスク用のオーディオURL
string
失敗したリクエストのエラーコード(リクエストが成功した場合は返されません)
string
タスクの完了時間
string
失敗したリクエストの詳細情報(リクエストが成功した場合は返されません)
string
オリジナルの入力プロンプト(ビデオタスク用)
object[]
画像生成タスクのタスク結果のリスト
string
インテリジェントな書き換え後の実際のプロンプト(有効な場合)
string
画像のエラーコード(一部のタスクが失敗した場合に返されます)
string
画像のエラー情報(一部のタスクが失敗した場合に返されます)
string
オリジナルの入力プロンプト
string
生成された画像のURLアドレス
string
タスクの実行時間
string
タスクの送信時間
string
必須
タスクID
object
画像生成タスクのタスク結果の統計
integer
失敗したタスクの数
integer
成功したタスクの数
integer
タスクの総数
string
必須
タスクステータス指定可能な値:
PENDING, RUNNING, SUCCEEDED, FAILED, CANCELED, UNKNOWNstring
完了したビデオ生成タスクのビデオURL。リンクの有効期間は24時間
string
必須
一意のリクエスト識別子
object
出力情報の統計。成功した結果のみがカウントされます
integer
ビデオ解像度レベル(I2Vおよびwan3.0-videoタスク)
number
生成されたビデオの再生時間(秒)(I2Vおよびwan3.0-videoタスク)
integer
生成されたビデオのフレームレート(wan3.0-videoタスク)
integer
生成された画像の数(T2IおよびI2Iタスク)
number
入力ビデオの再生時間(秒)。ビデオ入力がない場合は0.0(wan3.0-videoタスク)
number
出力ビデオの再生時間(秒)(wan3.0-videoタスク)
string
生成されたビデオのアスペクト比(例: 16:9)(wan3.0-videoタスク)
string
画像解像度(T2IおよびI2Iタスク)
integer
生成されたビデオの数(T2Vタスク)
number
生成されたビデオの再生時間(秒)(T2Vタスク)
string
ビデオ解像度の比率(T2Vタスク)
string
失敗したリクエストのエラーコード。
output の下ではなく、envelope の ROOT で報告されます(リクエストが成功した場合は返されません)。string
失敗したリクエストの詳細情報。
output の下ではなく、envelope の ROOT で報告されます(リクエストが成功した場合は返されません)。output.message にフォールバックする前にこれを確認してください。例
入力
出力
出荷前の確認
SDK はIdempotency-Key を生成し、自動リトライで再利用します。手動リトライでは元のキーを再利用してください。Router は最大 10 分間接続を保持できます。
リクエストが失敗すると、Router は理由を説明する X-Comfy-Error-Type レスポンスヘッダーを送信します。422 は、プロバイダーを呼び出す前に Router が入力を拒否したことを意味し、413 はリクエスト本文が Router の受け入れ可能なサイズを超えていたことを意味します。生成されたアセットは 結果 URL の有効期限 があるため、早めにダウンロードしてください。
上記のフィールド説明に記載されているサイズ制限は、プロバイダーの仕様から引用した、そのフィールドに対するプロバイダー自身の上限です。Router はリクエスト本文全体に対して別の上限を適用し、base64 エンコードされたメディアもこれにカウントされます。リクエスト本文のサイズ を参照してください。
このページは、Comfy Router 経由で呼び出す 1 つのパートナーモデルについて説明しています。同じ comfy-sdk / @comfyorg/sdk パッケージには、Comfy Cloud 上で ComfyUI のワークフローグラフ全体を実行するための 2 つ目のクライアントも含まれています: Comfy(api_key=...) / new Comfy({ apiKey })、および client.workflows、client.assets、client.jobs。Comfy SDKs を参照してください。
ヘッダー
認証、冪等性、リクエスト ID、エラー分類、リトライ間隔、支出上限。
Router API の利用
モデルの検出、バリデーションエラー、リトライ、課金。
制限事項
Router が現在対応していないことと、代替手段。