WaveSpeedAI APIWavespeed AIWan 2.2 Image To Video

Wan 2.2 Image To Video

Wan 2.2 Image To Video

Playground

Try it on WavespeedAI!

Wan 2.2 Image-to-Video turns a single image into smooth, cinematic motion with clean detail—ideal for storyboards, mood shots, and product demos. Ready-to-use REST inference API, best performance, no cold starts, affordable pricing.

Features

Wan 2.2 — Image-to-Video (I2V)

Wan 2.2 is a next-gen I2V model built on a Mixture-of-Experts denoising architecture. It turns a single still image into a smooth, cinematic short video with strong prompt adherence and stable motion.


Why it looks great

  • Film-grade control: Understands lighting, color, composition, and camera language for cohesive scenes.
  • Stable large motion: Handles fast subject/camera movement with fewer jitters or tears.
  • Accurate semantics: Follows detailed prompts in complex, multi-object scenes.
  • Pure I2V workflow: No start/end keyframes required—one reference image is enough.

Inputs & Parameters

  • image (required): Reference image to lock identity, layout, and style.
  • prompt (required): Scene mood, motion, and camera cues (e.g., “slow dolly-in, warm rim light”).
  • negative_prompt (optional): Things to avoid (e.g., “text, watermark, distortion”).
  • size: 832×480 or 1280×720.
  • duration: 5 s or 8 s.
  • seed: Integer; fixed for reproducibility, −1 for random.
  • last_image (optional): The last frame of the video.

How to Use

  1. Upload the image.
  2. Add a concise prompt (subject + environment + motion + lighting).
  3. Choose size (480p/720p) and duration (5 s/8 s).
  4. (Optional) Set negative_prompt and seed.
  5. Run and download.

Pricing

Duration832×480 (480p)1280×720 (720p)
5 s$0.15$0.30
8 s$0.24$0.48

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.2/image-to-video" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "resolution": "480p",
    "duration": 5,
    "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.
resolutionstringNo480p480p, 720pThe resolution of the generated media.
negative_promptstringNo-The negative prompt for the generation.
last_imagestringNo--The last image for generating the output.
durationintegerNo55, 8The duration of the generated media in seconds.
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

© 2025 WaveSpeedAI. All rights reserved.