Image-to-VideoSeedance 2.0First-Last Frame

Seedance 2.0 Image-to-Video — Animate Static Images

Use seedance-2.0-image-to-video to drive 1 image as a first frame or 2 images as a first-last-frame transition, generating 4–15 second videos.

720p
Max Resolution
30MB
Max Image Size
1–2
Image Inputs
30-60s
Generation Time

What Is Image-to-Video?

Seedance 2.0's image-to-video capability transforms static images into dynamic video with natural, realistic motion. Behavior is determined by the number of images you pass:

  • 1 imageFirst-frame mode: the image becomes the video's first frame; the model generates motion forward
  • 2 imagesFirst-last-frame mode: the first image opens, the second closes; the model generates the transition between them

Model ID: seedance-2.0-image-to-video (for faster generation and lower cost, use seedance-2.0-fast-image-to-video)

How It Works

  1. Prepare images (JPEG, PNG, or WebP, ≤ 30 MB each)
  2. Write the motion prompt — describe how the scene should come alive
  3. Send the API request — pass the image URL array and motion description
  4. Get a task ID — wait for generation to complete

Image Input Requirements

ConstraintLimit
Count1 or 2 images
Format.jpeg, .png, .webp
Dimensions300–6000 px per side
Aspect ratio0.4 – 2.5
Max size per image≤ 30 MB
Upload methodPublic URL (no Base64 inlining)

Realistic human faces are rejected automatically.

API Reference

import requests

# First-frame mode (1 image)
response = requests.post(
    "https://api.evolink.ai/v1/videos/generations",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "model": "seedance-2.0-image-to-video",
        "prompt": "The person slowly turns their head and smiles",
        "image_urls": ["https://example.com/photo.jpg"],
        "quality": "720p",
        "duration": 5,
        "aspect_ratio": "adaptive"
    }
)

# First-last-frame transition (2 images)
response = requests.post(
    "https://api.evolink.ai/v1/videos/generations",
    headers={"Authorization": "Bearer YOUR_API_KEY"},
    json={
        "model": "seedance-2.0-image-to-video",
        "prompt": "Smooth transition from sunrise to sunset over the same ocean",
        "image_urls": [
            "https://example.com/sunrise.jpg",
            "https://example.com/sunset.jpg"
        ],
        "quality": "720p",
        "duration": 6
    }
)

Full parameter reference: Image-to-Video API docs.

Need More Than 2 Images?

If you want to use 3+ images as mixed references (style + character + scene), use seedance-2.0-reference-to-video instead — it supports up to 9 images + 3 videos + 3 audio clips of multimodal composition.

Use Cases

  • E-commerce: Turn product photos into compelling video ads
  • Social media: Animate brand assets for Stories and short-form content
  • Real estate: Bring property photos to life through virtual walkthroughs
  • Art & design: Breathe life into illustrations and artwork

Start Building with Seedance 2.0 Image-to-Video

Get your free API key and generate your first video.