Skip to content

Wan-2.2 Animate Move

Integrate

Model id wan/v2.2-14b/animate/move
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/wan/v2.2-14b/animate/move?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Files like the example: $0.75 750 API credits your files are measured before the run Run it on this page

Get API key
Alibaba Video to Video up to 720p #video-to-video#motion

Animates a character image by copying the movement and expressions from a reference video

Made on Doitong

Public works made with Wan-2.2 Animate by the Doitong community. Reuse a prompt in one click.

Public works shown: 2
Create a realistic cinematic UGC-style commercial video, exactly 30 seconds long. The entire scen... Video

Create a realistic cinematic UGC-style commercial video, exactly 30 seconds long. The entire scene takes place inside a modern passenger airplane during a daytime flight. Natural smartphone-like cinematography, realistic airplane cabin, authentic passengers, natural lighting, realistic skin...

Реалистичная бытовая сцена в советской одесской квартире зимним вечером. Женщина находится на кух... Video

Реалистичная бытовая сцена в советской одесской квартире зимним вечером. Женщина находится на кухне, мужчина — в комнате и прихожей. Атмосфера обычной советской семьи перед приходом гостей. Голоса: все персонажи говорят по-русски с естественным, выразительным одесским говором. Характерная...

Build a request

Controls are generated from the model schema. The code and the price update as you change them.

•required video_url
Drop a file, or

Input video's URL.

•required image_url
Drop a file, or

Source image URL, with the selected aspect ratio determining whether preprocessing is needed: a mismatch triggers resizing followed by a center crop.

resolution default 480p

Output video resolution: 480p, 580p, or 720p.

Advanced video_quality · video_write_mode · guidance_scale · num_inference_steps · shift · seed · enable_safety_checker · enable_output_safety_checker · return_frames_zip · use_turbo
video_quality default high

Output video quality setting that trades larger files for improved visuals as the setting increases.

video_write_mode default balanced

Video writing mode, with balanced offering a compromise between speed and quality. Choose small for the smallest files and slowest writing; faster writing returns results sooner but creates larger files.

default 1

Classifier-free guidance strength, trading possible quality loss for closer prompt matching as the scale increases.

default 20

Sampling step count, trading longer processing time for better quality as the count increases.

default 5

Video shift setting, with an allowed range of 1.0–10.0.

Seed that makes generation reproducible. Setting it to None selects a seed randomly.

POST /run/wan/v2.2-14b/animate/move?wait=20 quote → $0.75
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/wan/v2.2-14b/animate/move?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    "image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  }'

# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
  -H "Authorization: Bearer $DOITONG_API_KEY"

Run this request

Your key stays in this browser: it is sent only to the Doitong API and saved (localStorage) only if you tick Remember. Get an API key

About Wan-2.2 Animate Move

Takes a source `video_url` and a character `image_url` and produces a video where the pictured character follows the motion and expressions of the video. Output `resolution` is 480p, 580p or 720p. The image is resized and center cropped if it does not match the aspect ratio. Optional `use_turbo` and `return_frames_zip` give a faster mode and a lossless per-frame archive.

Parameters

Send either the canonical name or the native name, not both. Canonical names

NameType DefaultAllowed Description
video_urlrequired video
Typeurl · video
Input video's URL.
image_urlrequired image
Typeurl · image
Source image URL, with the selected aspect ratio determining whether preprocessing is needed: a mismatch triggers resizing followed by a center crop.
guidance_scaleoptional
Typenumber
Default1
1 – 10
Classifier-free guidance strength, trading possible quality loss for closer prompt matching as the scale increases.
resolutionoptional
Typeenum
Default480p
480p580p720p
Output video resolution: 480p, 580p, or 720p.
seedoptional
Typeinteger | null
Seed that makes generation reproducible. Setting it to None selects a seed randomly.
num_inference_stepsoptional
Typeinteger
Default20
2 – 40
Sampling step count, trading longer processing time for better quality as the count increases.
enable_safety_checkeroptional
Typeboolean
Defaultfalse
Input safety screening before processing, which only authorized accounts may turn off. Requests lacking authorization are always screened; otherwise, true enables screening.
enable_output_safety_checkeroptional
Typeboolean
Defaultfalse
Controls safety screening of the generated video; setting true enables a check after generation.
shiftoptional
Typenumber
Default5
1 – 10
Video shift setting, with an allowed range of 1.0–10.0.
video_qualityoptional
Typeenum
Defaulthigh
lowmediumhighmaximum
Output video quality setting that trades larger files for improved visuals as the setting increases.
video_write_modeoptional
Typeenum
Defaultbalanced
fastbalancedsmall
Video writing mode, with balanced offering a compromise between speed and quality. Choose small for the smallest files and slowest writing; faster writing returns results sooner but creates larger files.
return_frames_zipoptional
Typeboolean
Defaultfalse
Include an additional lossless frame-image export by setting this to true. The images are generated on the GPU and packaged in a ZIP archive.
use_turbooptional
Typeboolean
Defaultfalse
Quality enhancement toggle that, when true, automatically optimizes parameters for the best results, combining faster generation with better quality.
required Canonical name, also accepted

File parameters take a public https:// URL, a data: URI up to 10 MB, or the file_url of an upload. Files

Output

GET /requests/req_8k2m4q7x1z9c3v5b6n0p2r4t
{
  "id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
  "object": "request",
  "model": "wan/v2.2-14b/animate/move",
  "status": "succeeded",
  "created_at": "2026-10-20T12:00:00Z",
  "started_at": "2026-10-20T12:00:02Z",
  "completed_at": "2026-10-20T12:00:09Z",
  "queue_position": null,
  "cost": {
    "credits": 750,
    "usd": "0.75",
    "charged": 750,
    "refunded": 0
  },
  "input": {
    "video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
    "image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
  },
  "output": {
    "video": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    },
    "frames_zip": {
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_name": "0-output.mp4",
      "file_size": 1843200
    },
    "prompt": "",
    "seed": 42
  },
  "outputs": [
    {
      "type": "video",
      "url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
      "content_type": "video/mp4",
      "file_size": 1843200,
      "width": 1280,
      "height": 720,
      "duration": 5,
      "stored": true
    }
  ],
  "error": null,
  "metrics": {
    "inference_seconds": 6.8
  },
  "urls": {
    "self": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
    "cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
  }
}
Your files, your choiceEvery outputs[].url is a copy on our storage: kept forever (paid per GB-month) or 7 days for free, by your account setting or ?storage=.
Same shape on every modeltype, url, content_type, width, height and duration, for images, video and audio alike. output is the model’s own result object.
Fields of output
video
object {url, content_type, file_name, file_size}Video file produced by generation.
frames_zip
object {url, content_type, file_name, file_size} | nullZIP file containing generated frames, provided when requested.
prompt
stringModel-created prompt that was used to generate the result.
seed
integerSeed value used during generation.

More models: Video to Video

For AI agents: this page as Markdown is at https://doitong.com/developers/models/wan/v2.2-14b/animate/move.md. All models and guides: https://doitong.com/developers/llms.txt