Skip to main content
AlibabaMediumHigh

Wan 2.7 I2V

Alibaba Wan 2.7 image-to-video model. Animates a first frame (and optional last frame or continuation clip) with audio synchronization, up to 15 seconds, at 720p or 1080p.

1740 credits
per second, tiered by resolution
Image-to-video animation from a first frame
Optional last-frame targeting or continuation from an existing video clip
Audio synchronization for voice and music (auto-generated or user-supplied)
Automatic prompt expansion
720p/1080p output, up to 15 seconds

Run it right now

Test this model instantly in the Console Playground โ€” no code required

Sign in to try

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

Quick Start

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "wan-video/wan-2.7-i2v",
  "input": {
    "first_frame": "https://example.com/product-shot.jpg",
    "prompt": "The product slowly rotates on a reflective surface as soft studio light sweeps across it.",
    "resolution": "1080p",
    "duration": 5
  }
}'

Parameters

ParameterTypeRequiredDefaultDescription
promptstringNo-Text prompt for video generation
first_framestringNo-First frame image to animate into video (jpg/png/bmp/webp, โ‰ค20MB)
last_framestringNo-Last frame image for first-and-last-frame video generation (jpg/png/bmp/webp, โ‰ค20MB). Requires first_frame.
first_clipstringNo-Video clip to continue from (mp4/mov, 2-10s, โ‰ค100MB). Cannot be combined with first_frame.
audiostringNo-Audio file (wav/mp3, 3-30s, โ‰ค15MB) for voice/music synchronization. If not provided, the model auto-generates matching audio.
negative_promptstringNo-Negative prompt โ€” describes content that should not appear in the video
resolutionstringNo1080pOutput video resolution
720p1080p
durationintegerNo5Duration of the generated video in seconds
enable_prompt_expansionbooleanNotrueAutomatically expand and optimize the prompt for better results. Improves quality for short prompts but increases latency.
seedintegerNo-Random seed for reproducible generation. Range: 0-2147483647

How to Provide File Input

There are 3 ways to provide files for the first_framelast_framefirst_clipaudio parameters:

Recommended

Direct Upload (Multipart)

Attach files directly to POST /v1/predictions/upload. No separate upload step needed.

curl -X POST "https://api.core.today/v1/predictions/upload" \
  -H "X-API-Key: cdt_your_api_key" \
  -F "model=wan-video/wan-2.7-i2v" \
  -F 'input={"prompt":"your prompt here"}' \
  -F "file:first_frame=@your_file.png"

Image URL

Pass a publicly accessible URL directly. You can also use file_url from the Storage API.

{
  "model": "wan-video/wan-2.7-i2v",
  "input": {
    "prompt": "your prompt here",
    "first_frame": "https://example.com/image.jpg"
  }
}
See the File Upload docs for more upload methods including Presigned URLs.

Common Parameters

Common parameters used when calling POST /v1/predictions.

ParameterTypeRequiredDefaultDescription
modelstringYes-Model identifier
inputobjectYes-Object containing the model-specific parameters from the table above
output_folderstringNo-Folder path for output files (max 256 chars, '..' not allowed)
webhook_urlstringNo-Webhook URL to call on completion
is_publicbooleanNofalseIf true, output files are also available via permanent public URLs

Examples

Animate a product photo

Turn a static product image into a short animated video clip.

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "wan-video/wan-2.7-i2v",
  "input": {
    "first_frame": "https://example.com/product-shot.jpg",
    "prompt": "The product slowly rotates on a reflective surface as soft studio light sweeps across it.",
    "resolution": "1080p",
    "duration": 5
  }
}'

First-and-last-frame transition

Generate a controlled transition between two images using first and last frame anchors.

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "wan-video/wan-2.7-i2v",
  "input": {
    "first_frame": "https://example.com/scene-day.jpg",
    "last_frame": "https://example.com/scene-night.jpg",
    "prompt": "Time gradually shifts from day to night over the same landscape.",
    "duration": 8
  }
}'

Tips & Best Practices

1first_clip lets you continue an existing video instead of starting from a single frame โ€” but it can't be combined with first_frame.
2last_frame requires first_frame to already be set; use both together for controlled first-and-last-frame transitions.
3Leave `audio` empty to let the model auto-generate matching sound.
4duration can go up to 15 seconds, billed proportionally more at the per-second rate for longer clips.

Use Cases

Animating product photos or illustrations into short video clips
First-and-last-frame video generation for controlled transitions
Extending an existing short video clip with a new continuation
Multilingual voice-synced content driven by a static image