Wan 3.0 と HappyHorse の動画 API

HopBase 上の Alibaba Model Studio 動画生成 — 最長 30 秒のオムニ参照に対応する Wan 3.0 と、テキスト / 画像 / 参照から動画を生成する HappyHorse 1.1。課金は完成した出力に対してのみ発生します。

HopBase は、Alibaba Cloud Model Studio の動画生成を Alibaba 自身の DashScope 契約のまま、元のパスで提供します(Wan 3.0(万相 3.0)/ HappyHorse(快乐马) 1.1)。Alibaba 公式の SDK や HTTP コードは、base URL とキーだけを変更すれば移行できます。リクエストボディ、レスポンス形式、パスはすべて変わりません。

どちらのモデルファミリーも非同期です。まずタスクを送信し、その後 HopBase のタスク ID をポーリングします。Alibaba プランが有効なキーを使用し、課金対象の処理を送信する前に GET /v1/models で利用可能かどうかを確認してください。

エンドポイント

メソッドパス用途
POST/api/v1/services/aigc/video-generation/video-synthesisWan 3.0 または HappyHorse の動画タスクを送信
GET/api/v1/tasks/{task_id}1 件のタスクを照会

すべてのリクエストは Authorization: Bearer sk-your-keyContent-Type: application/json を使用します。X-DashScope-Async を送信する必要はありません

不正なパラメータは 10 分後に失敗します

ボディは厳格にデコードされます。未知のフィールドと 2 つ目の JSON 値は、リクエストが送信される前に拒否されます。これは意図的な設計です。Alibaba は送信時にはほとんどのパラメータを受け入れ、実行時になって初めて失敗します。不正な resolution を指定してもタスク ID は返り、およそ 10 分後に失敗します。HopBase はこのようなリクエストを代わりに即座に 400 で拒否します。

モデル

モデル ID長さ解像度入力
wan3.0-video2〜30 秒の整数(デフォルト 5)、または自動の場合は -1480P / 720P / 1080P先頭/末尾フレーム、または参照画像最大 10 枚、参照動画最大 5 本、参照音声最大 5 本、ドキュメント 1 件、Web リンク 1 件
happyhorse-1.1-t2v3〜15 秒の整数(デフォルト 5)480P / 720P / 1080Pプロンプトのみ
happyhorse-1.1-i2v3〜15 秒の整数(デフォルト 5)480P / 720P / 1080Pfirst_frame 画像をちょうど 1 枚
happyhorse-1.1-r2v3〜15 秒の整数(デフォルト 5)480P / 720P / 1080Preference_image 画像を 1〜9 枚

上記の正確な ID を使用してください。エイリアスは登録されておらず、未知のモデル名は拒否されます。wan3.0-video-primehappyhorse-1.1-video-edit、および HappyHorse 1.0 系列は提供されていません。

リクエスト契約

{
  "model": "wan3.0-video",
  "input": { "prompt": "...", "media": [{ "type": "first_frame", "url": "..." }] },
  "parameters": { "resolution": "1080P", "duration": 5 }
}

input

prompt が必須かどうかはモデルごとに異なり、Alibaba 自身の契約と一致しています。

モデルprompt
wan3.0-video条件付き必須 — prompt または media の少なくとも一方
happyhorse-1.1-t2v必須
happyhorse-1.1-i2v任意 — 先頭フレームのみでもクリップを生成できます
happyhorse-1.1-r2v必須

長さ:Wan 3.0 は最大 20,000 文字を受け付けます。HappyHorse は非中国語の文字で最大 5,000 文字を受け付けます(中国語のテキストは実質 2,500 文字までに制限されます)。モデルの公式最大値を超えるプロンプトは 400 で拒否されます。

media の各要素は typeurl を持ちます。

