88API88API
使用ガイドAIアプリケーションAPIリファレンスヘルプとサポート
ビデオ(Video)

Wan 動画 API 仕様

wan3.0-video と wan3.0-video-prime の呼び出し仕様。

このページは、Alibaba の Wan(万相)動画モデル wan3.0-video、wan3.0-video-prime の呼び出し仕様です。これらのモデルは、他の動画モデルと同じく POST /v1/videos で作成し、GET /v1/videos/{id} でポーリングします。認証、素材のアップロード、ポーリングのステータス、結果のダウンロード、エラー処理は動画 API 完全呼び出し仕様を参照してください。このページでは、Wan に固有のフィールドとルールだけを説明します。Wan は POST /v1/responses でも送信できます。下記「Responses API での呼び出し」を参照してください。

2026-10-12 更新。従来の wan3.0-video-480p、wan3.0-video-720p、wan3.0-video-1080p は wan3.0-video に統合され、解像度は resolution で選びます。開始フレーム・終了フレーム・参照素材はトップレベルの media 配列(first_frame、last_frame、reference_image など)で送ることをおすすめします。metadata.firstFrame、metadata.lastFrame、metadata.referenceImages、metadata.referenceVideos、metadata.referenceAudios(metadata.first_frame などのスネークケースも可)とトップレベルの firstFrame/first_frame、lastFrame/last_frame も使え、いずれも media に変換されます(media との同時送信は不可)。読み取れない素材フィールドは 400 エラーになります。Wan はポーリングのみに対応しています。callback_url は設定しないでください。

モデル一覧

モデル解像度長さアスペクト比参照素材の上限
wan3.0-video480P / 720P / 1080P、デフォルト 1080P-1 または 2–30 秒、デフォルト 5 秒adaptive 16:9 9:16 1:1 4:3 3:4 21:9、デフォルト adaptive画像 10/動画 5/音声 5
wan3.0-video-prime同上同上同上同上

2 つのモデルの機能は同じです。解像度、長さ、アスペクト比、開始・終了フレーム、マルチ素材参照のルールは共通で、リクエストパラメーターもそのまま使えます。切り替えは model を変えるだけです。違いは生成速度で、wan3.0-video-prime は高速版としてエンドツーエンドの生成が明らかに速く、完成動画をできるだけ早く受け取りたい場合に向いています。wan3.0-video は標準版で、生成時間を急がない場合はこちらで十分です。

共通ルール

  • 解像度:トップレベルの resolution に 480p、720p、1080p のいずれかを指定します(大文字・小文字は問いません)。省略すると 1080P です。ピクセルサイズの size(例:1280x720、1920x1080)でも指定でき、その場合は解像度とアスペクト比が同時に決まります。size にアスペクト比を書くこともでき(例:"size": "9:16")、ratio/aspect_ratio と一致しない場合は 400 が返ります。
  • 長さ:duration(または seconds)に整数の秒数を指定します。-1 はモデルが長さを自動で決めることを表します。
  • アスペクト比:ratio(または同じ意味の aspect_ratio)を使います。両方が一致しない場合は 400 が返ります。adaptive は入力素材に合わせて自動調整することを表します。
  • プロンプト:開始フレームまたは参照素材を指定した場合は prompt を省略できますが、動きやカメラワークを書くことを推奨します。どちらもない場合は 400 が返されます。
  • 任意フィールド:
    • negative_prompt:ネガティブプロンプト
    • prompt_extend:プロンプトを自動で書き換えるかどうか。ブール値で、デフォルトは true
    • watermark:透かしを入れるかどうか。ブール値
    • seed:整数、-1 から 2147483647
{
  "model": "wan3.0-video",
  "prompt": "雨の夜の街を走る銀色のスポーツカー、ローアングルの追従ショット、ネオンの映り込み、映画のような質感",
  "duration": 10,
  "resolution": "1080p",
  "ratio": "16:9"
}

開始フレームと開始・終了フレーム

開始フレームと終了フレームは media 配列に入れます。first_frame が開始フレーム、last_frame が終了フレームです(終了フレームを使う場合は開始フレームも必須)。参照画像も media(reference_image)で送ります。詳しくは次の節を参照してください。

{
  "model": "wan3.0-video-prime",
  "prompt": "早朝の誰もいない広場から、夜に明かりが灯った同じ構図へなめらかに移り変わる",
  "duration": 8,
  "resolution": "720p",
  "media": [
    { "type": "first_frame", "url": "https://cdn.example.com/start.jpg" },
    { "type": "last_frame", "url": "https://cdn.example.com/end.jpg" }
  ]
}

素材フィールドの書き方

media の使用をおすすめします。トップレベルの images/image(1 枚目が開始、2 枚目が終了フレーム)、metadata.firstFrame(または metadata.first_frame)、トップレベルの firstFrame/first_frame なども使えます。読み取れない素材フィールド(例:metadata.image、metadata.images)は 400 になり、media を使うよう案内されます。同じ素材を複数の名前で異なる URL のまま送った場合も 400 になります。

