はじめに
Wan 3.0 画像から動画 は、用意した静止画を動かします。image_url はそのまま最初のフレームとして使われるので、衣装、身体、セット、光の向きは画像から引き継がれ、プロンプトには動きだけを書けば済みます。プロンプトは省略でき、書かなければモデルが自分でフレームを動かします。任意の last_image_url を渡すと、最後のフレームを正確に固定できます。クリップは 480p・720p・1080p で 2〜30 秒、生成音声は既定でオンです。モードの中で最も文字どおりに従うモードなので、出力を文言どおりにしたいときは見た目を画像に任せ、プロンプトは動きに使ってください。
開始素材に応じてモードを選ぶ
| 開始素材 | モード |
|---|---|
| 書いたブリーフから、場面、行動、カメラ、必要に応じて音を組み立てます。 | Wan 3.0 テキストから動画 |
| 承認済みの開始画像が被写体と構図を決め、指示文がその後の動きを導きます。 | Wan 3.0 画像から動画 |
| 別々の参照素材に、人物、場所、動き、音の役割を明確に割り当てられます。 | Wan 3.0 参照から動画 |
主な機能とハイライト
開始フレームが画質の上限を決めます
最初のフレームは用意した画像そのものなので、そのシャープさ、ライティング、構図がクリップの上限になります。使える画像は JPEG、透過なしの PNG、BMP、WEBP で、1 辺 240〜8000 ピクセル、縦横比は 8:1 以内、最大 20 MB です。aspect_ratio を省くとクリップは画像の形を引き継ぎ、合わない比率を指定するとトリミングされます。
終わりのフレームは「目安」ではなく固定です
last_image_url はゆるい手がかりではありません。クリップはその画像でぴったり終わり、image_url と一緒にしか使えません。ボトルのサンプルは同じパックショットを両端に渡しているので、ボトルが 4 分の 1 回転してハイライトがガラスを横切り、ラベルが読める元の角度に戻ってきます。
2 つの固定された瞬間をつなぐ長い尺
両端を渡すと、生成されるのはその間の移り変わりだけです。屋上のサンプルは、オープンホールドを最初のフレーム、ディップの最下点を最後のフレームに固定し、その間の 5 秒を 720p でモデルが埋めています。このエンドポイントの duration_seconds は最大 30 なので、同じ 2 枚でもっと長い動きを挟むこともできます。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
prompt | いいえ | 任意です。省略すると、モデルが開始フレームをもとに自ら動きを付けます。 1 文字以上 |
image_url | はい | 開始フレームで、そのまま最初のフレームとして使われ、カットの実質的な画質の上限にもなります。衣装、身体、セット、光の向きはここから引き継がれるので、プロンプトは動きだけを運べば済みます。 |
last_image_url | いいえ | 任意で、 |
aspect_ratio | いいえ | 16:9、9:16、1:1、4:3、3:4、adaptive から選びます。adaptive はモデルに選ばせる指定です。 |
enable_thinking | いいえ | 生成の前に、指示と参照素材をモデルにじっくり読み込ませます。長いドキュメントや Web ページ、複雑な参照画像に向いていますが、処理は遅くなります。 デフォルト値: |
resolution | いいえ | 480p、720p、1080p。既定は 720p。 |
duration_seconds | いいえ | 2〜30 の任意の整数秒、または -1 でスマート尺です。スマート尺ではモデルが長さを決め、上限の 30 秒分を先に確保して、実際に出力された長さで精算します。 |
generate_audio | いいえ | 既定でオン。映像に固定された音付きでクリップが返ります。 デフォルト値: |
enable_prompt_expansion | いいえ | 既定でオフ。オンにすると生成前にプロンプトが書き直され、薄いブリーフには効き、詳細なブリーフとは喧嘩します。 デフォルト値: |
seed | いいえ | 0〜2147483647。1 フィールドずつ比べるときは固定し、幅が欲しいときは外してください。 |
料金
| 仕様 | 料金 |
|---|---|
| $0.045 / 秒 |
| $0.09 / 秒 |
| $0.18 / 秒 |
ユースケース
決めの角度に戻る商品の回転
パックショットでは、承認済みの画像を最初と最後の両方のフレームに渡し、カメラを固定して動きを 1 つだけ書きます。ボトルのサンプルは左からのソフトなキーライト 1 灯、音楽なし(generate_audio を false)、シードは 20260907 に固定しています。こうしておくと、文言を少し変えて同じ動きを再実行し、2 つのファイルを見比べるのが簡単です。
文言どおりに動くスタイリング済みのショット
衣装、身体、セットを承認したとおりに見せたいときは、開始フレームに入れておきます。窓辺で振り向くサンプルはシルクのシュミーズ姿の女性の静止画から始まり、プロンプトではレンズのほうへ振り向く動き、光の前を流れる薄いカーテン、夜明けの光が強まるなかでのゆっくりしたプッシュインだけを書いています。クリップは 1080p で 5 秒、音声付きです。
プロンプトガイドと実践のヒント
見えているものではなく、変わるものを書く
画面にすでにあるものはすべて引き継がれるので、それを書き直すと動きに使うべき言葉が減ります。誰が、または何が、どの方向にどれくらいの速さで動くのかを書き、そのあとカメラの動きを書きます。例:「The bottle rotates a quarter turn so the highlight travels across the glass, then returns to its starting angle. Locked camera, single soft key from the left, no music.」
2 枚のフレームを対として用意する
last_image_url を加えるときは、両方の画像を同じトリミング、同じセットで作り、片方がどうやってもう片方になるかをプロンプトで説明します。屋上のサンプルは、オープンホールドで踊る 2 人の開始フレームと、同じ 2 人が同じ屋上、同じカメラ位置でディップを決めた終わりのフレームを組み合わせ、プロンプトにはその間の動きだけを書いています。彼が手を引いて彼女を引き寄せ、そのまま後ろへ倒していく。カメラは固定のままです。
両端だけでなく中間も確認する
最後のフレームが一致しても、自然な移り変わりの証明にはなりません。開始、中間、終わりの各時点で人物と形を確認し、崩れている場合は尺を延ばす前に同時に起きる動きを減らしてください。まず 5 秒で動きを固めてから延ばし、細かい動きの指示が書いたとおりに実行されるよう、enable_prompt_expansion は既定の false のままにしておきます。
API クイックスタート
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/wan-3.0/image-to-video",
"input": {
"duration_seconds": 5,
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "720p"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。



