typeWan 3.0HappyHorse
first_frame1-i2v のみ、必須
last_frame1受け付けない
reference_image最大 10-r2v のみ、1〜9 が必須
reference_video最大 5、合計 15 秒以下受け付けない
reference_audio最大 5、合計 15 秒以下受け付けない
fileドキュメント 1 件(docx / doc / xlsx / xls / pptx / ppt / pdf / txt / key / pages / numbers / md;100MB 以下、50 ページ以下)受け付けない
link公開 Web ページ 1 件受け付けない

Wan 3.0 では、先頭/末尾フレーム入力と参照プラン(reference_*filelink)は 1 つのリクエスト内で互いに排他的であり、さらに filelink も互いに排他的です。参照動画を指定した場合、Alibaba は入力動画の長さ + 出力の長さの合計を 30 秒以内に制限しますが、ゲートウェイは入力クリップの長さを計測できないため、これは Alibaba 側で強制されます。

url には、パブリックな絶対 http(s) URL、または data: URI(base64 埋め込み)を指定できます。oss:// のロケーターは拒否されます。そのオブジェクトはお客様自身の Alibaba Cloud アカウントに属するものであり、ゲートウェイからはアクセスできません。link は実際の Web アドレスである必要があり、data: 埋め込みは使用できません。

parameters

フィールドWan 3.0HappyHorse 1.1
resolution480P / 720P / 1080P(デフォルト 1080P)同左
duration任意;2〜30、デフォルト 5、または自動の場合は -1任意;3〜15、デフォルト 5
ratioadaptive / 16:9 / 4:3 / 1:1 / 3:4 / 9:1616:9 / 9:16 / 1:1 / 4:3 / 3:4 / 4:5 / 5:4 / 9:21 / 21:9;-i2v では受け付けられず、出力は入力画像に従います
audio真偽値、Alibaba のデフォルトは true(音声の有無で料金は変わりません)受け付けない
prompt_extend真偽値、Alibaba のデフォルトは true受け付けない
watermark真偽値、Alibaba のデフォルトは false真偽値、Alibaba のデフォルトは true
seed整数 0〜2147483647同左

モデルが対応していないパラメータは無視されるのではなく拒否されます。省略したフィールドはまったく送信されないため、モデル自身のデフォルト値が適用されます。

HappyHorse はデフォルトで出力に透かしが入ります

Alibaba の HappyHorse watermark のデフォルトは true で、クリップに「Happy Horse」のマークが入ります。HopBase は Alibaba のデフォルト値を上書きしません。クリーンな出力が必要な場合は、明示的に "watermark": false を送信してください。

例 — テキストから動画生成

curl https://api.hop-base.com/api/v1/services/aigc/video-generation/video-synthesis \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan3.0-video",
    "input": { "prompt": "Aerial drone shot over snow mountains above a sea of clouds at sunrise" },
    "parameters": { "resolution": "1080P", "duration": 5, "ratio": "16:9" }
  }'

送信に成功すると 200 が返り、HopBase のタスク ID は Alibaba のレスポンス形式のまま output.task_id(blt… の形式)に入っています。

{ "output": { "task_id": "blt60x4115010d-d361-4bfc-b131-a382f1c400a5", "task_status": "PENDING" }, "request_id": "..." }

例 — 画像から動画生成

{
  "model": "happyhorse-1.1-i2v",
  "input": {
    "prompt": "The camera slowly pushes in, light drifting across the scene",
    "media": [{ "type": "first_frame", "url": "data:image/jpeg;base64,..." }]
  },
  "parameters": { "resolution": "720P", "duration": 5, "watermark": false }
}

安定したメディアホスティングか data: 埋め込みを使用してください

参照メディアは HopBase ではなく Alibaba 側でダウンロードされます。データセンターの IP をブロックする画像ホスティングサービス(多くの無料画像 CDN がこれに該当します)を使うと、送信の数分後にタスクが失敗します。data: 埋め込み、またはお客様自身の OSS / CDN の利用を推奨します。

タスクのライフサイクル