マルチ素材の参照:media 配列

参照画像、参照動画、参照音声は、すべてトップレベルの media 配列に入れます。各要素は { "type": "...", "url": "..." } です。

type用途上限
first_frame開始フレーム1
last_frame終了フレーム。first_frame も必須1
reference_image参照画像10
reference_video参照動画5
reference_audio参照音声5
  • 開始フレーム/終了フレームは、参照画像、参照動画、参照音声と併用できません。
  • media を送った場合は media だけが読み取られます。images、image などのフィールドに media に含まれない素材があると 400 が返ります。開始・終了フレームも media の中に書いてください。
  • 素材 URL は匿名でアクセスできる必要があります。要件は素材 URL の要件を参照してください。ローカルファイルは先にローカル素材のアップロードの手順で URL を取得します。Wan は multipart/form-data によるファイルアップロードを受け付けません。
{
  "model": "wan3.0-video",
  "prompt": "参照画像の人物が参照音声のリズムに合わせて踊り、動きは参照動画のスタイルに合わせる",
  "duration": 10,
  "resolution": "720p",
  "ratio": "9:16",
  "media": [
    { "type": "reference_image", "url": "https://cdn.example.com/dancer.jpg" },
    { "type": "reference_video", "url": "https://cdn.example.com/dance-motion.mp4" },
    { "type": "reference_audio", "url": "https://cdn.example.com/music.mp3" }
  ]
}

Responses API での呼び出し

2 つのモデルは POST /v1/responses でも送信できます。Responses API しか呼び出せないクライアントやワークフロー向けです。/v1/videos と同じ動画タスクが作成され、パラメーターのルールと課金も同じです。

  • プロンプトは input に書きます。文字列でもメッセージ配列でも構いません。メッセージ内の input_text がプロンプトに、input_image が画像素材になり、トップレベルの images と同じルール(1 枚目が開始フレーム、2 枚目が終了フレーム)で扱われます。
  • その他のパラメーター(resolution、duration、ratio、media、negative_prompt など)は、上記と同じ書き方でリクエストのトップレベルに書きます。
  • 結果の受け取り方は 3 通りです:
方式書き方説明
同期待機stream と background を指定しない動画が完成するまで接続を保ち、結果をそのまま返します。最大で約 10 分待ちます。タイムアウトすると "status": "incomplete" が返りますが、タスクは続行中なので、返された id で照会してください
バックグラウンド"background": trueすぐに id を返します(ステータスは queued または in_progress)。その後 status が completed または failed になるまで GET /v1/responses/{id} でポーリングします
ストリーミング"stream": trueSSE で response.created、response.in_progress(進捗付き)を送り、完成時は response.output_text.done と response.completed、失敗時は response.failed を送ります
{
  "model": "wan3.0-video-prime",
  "input": "雨の夜の街を走る銀色のスポーツカー、ローアングルの追従ショット、ネオンの反射、映画的",
  "duration": 5,
  "resolution": "720p",
  "ratio": "16:9",
  "background": true
}

完成すると、動画の URL が output[0].content[0].text に <video controls src="動画の URL"></video> の形式で入ります。src の値を取り出してダウンロードしてください:

{
  "id": "resp_BVQwZLWyXB2dEU99F7nrER7XNJdVh8RS",
  "object": "response",
  "model": "wan3.0-video-prime",
  "status": "completed",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "status": "completed",
      "content": [
        { "type": "output_text", "text": "<video controls src=\"https://...\"></video>" }
      ]
    }
  ],
  "metadata": {
    "task_id": "task_BVQwZLWyXB2dEU99F7nrER7XNJdVh8RS",
    "task_status": "completed"
  }
}

metadata.task_id は対応する動画タスク ID です。GET /v1/videos/{task_id} で同じタスクを照会することもできます。

チャット API では動画を生成できません

/v1/responses に対応しているのは Wan だけです。/v1/chat/completions、/v1/messages、画像生成 API では動画モデルを呼び出せず、400 video_model_wrong_endpoint が返ります。

課金

wan3.0-video と wan3.0-video-prime は公式版で、タスク結果は公式 URL を使います。課金は公式ルールに従います。

課金秒数 = 入力動画の長さ + 出力動画の長さ

  • 入力動画の長さ:実際に送った参照動画の秒数。参照動画がなければ 0。
  • 出力動画の長さ:生成に成功した動画の秒数。
  • 単価は出力解像度(480P / 720P / 1080P)の段階料金。入力動画と出力動画は同じ段階を使う。
  • 参照画像、参照音声、ファイル、ウェブページは課金秒数に含まれない。
  • 参照動画がある場合、または duration が -1 の場合は、作成時に 30 秒分を仮引きし、完了後にモデルプラットフォームが返した入力+出力秒数で精算して差額を戻す。

1 秒あたりの単価はモデル広場の表示に従う。参照動画付きのタスクを出力秒数だけで見積もらないこと。