はじめに
Wan 2.2 Animate は、確定済みのキャラクター画像と、別に用意した動きの参照動画から、そのキャラクターが演じる新しいクリップを作ります。見た目と動きがすでに別々の素材で決まっていて、1 つの素材に両方を求めたくないときに使います。
モードは 2 つあります。animation_mode を animate にすると、画像のキャラクターが元動画の動きで動きます。replace にすると、元動画の人物が画像の人物に置き換わり、動画のシーンはそのまま残ります。出力は元動画と同じ 2〜30 秒で、解像度は 480p か 720p です。
主な機能とハイライト
長いプロンプトより、きれいな A ポーズ
公開している参照画像は、このエンドポイントが求める画像そのものです。全身がフレームに収まり、ニュートラルな A ポーズで、継ぎ目のない背景に均一な光が当たっています。出力の見た目はすべてこの画像から来ます。見切れていたり大きく隠れていたりする画像は、そこから作るすべてのクリップの限界になり、プロンプトでは取り戻せません。
クリップの長さは元動画と同じ、最長 30 秒
出力は元動画と同じ長さで、元動画は 2〜30 秒である必要があります。2 分の素材なら先に切り詰めてください。課金は見積もりに使った上限ではなく実際に納品された秒数に基づくので、アップロード前に元動画を切り詰めることが、コストを直接抑える方法です。
720p を払う前に 480p で似ているかを確認
公開しているクリップは、同じ画像を参照動画で動かしたものです。同じバーガンディのトップス、同じワイドパンツのまま、今度は回転の途中です。解像度は料金帯で、720p は 480p より 1 秒あたりの料金が高いので、まず使える最短の元動画を使い、480p で人物の同一性とシルエットが保たれるかを確認しましょう。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
animation_mode | いいえ | Animate は画像のキャラクターを駆動動画の動きで動かします。Replace は駆動動画の人物を画像のキャラクターに差し替え、場面はその動画のまま残します。 |
image_url | はい | キャラクター画像です。ここに写っている人物が動かされるので、シルエットのはっきりした、均一な光の全身プレートを使ってください。 1 文字以上 |
video_url | はい | 駆動動画です(2〜30 秒)。MP4 をアップロードするか、MP4 または MOV の URL を指定してください。 1 文字以上 |
resolution | いいえ | 480p か 720p、既定は 720p で、単価の段でもあります。480p で転送を証明してから、出すつもりのテイクを再レンダリングしてください。 |
prompt | いいえ | 任意、最大 2000 文字。アニメーションの作風と内容を導きます。 2000 文字以内 |
seed | いいえ | 0〜2147483647。0 はランダム seed の要求です。 |
料金
出力の長さはドライビング動画に合わせられ、その秒数で課金されます。
| 仕様 | 料金 |
|---|---|
| $0.053 / 秒 |
| $0.11 / 秒 |
ユースケース
既存の映像にキャラクターを入れる
animation_mode を replace にすると、映像自体のシーンは保ったまま、元動画の人物が画像のキャラクターに置き換わります。ロケーションはすでに動画としてあり、演じる人だけを変えたいときに使います。
1 枚のキャラクターシートから短いループを
最長 30 秒あれば、フィード用のループ、スタンプ、リアクションクリップに十分です。画像は 1 枚のまま元動画を差し替えれば、手を振る、振り向く、肩をすくめるといったジェスチャーのライブラリができ、同じ参照画像を共有しているのでどれも同じキャラクターに見えます。
ダンスやパフォーマンス
キャラクター画像と、求める振り付けの元動画を用意します。衣装と体型は画像で固定され、タイミング、重心、カメラは映像から来ます。制約になるのは権利です。画像と元動画の両方の権利が必要で、結果の使い方にはお客様が責任を負います。
長いレンダリングの前に画像を試す
480p で 5 秒の転写を試し、新しいキャラクター画像が動いても顔、手、シルエットを保てるかを確認します。30 秒の本番に使う前に、出来の悪い画像を最も安く見極める方法です。
プロンプトガイドと実践のヒント
キャラクター画像を作る
全身がフレームに収まり、ニュートラルなポーズで、無地の背景に均一な光を当てます。この画像が、それで動かすすべてのクリップの顔、衣装、プロポーションを決めるので、いくつか作って選び抜く価値があります。画像から顔や人物が見つからない場合、タスクは invalid_request で拒否されます。公開している画像は次のプロンプトから作りました。「Full-body studio photograph of an adult female dancer standing in a neutral A-pose against a seamless grey backdrop, wearing a cropped burgundy tank top and high-waisted wide-leg trousers, barefoot, hair tied back, even soft studio lighting, sharp full-length framing, clean reference plate for character animation.」
元動画を必要な秒数に切り詰める
出力の長さは元動画と同じで、元動画は 2〜30 秒である必要があり、料金は納品された秒数に対してかかります。MP4 をアップロードするか、MP4 または MOV ファイルへの直接リンクを渡してください。動画を再生するだけの Web ページはファイルではないため呼び出しは失敗し、料金は返金されます。
プロンプトは人物ではなくスタイルに使う
prompt は任意で、最大 2000 文字です。アニメーションのスタイルと内容を導くもので、人物の同一性はキャラクター画像が担います。同じ元動画で 2 回の実行を比べたいときは seed を固定します。
繰り返す前に結果を確かめる
2 つの入力はどちらも必須で、入れ替えはできません。人物は画像から、動きは動画から来ます。animate モードでは背景はキャラクター画像のまま残ります。参照の実行では元動画はキッチンで撮影されていましたが、結果は画像のグレーのスタジオ背景のままで、引き継がれたのは動きとカメラだけでした。長い素材が圧縮されることはないので、アップロード前に切り詰めてください。
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-animate/character-animation",
"input": {
"animation_mode": "animate",
"image_url": "https://example.com/reference.png",
"resolution": "720p",
"video_url": "https://example.com/reference.mp4"
}
}'
# 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 リファレンスを参照してください。




