GET /api/v1/tasks/{task_id} をポーリングしてください。他のページの動画エンドポイントとは異なり、このパスには /api の前に /v1 が付かないことに注意してください。一覧取得のエンドポイントはないため、タスク ID はお客様側で管理してください。output.task_status(大文字)は PENDING → RUNNING → SUCCEEDED | FAILED と遷移し、終了状態はこの最後の 2 つのみです。それ以外の値は実行中として扱ってください。通常、1 本のクリップは 1〜5 分で完成します。長い Wan 3.0 のクリップはより時間がかかります。おおよそ 15 秒間隔でポーリングしてください。

成功した場合、レスポンスには output.video_url に出力 URL が含まれます。

{
  "output": {
    "task_id": "blt60x4115010d-d361-4bfc-b131-a382f1c400a5",
    "task_status": "SUCCEEDED",
    "video_url": "https://api.hop-base.com/...",
    "orig_prompt": "..."
  },
  "usage": { "video_count": 1, "duration": 5, "SR": 1080, "output_video_duration": 5, "input_video_duration": 0, "ratio": "16:9", "billed_seconds": 5, "billing_bucket": "1080p" }
}

output.video_urlapi.hop-base.com 上の署名付き URL で、タスク完了時点から 6 時間有効です。再度照会しても同じ URL が返るだけで有効期限は延長されず、期限切れの URL は 410 を返すため、この時間内に結果をダウンロードしてください。usage.ratio は実際に生成されたアスペクト比を返しますが、リクエストの列挙値ではなく生の寸法(例:1632:937)になることがあります。

失敗したタスクは output.message に理由が示され、課金は一切発生しません。

{ "output": { "task_id": "blt60x...", "task_status": "FAILED", "code": "TaskFailed", "message": "..." } }

共通の残高・タイムアウトルール

Wan 3.0 または HappyHorse の動画タスクを送信する際は、「利用可能残高 − 実行中タスクの見積もり額 − 今回のリクエストの見積もり額」で判定され、不足している場合は codeinsufficient_balance の 402 が返ります。見積もり額はタスク終了時に自動的に解放されます。作成から 24 時間経っても完了しないタスクは自動的に失敗扱いになり、これらのタスクを取り消すことはできません。すべての動画ファミリーに共通する詳細は動画生成を参照してください。

課金対象

Alibaba はどちらの系列についても、トークンではなく、解像度ティアによって異なる秒単位の単価で動画の長さに応じて課金します。1 リクエストあたりの課金額は usage.billed_secondsusage.billing_bucket のレートを掛けたものです。usage.SR は生成された動画の解像度ティア(480 / 720 / 1080)を示し、これがレートを決定します。同じティアでも、2 つの系列でレートは異なります。

課金対象となる長さの範囲は両者で異なります。Alibaba は wan3.0-video について、出力だけでなく入力動画にも課金します。課金対象の長さ = 入力動画の長さ + 出力動画の長さとなり、usage.input_video_duration が課金秒数に加算されます。リクエストに動画入力が含まれない場合は 0.0 になります。happyhorse-1.1-* の各モデルは出力のみに課金され、参照から動画を生成する場合、Alibaba のドキュメントでは input_video_duration は固定で 0 と記載されています。

プラン

wan3.0-videohappyhorse-1.1-* の各モデルは、別々の 2 つのモデルファミリーであり、それぞれ別のプラン(万相 3.0 官方直连(Wan 3.0 公式直結)と 快乐马 1.1 官方直连(HappyHorse 1.1 公式直結))から提供されます。そのため、一方に紐づいたキーは他方には到達しません。GET /v1/models で、お使いのキーがどちらのプランに到達するかを確認してください。

料金

公式のリスト価格は料金ページに掲載されています。実際の適用レートはログイン後のモデルカタログに表示され、各リクエストの実際の課金額は利用量レコードで確認できます。

このページの内容