クイックスタート
Comfy ワークスペースでキーを作成し、COMFY_API_KEY としてエクスポートします。Python と TypeScript のスニペットは Comfy SDK(pip install comfy-sdk および npm install @comfyorg/sdk)を使用しています。cURL のスニペットは、同じ呼び出しを生の HTTP で実行するものです。
モデル ID: wan/happyhorse-1.0-i2v
エンドポイント: POST https://api.comfy.org/v2/models/wan/happyhorse-1.0-i2v
- 結果を待つ
- キューに送信して後で収集
同じボディを
POST https://api.comfy.org/v2/models/wan/happyhorse-1.0-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。少なくとも 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 の説明が各モデルについて列挙しているまさにその画像入力(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。これらのモデルのいずれにおいても、ビデオ、オーディオ、ファイル、リンクの入力がインラインの 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 の参照モードでは、media 配列内の対応する順序でメディアアセットを
‘Image 1’、‘Video 1’、‘Audio 1’ などで参照します。
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
このプロキシは、解像度もサイズも指定していないビデオ生成リクエストを拒否します。これは、課金レートを選択するのが解像度のティアだからです。チェックの前に解像度を大文字化し、その大文字化した値を転送します。この enum に含まれない値には 400 を返し、上記で 480P がないと記載されている wan2.6、wan2.7、happyhorse-1.0 のモデルでは、480P に対して(解像度として送信された場合でも 480P のサイズとして送信された場合でも)400 を返します。
可能な値:
480P,720P,1080P
integer
乱数シード。モデルが生成するコンテンツのランダム性を制御するために使用します範囲:
0 から 2147483647 までstring
デフォルト:"\"single\""
インテリジェントなマルチレンズ制御。prompt_extend が有効な場合にのみ機能します。wan2.6 および wan2.7-r2v モデル向けです。
- single: 単一ショットのビデオ(デフォルト)
-
multi: マルチショットのビデオ
可能な値:
multi,single
string
widthheight 形式のビデオ解像度。対応する解像度はモデルによって異なります:
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
サイズと解像度の両方を送信した場合、課金対象のティアを選択するのはサイズであり、解像度はそのモデルに対してこのプロキシが受け入れる値である必要があります。480P のサイズは、解像度の説明で 480P がないものとして挙げられているすべてのモデルで 400 を返します。
boolean
デフォルト:"false"
ウォーターマークロゴを追加するかどうか。ウォーターマークは右下隅に配置されます
GET /v2/models/wan/happyhorse-1.0-i2v/openapi.json で 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 の下ではなく、エンベロープの ROOT で報告されます(リクエストが成功した場合は返されません)。string
失敗したリクエストに関する詳細情報。
output の下ではなく、エンベロープの 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 が現在対応していないことと、代替手段。