Wan-i2v

Transform static images into animated videos with text prompts

Overview

Wan-i2v (Image-to-Video) animates static images using text prompts to describe the desired motion and scene. It supports 480p and 720p resolutions with smooth frame interpolation, making it perfect for bringing still images to life.

Rate Limit: 30 requests per minute

Category: Image-to-Video

Price:

  • 480p: 0.05 $/video
  • 720p: 0.11 $ / video

Quickstart

Start with uploading an image

curl -X POST "https://api.pruna.ai/v1/files" \
  -H "apikey: YOUR_API_KEY" \
  -F "content=@/path/to/your/file.jpg"

Note: Use -F (form) with @ prefix to upload a file from your local filesystem. The file path should be absolute or relative to your current directory.

Response:

{
  "id": "fqadqq42xq",
  "name": "test.jpg",
  "content_type": "image/jpeg",
  "size": 185093,
  "etag": "\"14e9a51deaac6bee2dd8b5c52d7d0b5f\"",
  "checksums": {
    "sha256": "aa10d5d09bcee5cb5d854bd81899308b0cf0c0c50e29d4f00c2c06e51f0e2fe6"
  },
  "metadata": {
    "content_length": 185093,
    "width": 1344,
    "height": 768
  },
  "created_at": "2025-01-08T18:51:26.729Z",
  "expires_at": "2025-01-09T18:51:26.729Z",
  "urls": {
    "get": "https://api.pruna.ai/v1/files/fqadqq42xq"
  }
}

Then pass that image in the "image" field

curl -X POST 'https://api.pruna.ai/v1/predictions' \
  -H 'Content-Type: application/json' \
  -H 'apikey: YOUR_API_KEY' \
  -H 'Model: wan-i2v' \
  -d '{
    "input": {
      "image": "https://your-image-url.com/photo.jpg",
      "prompt": "The camera slowly pushes in, the person turns their head and smiles, gentle wind moves their hair",
      "num_frames": 81,
      "resolution": "720p",
      "frames_per_second": 16
    }
  }'

Note: The image parameter should be a publicly accessible URL. You can upload files using the /v1/files endpoint first.

Parameters

Required Parameters

ParameterTypeDescription
promptstringDescription of the desired animation and camera movement
imagestring (URI)URL of the input image to animate

Video Parameters

ParameterTypeDefaultDescription
num_framesinteger81Number of video frames (81-121). 81 frames give the best results
resolutionstring"480p"Video resolution: "480p" (832x480px 16:9) or "720p" (1280x720px)
frames_per_secondinteger16Frame rate (5-30 fps). Pricing is based on 16 fps duration
interpolate_outputbooleantrueEnable frame interpolation for smoother motion (30 FPS)
go_fastbooleantrueEnable fast processing mode

Advanced Parameters

ParameterTypeDefaultDescription
last_imagestring (URI)-Optional ending image for smoother transitions
sample_shiftnumber12.0Sample shift factor (1.0-20.0)
lora_scale_transformernumber1.0LoRA scale for transformer
lora_scale_transformer_2number1.0LoRA scale for transformer_2
lora_weights_transformerstring (URI)-Custom LoRA weights URL (.safetensors)
lora_weights_transformer_2string (URI)-Second custom LoRA weights URL
seedintegerrandomRandom seed for reproducibility
disable_safety_checkerbooleanfalseDisable safety checker