Seedance 2.5
Seedance 2.5 models are called through one unified, asynchronous job API. Start a task with POST /api/generate, then poll GET /api/generate/{taskId} until it finishes. This family exposes 6 endpoints.
Overview
Every endpoint shares the same envelope — only model and the input fields change. Run any from the Models Market playground.
Three mutually exclusive modes — match fields to the model slug:
- image-to-video:
first_frame_urlonly;aspect_ratiomust beadaptive; the opening frame uses virtual asset ingest automatically. - first-last-frame:
first_frame_url+last_frame_url; also requiresadaptive. - omni-reference:
reference_image_urlsplus optional video/audio; every image uses virtual asset ingest automatically; fixed ratios like16:9work.
On direct routes, every image is uploaded to the virtual asset library; video and audio stay as direct URLs. Copy the full API doc from the model API tab.
reference_portrait_kinds, first_frame_portrait_kind, or last_frame_portrait_kind. Videos and audio remain direct public URLs.Seedance 2 reference media limits
Reference images
- Formats
- JPEG, PNG, WEBP, BMP, TIFF, GIF
- Width / height
- 300-6000 px
- Aspect ratio
- 0.4-2.5
- File size
- < 30 MB
Reference videos
- Formats
- MP4, MOV
- Resolution tiers
- 480p, 720p
- Duration per file
- 2-15 s
- Count / total duration
- Up to 3 / no more than 15 s total
- Width / height
- 300-6000 px
- Total pixels
- 409600-927408
- Aspect ratio
- 0.4-2.5
- File size
- <= 50 MB
- Frame rate
- 24-60 FPS
Reference audio
- Formats
- WAV, MP3
- Duration per file
- 2-15 s
- Count / total duration
- Up to 3 / no more than 15 s total
- File size
- <= 15 MB
- Sample rate / channels
- Not publicly disclosed
- Audio codec
- Not publicly disclosed
Output video
- resolution
- 480p, 720p, 1080p, 4k
- aspect_ratio
- 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive
- Exact pixel dimensions
- Not publicly disclosed; a fixed width and height are not guaranteed
Authentication
Create an API key at /api-keys, then send it as a Bearer token. Requests from the browser while logged in also work via the session cookie.
Authorization: Bearer <YOUR_API_KEY>Create Task
POST https://api.lithovas.com/api/generateBody: { "model": "<slug>", "input": { … } }
Response: { "taskId": "<id>", "state": "waiting" }
Query Result
GET https://api.lithovas.com/api/generate/<taskId>Response: { "taskId", "state": "waiting" | "success" | "fail", "resultUrls": [ … ], "creditsConsumed", "failMsg", "balance" }
state becomes success or fail. Failed tasks are not billed.Endpoints
| Model | Task | model slug |
|---|---|---|
| Seedance 2.5 | Text to Video | seedance-2.5-text-to-video |
| Seedance 2.5 Image to Video | Image to Video | seedance-2.5-image-to-video |
| Seedance 2.5 First & Last Frame | Image to Video | seedance-2.5-first-last-frame |
| Seedance 2.5 Omni Reference | Image to Video | seedance-2.5-omni-reference |
| Seedance 2.5 Spicy Text to Video | Text to Video | seedance-2.5-spicy-text-to-video |
| Seedance 2.5 Spicy Image to Video | Image to Video | seedance-2.5-spicy-image-to-video |
Seedance 2.5 · Text to Video
seedance-2.5-text-to-videofirst_frame_urlstringoptionalFirst-frame image URL. The platform uploads it to the virtual asset library before generation. Mutually exclusive with reference_* fields.
last_frame_urlstringoptionalLast-frame image URL. The platform uploads it to the virtual asset library before generation. Requires first_frame_url.
promptstringrequiredText prompt describing the video to generate (max 30000 characters).
reference_image_urlsarray<string>optionalReference image URLs (max 30). Mutually exclusive with first/last frame fields.
reference_video_urlsarray<string>optionalReference video URLs (max 10; total duration ≤30s). Each video is uploaded to the virtual asset library before generation.
reference_audio_urlsarray<string>optionalReference audio URLs (max 10; total duration ≤30s).
generate_audiobooleanoptionalGenerate synchronized audio with the video. Disabled by default; enable only when the prompt describes original sound or you provide authorized reference audio.
return_last_framebooleanoptionalReturn the generated video's last frame. Cannot be true when draft=true.
resolutionenum<string>optionalOutput video resolution.
aspect_ratioenum<string>optionalOutput aspect ratio.
durationintegeroptionalVideo duration from 4 to 30 seconds, or -1 for automatic selection.
output_formatenum<string>optionalVideo output format.
web_searchbooleanoptionalEnable online search for the generation.
curl -X POST https://api.lithovas.com/api/generate \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5-text-to-video",
"input": {
"aspect_ratio": "16:9",
"duration": 5,
"generate_audio": true,
"output_format": "mp4",
"resolution": "720p",
"return_last_frame": false,
"web_search": false,
"prompt": "在房间里跳舞"
}
}'Seedance 2.5 Image to Video · Image to Video
seedance-2.5-image-to-videofirst_frame_urlstringrequiredURL of the input image to animate. The platform uploads it to the virtual asset library before generation.
promptstringrequiredText prompt describing the video motion and style.
generate_audiobooleanoptionalGenerate synchronized audio with the video. Disabled by default; enable only when the prompt describes original sound or you provide authorized reference audio.
return_last_framebooleanoptionalReturn the generated video's last frame. Cannot be true when draft=true.
resolutionenum<string>optionalOutput video resolution.
aspect_ratioenum<string>optionalMust be adaptive — the direct route follows the input image aspect ratio for keyframe-driven tasks.
durationintegeroptionalVideo duration from 4 to 30 seconds, or -1 for automatic selection.
output_formatenum<string>optionalVideo output format.
web_searchbooleanoptionalEnable online search for the generation.
curl -X POST https://api.lithovas.com/api/generate \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5-image-to-video",
"input": {
"aspect_ratio": "adaptive",
"duration": 5,
"generate_audio": true,
"output_format": "mp4",
"resolution": "720p",
"return_last_frame": false,
"web_search": false,
"prompt": "在房间里跳舞",
"first_frame_url": "https://frw-images.aiaipic.win/users/3514640099037941760/ai_generated/20260818/038f9f68-004f-4017-a09d-74b3da84e569.png"
}
}'Seedance 2.5 First & Last Frame · Image to Video
seedance-2.5-first-last-framefirst_frame_urlstringrequiredFirst-frame image URL. The platform uploads it to the virtual asset library before generation. Mutually exclusive with reference_* fields.
last_frame_urlstringrequiredLast-frame image URL. The platform uploads it to the virtual asset library before generation. Requires first_frame_url.
promptstringrequiredText prompt describing the transition and motion.
generate_audiobooleanoptionalGenerate synchronized audio with the video. Disabled by default; enable only when the prompt describes original sound or you provide authorized reference audio.
return_last_framebooleanoptionalReturn the generated video's last frame. Cannot be true when draft=true.
resolutionenum<string>optionalOutput video resolution.
aspect_ratioenum<string>optionalMust be adaptive — the direct route follows the input image aspect ratio for keyframe-driven tasks.
durationintegeroptionalVideo duration from 4 to 30 seconds, or -1 for automatic selection.
output_formatenum<string>optionalVideo output format.
web_searchbooleanoptionalEnable online search for the generation.
curl -X POST https://api.lithovas.com/api/generate \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5-first-last-frame",
"input": {
"aspect_ratio": "adaptive",
"duration": 5,
"generate_audio": true,
"output_format": "mp4",
"resolution": "720p",
"return_last_frame": false,
"web_search": false,
"prompt": "在房间里跳舞",
"first_frame_url": "https://frw-images.aiaipic.win/users/3514640099037941760/ai_generated/20260818/038f9f68-004f-4017-a09d-74b3da84e569.png",
"last_frame_url": "https://frw-images.aiaipic.win/users/3514640099037941760/image/20260819/fb280368-8f54-41eb-aacf-cee1c189b29b.png"
}
}'Seedance 2.5 Omni Reference · Image to Video
seedance-2.5-omni-referencepromptstringrequiredPrompt describing the target video, style, dynamics, and atmosphere.
reference_image_urlsarray<string>optionalReference image URLs (max 30). Every image is uploaded to the virtual asset library before generation.
reference_imagesarray<object>optionalStructured reference images: [{ url }]. Alternative to reference_image_urls; every image uses virtual asset ingest.
virtual_portraitsarray<string>optionalPortrait URLs always uploaded to the virtual portrait library before generation.
real_portraitsarray<string>optionalPortrait URLs (including real-person photos) uploaded to the virtual portrait library before generation.
reference_video_urlsarray<string>optionalReference video URLs (max 10; total duration ≤30s). Each video is uploaded to the virtual asset library before generation.
reference_audio_urlsarray<string>optionalReference audio URLs (max 10; total duration ≤30s). Never uploaded to the asset library.
generate_audiobooleanoptionalGenerate synchronized audio with the video. Disabled by default; enable only when the prompt describes original sound or you provide authorized reference audio.
return_last_framebooleanoptionalReturn the generated video's last frame. Cannot be true when draft=true.
resolutionenum<string>optionalOutput video resolution.
aspect_ratioenum<string>optionalOutput aspect ratio.
durationintegeroptionalVideo duration from 4 to 30 seconds, or -1 for automatic selection.
output_formatenum<string>optionalVideo output format.
web_searchbooleanoptionalEnable online search for the generation.
curl -X POST https://api.lithovas.com/api/generate \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5-omni-reference",
"input": {
"aspect_ratio": "16:9",
"duration": 5,
"generate_audio": true,
"output_format": "mp4",
"resolution": "720p",
"return_last_frame": false,
"web_search": false,
"prompt": " @image1与 @image2在 @image3的场景中,参考 @video1的运镜,背景音乐参考 @audio1",
"reference_image_urls": [
"https://frw-images.aiaipic.win/users/3514640099037941760/ai_generated/20260818/038f9f68-004f-4017-a09d-74b3da84e569.png",
"https://frw-images.aiaipic.win/users/3514640099037941760/ai_generated/20260818/038f9f68-004f-4017-a09d-74b3da84e569.png",
"https://frw-images.aiaipic.win/users/3514640099037941760/image/20260819/fb280368-8f54-41eb-aacf-cee1c189b29b.png"
],
"reference_video_urls": [
"https://frw-images.aiaipic.win/users/3492453287637028864/video/20260818/3524765235086888960.mp4"
],
"reference_audio_urls": [
"https://frw-images.aiaipic.win/users/3492453287637028864/audio/20260818/3524725649950380032.mp3"
]
}
}'Seedance 2.5 Spicy Text to Video · Text to Video
seedance-2.5-spicy-text-to-videopromptstringrequiredText prompt describing the video motion and style. Spicy mode favors bolder, higher-contrast results.
durationintegeroptionalVideo length in seconds (4-16).
resolutionenum<string>optionalOutput video resolution.
aspect_ratioenum<string>optionalOutput video aspect ratio.
camera_fixedbooleanoptionalWhether to keep the camera fixed.
generate_audiobooleanoptionalWhether to generate synchronized audio.
curl -X POST https://api.lithovas.com/api/generate \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5-spicy-text-to-video",
"input": {
"aspect_ratio": "16:9",
"duration": 5,
"generate_audio": true,
"output_format": "mp4",
"resolution": "720p",
"return_last_frame": false,
"web_search": false,
"prompt": "在房间里跳舞"
}
}'Seedance 2.5 Spicy Image to Video · Image to Video
seedance-2.5-spicy-image-to-videopromptstringrequiredText prompt describing the video motion and style. Spicy mode favors bolder, higher-contrast results.
image_urlstringrequiredURL of the input image to animate.
last_imagestringoptionalOptional closing image. Together with image_url, this selects strict first/last-frame keyframe generation.
durationintegeroptionalNormal mode: 4-16 seconds. Two-image keyframe mode: 4-30 seconds.
resolutionenum<string>optionalNormal mode supports its listed tiers. Two-image keyframe mode supports 480p, 720p, or 1080p.
aspect_ratioenum<string>optionalNormal mode uses a selected ratio. Two-image keyframe mode requires adaptive and follows the opening image ratio.
camera_fixedbooleanoptionalWhether to keep the camera fixed.
generate_audiobooleanoptionalGenerate synchronized audio with the video. Disabled by default; enable only with an original sound description or authorized reference audio.
watermarkbooleanoptionalFor two-image keyframe mode, add an AI-generated watermark to the output.
curl -X POST https://api.lithovas.com/api/generate \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5-spicy-image-to-video",
"input": {
"aspect_ratio": "adaptive",
"duration": 5,
"generate_audio": true,
"output_format": "mp4",
"resolution": "720p",
"return_last_frame": false,
"web_search": false,
"prompt": "在房间里跳舞",
"image_url": "https://frw-images.aiaipic.win/users/3514640099037941760/ai_generated/20260818/038f9f68-004f-4017-a09d-74b3da84e569.png"
}
}'