Wan 2.1 I2V 480p

Wan 2.1 I2V 480p

Playground

Try it on WavespeedAI!

Wan 2.1 i2v-480p turns images into unlimited 480p AI videos with the Wan 2.1 image-to-video model, perfect for fast content creation. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

WAN 2.1 Image-to-Video 480p — wavespeed-ai/wan-2.1/i2v-480p

wavespeed-ai/wan-2.1/i2v-480p animates a single image into a short, smooth 480p video clip with natural motion, stable framing, and strong prompt control—ideal for fast I2V iteration and lightweight production previews.

What it’s good at

  • Turning a still image into a 5–10s video with coherent motion
  • Subtle, natural gestures (talking-to-camera, nods, hand movement)
  • Smooth camera feel (gentle push-in, slight handheld, slow pan) without over-shaking
  • Quick story beats for ads, explainers, and social clips at 480p

Playground inputs

  • Image (required): the source frame to animate
  • Prompt (required): describe subject, action, environment, and camera
  • Negative prompt (optional): reduce blur, jitter, artifacts, unwanted styles
  • Size: 480p
  • Duration: 5s or 10s

Prompting guide for natural I2V

Write like a director’s brief:

  • Subject: who is in frame
  • Action: what they do (small, realistic verbs work best)
  • Environment: lighting + background
  • Camera: framing + motion style
  • Motion quality: smooth, natural, stable

Example prompt (talking head / business): A confident young tech professional standing in a modern office, talking to the camera with calm hand gestures. Soft daylight, clean environment, business casual outfit, focused expression. Center frame, smooth motion, natural micro-expressions.

Negative prompt suggestions: blurry, jittery, shaky camera, low quality, distorted face, warped hands, inconsistent motion

Use cases

  • Product demos: bring a hero image to life with subtle motion and camera polish
  • Corporate explainers: talking-to-camera clips from a portrait-style photo
  • Social ads: quick 5-second motion posts for faster iteration
  • Concept validation: test prompts and motion direction cheaply before higher resolutions

Pricing

ModelResolutionDurationPrice per run
wavespeed-ai/wan-2.1/i2v-480p832×4805s$0.20
wavespeed-ai/wan-2.1/i2v-480p832×48010s$0.30

Notes

  • For the most stable faces, keep actions subtle (talk, nod, small gestures) and avoid extreme head turns.
  • If motion looks too “busy,” describe a calmer camera style (locked-off, slow push-in, gentle handheld).
  • If details smear, add stronger constraints in the prompt (center frame, steady, smooth motion) and use a negative prompt that targets blur/jitter.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/wan-2.1/i2v-480p" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "size": "832*480",
    "num_inference_steps": 30,
    "duration": 5,
    "guidance_scale": 5,
    "flow_shift": 3,
    "seed": -1
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
imagestringYes-The image for generating the output.
promptstringYes-The positive prompt for the generation.
negative_promptstringNo-The negative prompt for the generation.
sizestringNo832*480832*480, 480*832The size of the generated media in pixels (width*height).
num_inference_stepsintegerNo301 ~ 40The number of inference steps to perform.
durationintegerNo55 ~ 10The duration of the generated media in seconds.
guidance_scalenumberNo50.00 ~ 20.00The guidance scale to use for the generation.
flow_shiftnumberNo31.0 ~ 10.0The shift value for the timestep schedule for flow matching.
seedintegerNo-1-1 ~ 2147483647The random seed to use for the generation. -1 means a random seed will be used.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content (empty when status is not completed).
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.