Seedance 2.5 Image to Video
doubao/seedance-2-5/image-to-video
Bring static moments to life. Seedance 2.5 features exceptional Image-to-Video capabilities, deeply analyzing spatial structures and textures to transform still images into nuanced, natural motion, making every photo the opening scene of a movie.
Examples
Parameters
| Name | Type | Default | Constraints | Description |
|---|---|---|---|---|
| first_frame *First frame | image_upload | — | image/* · 0–1 items | The first frame of the generated video |
| last_frameLast frame | image_upload | — | image/* · 0–1 items | The last frame of the generated video |
| promptPrompt | textarea | — | — | The positive prompt for the generation. |
| generate_audioGenerate Audio | boolean | true | — | Enable synchronized audio for generated video |
| resolutionResolution | select | 720p | 480p | 720p | 1080p | Video Resolution |
| ratioAspect Ratio | select | adaptive | adaptive | 16:9 | 4:3 | 1:1 | 3:4 | 9:16 | 21:9 | Aspect ratio of the generated video |
| durationDuration (Seconds) | slider | 5 | 4 ~ 30 · step 1 | Video duration in seconds. Only integer values from 4 to 30 are supported. |
| return_last_framereturn the last frame | boolean | — | — | Should the last frame of the generated video be returned? |
| watermarkAdd Watermark | boolean | false | — | Indicates whether to include a watermark in the generated video. |
| seedSeed | number | -1 | -1 ~ 4294967295 | The seed integer is used to control the randomness of the generated content. |
Output fields
| Field | Type | Description |
|---|---|---|
| videos | array<string> | Generated video URL(s). |
API
Call this model through one unified REST API. Get a key on the API Keys page.
cURL
# 1) Submit — returns { "task_uuid": "..." }
curl -X POST "https://www.namifusion.com/api/v1/marketplace/run/doubao/seedance-2-5/image-to-video" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"first_frame": [
"https://assets-public.namifusion.com/uploads/images/2026-04-10/a947fe8cbbe0.png"
],
"last_frame": [
"https://assets-public.namifusion.com/uploads/images/2026-04-10/f4234795b42f.png"
],
"prompt": "A cinematic scene of a futuristic city at night, illuminated by neon lights and flying cars.",
"generate_audio": true,
"resolution": "720p",
"ratio": "16:9",
"duration": 7,
"watermark": false,
"seed": -1
}
}'
# 2) Poll until status is "completed", then read the output URLs
curl "https://www.namifusion.com/api/v1/marketplace/run/tasks/TASK_UUID" \
-H "Authorization: Bearer YOUR_API_KEY"Python
import time, requests
API_KEY = "YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
# 1) Submit
resp = requests.post(
"https://www.namifusion.com/api/v1/marketplace/run/doubao/seedance-2-5/image-to-video",
headers=HEADERS,
json={
"input": {
"first_frame": [
"https://assets-public.namifusion.com/uploads/images/2026-04-10/a947fe8cbbe0.png"
],
"last_frame": [
"https://assets-public.namifusion.com/uploads/images/2026-04-10/f4234795b42f.png"
],
"prompt": "A cinematic scene of a futuristic city at night, illuminated by neon lights and flying cars.",
"generate_audio": True,
"resolution": "720p",
"ratio": "16:9",
"duration": 7,
"watermark": False,
"seed": -1
}
},
)
resp.raise_for_status() # 401/402/429/5xx stop here instead of polling a bad task
task = resp.json()
# 2) Poll until a terminal state (completed / failed / cancelled).
# This model is allowed up to 300s server-side.
deadline = time.time() + 360
while task.get("status") not in ("completed", "failed", "cancelled"):
if time.time() > deadline:
raise TimeoutError(f"still {task.get('status')} — keep the task_uuid and poll later")
time.sleep(3)
poll = requests.get(f"https://www.namifusion.com/api/v1/marketplace/run/tasks/{task['task_uuid']}", headers=HEADERS)
poll.raise_for_status()
task = poll.json()
print(task["status"], task.get("output"))JavaScript
const API_KEY = "YOUR_API_KEY";
const HEADERS = { Authorization: `Bearer ${API_KEY}` };
// 1) Submit
const resp = await fetch("https://www.namifusion.com/api/v1/marketplace/run/doubao/seedance-2-5/image-to-video", {
method: "POST",
headers: { ...HEADERS, "Content-Type": "application/json" },
body: JSON.stringify({
"input": {
"first_frame": [
"https://assets-public.namifusion.com/uploads/images/2026-04-10/a947fe8cbbe0.png"
],
"last_frame": [
"https://assets-public.namifusion.com/uploads/images/2026-04-10/f4234795b42f.png"
],
"prompt": "A cinematic scene of a futuristic city at night, illuminated by neon lights and flying cars.",
"generate_audio": true,
"resolution": "720p",
"ratio": "16:9",
"duration": 7,
"watermark": false,
"seed": -1
}
}),
});
if (!resp.ok) throw new Error(`submit failed: ${resp.status} ${await resp.text()}`);
let task = await resp.json();
// 2) Poll until a terminal state (completed / failed / cancelled).
// This model is allowed up to 300s server-side.
const deadline = Date.now() + 360 * 1000;
while (!["completed", "failed", "cancelled"].includes(task.status)) {
if (Date.now() > deadline) throw new Error(`still ${task.status} — keep the task_uuid and poll later`);
await new Promise((r) => setTimeout(r, 3000));
const poll = await fetch(`https://www.namifusion.com/api/v1/marketplace/run/tasks/${task.task_uuid}`, { headers: HEADERS });
if (!poll.ok) throw new Error(`poll failed: ${poll.status}`);
task = await poll.json();
}
console.log(task.status, task.output);Documentation
Doubao-Seedance 2.5
The "Film Studio in a Model": Precision Control with Multi-Modal Fusion.
Seedance 2.5 is ByteDance's next-generation video generation model, designed to revolutionize the "one-person film studio" workflow. Unlike traditional T2V models, it features a revolutionary Multi-modal Reference System, allowing users to blend up to 12 different inputs (images, videos, and audio) to achieve pixel-perfect control over characters, motion, and rhythm.
🚀 Key Features
- Multi-modal Fusion: Supports simultaneous input of 30 images + 10 videos + 10 audio clips (up to 50 total) for precise character and scene consistency.
- Cinematic Quality: High visual fidelity optimized for 480p, 720p and 1080p resolutions, featuring realistic lighting and physics.
- Audio-Visual Synchronicity: Native support for lip-sync and rhythm matching, automatically aligning visual motion with background music or speech.
- Exceptional Physical Logic: Advanced simulation of fluid dynamics, gravity, and complex human movements with a 99.5% generation success rate.
- Pro Camera Control: Direct language-based control over cinematic camera movements (pan, tilt, zoom) and lighting transitions.
🛠️ Technical Specifications
| Parameter | Details |
|---|---|
| Model Architecture | Diffusion-based Transformer (DiT) / Multi-modal |
| Max Resolution | 1080p (Supported: 480p, 720p, 1080p) |
| Video Duration | 4 - 30 Seconds (integer) |
| Aspect Ratios | 16:9, 9:16, 4:3, 3:4, 21:9, 1:1, adaptive |
| Input Modality | Text, Image (up to 30), Video (up to 10), Audio (up to 10) |
| Generation Speed | ~30-90 seconds per clip |
Sample Prompts
- Cinematic: "Rainy city street at night, neon flickering. A man in a black trench coat walks with a red umbrella. Slow dolly-in to a facial close-up. Moody film noir aesthetic."
- Character Consistency: "Use @Image1 as the character, reference @Video1 for the running motion, and match the tempo of @Audio1."
💰 Pricing (Volcengine API)
| Service Type | Resolution | Price | Estimated Cost |
|---|---|---|---|
| Video Gen (Input without video) | 480p/720p | $10.70 / 1M Tokens | ~$0.103/0.231 per second |
| Video Gen (Input without video) | 1080p | $11.70 / 1M Tokens | ~$0.569 per second |
| Video Gen (Input with video) | 480p/720p | $6.40 / 1M Tokens | ~$0.0616/$0.1382 per second |
| Video Gen (Input with video) | 1080p | $7.00 / 1M Tokens | ~$0.340 per second |
💡 Best Use Cases
- E-commerce & Advertising: Rapidly creating high-quality product demos and promotional short videos.
- Music Videos (MV): Automatically syncing visual transitions and effects to the beat of a song.
- Social Media Content: Professional-grade storytelling for TikTok/Reels with zero hardware overhead.
Related models
xAI Grok Imagine Video v1.5 Image to Video
Animate one input image with a text prompt into a 1-15 second video at 480p or 720p.
vidu/q3/image-to-video-spicy
Vidu Q3 Image-to-Video Spicy generates unlimited high-quality videos from images with smooth animations and diverse motion, optimized for scalable content generation. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Vidu Q3 Image To Video
Vidu Q3 Image-to-Video turns text prompts into high-quality videos with exceptional visual fidelity and diverse motion. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

MiniMax H3 Spicy Image to Video
Animate a first-frame image with optional prompt and last-frame guidance. Supports 480p, 540p, 768p and 1080p video, with durations from 3 to 15 seconds.
MiniMax H3 Image to Video
MiniMax H3 Image to Video animates a first-frame image into a coherent 2K video, with natural-language motion instructions and optional last-frame control for consistent motion, scene continuity, and cinematic video generation. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
ltx-2.5/image-to-video
LTX 2.5 Image-to-Video animates a first-frame image into high-fidelity synchronized audio-video content, with optional last-frame guidance and 720P / 1080P / 2K / 4K output for cinematic videos, social content, ads, and production workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
ai/ltx-2.3-spicy/image-to-video-lora
LTX 2.3 Spicy LoRA Image to Video API turns a reference image and prompt into expressive AI videos using selectable LoRA presets, optional LoRA strength overrides, duration, and resolution controls. Run fast REST inference on MaaS with no cold starts and affordable pricing.
ai/ltx-2.3-spicy/image-to-video
LTX 2.3 Spicy Image-to-Video API generates expressive AI videos from a reference image and prompt. Choose style presets, duration, and resolution with fast REST inference, no cold starts, and affordable pricing on MaaS.