はじめに
Wan 2.2 画像から動画 は、用意した画像を出発点に、その先に起こることを動画にします。必須の入力は 2 つです。開始フレームになる 10 MB までの JPEG、PNG、WebP 画像と、動きを記述する最大 5,000 文字のプロンプトです。1 回のリクエストで、既定の 480p または 720p の無音の 5 秒クリップが 1 本返ります。
手元の素材で Wan 2.2 のモードを選ぶ
| 手元にあるもの | モード | リクエストに必要なもの |
|---|---|---|
| 書き起こしたシーンや台本 | Wan 2.2 テキストから動画 | プロンプト、16:9 または 9:16 |
| そのまま生かしたい静止画 | Wan 2.2 画像から動画 | 画像とプロンプト、画面比は画像で決まる |
主な機能とハイライト
見た目は画像が決める
被写体、衣装、セット、光の向きはすべて開始画像から引き継がれるため、プロンプトで改めて説明する必要はありません。見た目を一致させる必要がある素材にこのモードが向いているのはそのためです。美容液ボトルの例では、ラベルとシルエットは画像で固定し、プロンプトではカメラの弧の動きと移ろう光だけを指示しています。
画面比は画像で決まる
このエンドポイントにはアスペクト比の設定がありません。いちばん確実なのは 16:9 と 9:16 で、それ以外の比率の画像はリサイズや中央でのトリミングが入って返ることがあります。アップロード前に、納品する形へ画像をトリミングしておいてください。
長さは固定、映像のみ
どのテイクも音のない 5 秒の映像で、長さも音声も変更できません。この 2 つが固定されている分、変えられるのは動きだけです。公開中の例がどれも、ひとつの動き、あるいはひとつの因果関係だけを指示しているのはそのためです。
プロンプト拡張は文面以外も変える
プロンプト拡張の既定値はオフです。オンにすると指示の文面だけでなくレンダリングの見た目まで変わることがあるため、採用する前にオフで実行した結果と比べてください。風鈴と人影の例では、書いた一文がそのまま実行されるようオフのままにしています。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
image_url | はい | 開始フレームです。JPEG、PNG、WebP で 10 MB まで。 1 文字以上 |
prompt | はい | 必須で、最大 5,000 文字です。フレームの後に起こること、つまり動作 1 つとカメラの動き 1 つを書きます。 1 文字以上 · 5000 文字以内 |
negative_prompt | いいえ | 出てはいけないもの。2 人目の人物、字幕、モデルが何度も持ち込む小物などです。 500 文字以内 |
resolution | いいえ | 480p または 720p で、既定は 480p です。料金を変える設定はこれだけです。 |
enable_prompt_expansion | いいえ | 既定はオフです。1 行のアイデアならオンに、すでに具体的な動作を書いているならオフのままにしてください。 デフォルト値: |
seed | いいえ | 0 から 2147483647 までです。同じフレームで 480p と 720p を比べるときに固定してください。 |
料金
1 回のリクエストで 5 秒のクリップが 1 本返ります。
| 仕様 | 料金 |
|---|---|
| $0.24 / リクエスト |
| $0.48 / リクエスト |
ユースケース
製品の静止画を動かす
承認済みの商品写真を送り、製品はその場に置いたまま、カメラの動きか光の変化を指示します。美容液ボトルの例がその型です。カメラがスポイト付きボトルの周りを 4 分の 1 周ゆっくり回り込み、窓からのやわらかな光の帯がガラスの上を滑っていきます。プロンプトには、ボトル自体は動かないと明記しています。
ポートレートから演技を 1 ビート
スリップドレスの例はスタジオで撮ったポートレートから始まり、ひとまとまりの動作だけを指示しています。重心を移し、肩をレンズのほうへ向け、ゆっくり 2 歩進んで、視線を止めます。カメラは固定、グレーのスタジオ背景には手を加えず、720p で生成しています。
原因が見える動き
風鈴と人影の例では、風鈴が回ると、紗のカーテンの向こうにある人影がそれに合わせて動き、カーテンの影が画面を横切っていきます。短い無音のクリップに原因と結果を書き込むと、動きに理由が生まれ、ただのループには見えなくなります。
プロンプトガイドと実践のヒント
プロンプトより先に画像を整える
画像を 16:9 または 9:16 にトリミングし、衣装、セット、光がすでに望みどおりに写っているか確認してください。それを変えるのはプロンプトの役目ではありません。動かしたくないオーバーレイや余計な被写体は取り除き、ファイルは 10 MB 以内に収めます。
開始フレームの後に起こることだけを書く
何が、どの方向へ、どんな速さで動くかを書き、そのあとにカメラの動きを書きます。すでに見えているものを説明し直しても、文字数を使うだけで動きは増えません。一方、動かないボトルのように、止まっていてほしいものを明記する一文は入れる価値があります。
480p で下書きし、720p で納品する
料金が変わるのは解像度だけです。同じ画像から作った 480p の下書きと 720p の再生成を比べるときは、0 から 2147483647 の範囲でシードを固定してください。ランダムに生成したい場合は、0 を送るのではなくシードを省略します。
動作を増やす前にクリップ全体を確認する
冒頭、いちばん大きな動き、最後の 1 秒を見てください。顔、ラベル、輪郭が崩れる場合は、プロンプトを書き直す前に、同時に起こる動きの数を減らします。次のショットで構図を変えたいときは、動きで無理にたどり着かせるのではなく、新しい画像から始めてください。
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-2.2/image-to-video",
"input": {
"image_url": "https://example.com/reference.png",
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "480p"
}
}'
# 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 リファレンスを参照してください。




























