MarketSupport← Back to app

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.

Seedance 2.5 image-to-video modes

Three mutually exclusive modes — match fields to the model slug:

  • image-to-video: first_frame_url only; aspect_ratio must be adaptive; the opening frame uses virtual asset ingest automatically.
  • first-last-frame: first_frame_url + last_frame_url; also requires adaptive.
  • omni-reference: reference_image_urls plus optional video/audio; every image uses virtual asset ingest automatically; fixed ratios like 16:9 work.

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.

Image asset handling
Every input image is automatically uploaded to the virtual asset library. Do not send reference_portrait_kinds, first_frame_portrait_kind, or last_frame_portrait_kind. Videos and audio remain direct public URLs.

Seedance 2 reference media limits

These values are public validation rules for the upstream interface currently connected to Lithovas. They are not permanent official model limits. Available ranges can vary by route; use the API response as the final authority.

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
POST https://api.lithovas.com/api/generate

Body: { "model": "<slug>", "input": { … } }

Response: { "taskId": "<id>", "state": "waiting" }

Query Result

GET
GET https://api.lithovas.com/api/generate/<taskId>

Response: { "taskId", "state": "waiting" | "success" | "fail", "resultUrls": [ … ], "creditsConsumed", "failMsg", "balance" }

Asynchronous
A 200 from Create Task only means the task was accepted — not finished. Poll this endpoint until state becomes success or fail. Failed tasks are not billed.

Endpoints

ModelTaskmodel slug
Seedance 2.5Text to Videoseedance-2.5-text-to-video
Seedance 2.5 Image to VideoImage to Videoseedance-2.5-image-to-video
Seedance 2.5 First & Last FrameImage to Videoseedance-2.5-first-last-frame
Seedance 2.5 Omni ReferenceImage to Videoseedance-2.5-omni-reference
Seedance 2.5 Spicy Text to VideoText to Videoseedance-2.5-spicy-text-to-video
Seedance 2.5 Spicy Image to VideoImage to Videoseedance-2.5-spicy-image-to-video

Seedance 2.5 · Text to Video

POSTText to Videoseedance-2.5-text-to-video
input fields
first_frame_urlstringoptional

First-frame image URL. The platform uploads it to the virtual asset library before generation. Mutually exclusive with reference_* fields.

last_frame_urlstringoptional

Last-frame image URL. The platform uploads it to the virtual asset library before generation. Requires first_frame_url.

promptstringrequired

Text prompt describing the video to generate (max 30000 characters).

reference_image_urlsarray<string>optional

Reference image URLs (max 30). Mutually exclusive with first/last frame fields.

reference_video_urlsarray<string>optional

Reference video URLs (max 10; total duration ≤30s). Each video is uploaded to the virtual asset library before generation.

reference_audio_urlsarray<string>optional

Reference audio URLs (max 10; total duration ≤30s).

generate_audiobooleanoptional

Generate synchronized audio with the video. Disabled by default; enable only when the prompt describes original sound or you provide authorized reference audio.

return_last_framebooleanoptional

Return the generated video's last frame. Cannot be true when draft=true.

resolutionenum<string>optional

Output video resolution.

aspect_ratioenum<string>optional

Output aspect ratio.

durationintegeroptional

Video duration from 4 to 30 seconds, or -1 for automatic selection.

output_formatenum<string>optional

Video output format.

web_searchbooleanoptional

Enable online search for the generation.

Example
cURL
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

POSTImage to Videoseedance-2.5-image-to-video
input fields
first_frame_urlstringrequired

URL of the input image to animate. The platform uploads it to the virtual asset library before generation.

promptstringrequired

Text prompt describing the video motion and style.

generate_audiobooleanoptional

Generate synchronized audio with the video. Disabled by default; enable only when the prompt describes original sound or you provide authorized reference audio.

return_last_framebooleanoptional

Return the generated video's last frame. Cannot be true when draft=true.

resolutionenum<string>optional

Output video resolution.

aspect_ratioenum<string>optional

Must be adaptive — the direct route follows the input image aspect ratio for keyframe-driven tasks.

durationintegeroptional

Video duration from 4 to 30 seconds, or -1 for automatic selection.

output_formatenum<string>optional

Video output format.

web_searchbooleanoptional

Enable online search for the generation.

Example
cURL
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

POSTImage to Videoseedance-2.5-first-last-frame
input fields
first_frame_urlstringrequired

First-frame image URL. The platform uploads it to the virtual asset library before generation. Mutually exclusive with reference_* fields.

last_frame_urlstringrequired

Last-frame image URL. The platform uploads it to the virtual asset library before generation. Requires first_frame_url.

promptstringrequired

Text prompt describing the transition and motion.

generate_audiobooleanoptional

Generate synchronized audio with the video. Disabled by default; enable only when the prompt describes original sound or you provide authorized reference audio.

return_last_framebooleanoptional

Return the generated video's last frame. Cannot be true when draft=true.

resolutionenum<string>optional

Output video resolution.

aspect_ratioenum<string>optional

Must be adaptive — the direct route follows the input image aspect ratio for keyframe-driven tasks.

durationintegeroptional

Video duration from 4 to 30 seconds, or -1 for automatic selection.

output_formatenum<string>optional

Video output format.

web_searchbooleanoptional

Enable online search for the generation.

Example
cURL
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

POSTImage to Videoseedance-2.5-omni-reference
input fields
promptstringrequired

Prompt describing the target video, style, dynamics, and atmosphere.

reference_image_urlsarray<string>optional

Reference image URLs (max 30). Every image is uploaded to the virtual asset library before generation.

reference_imagesarray<object>optional

Structured reference images: [{ url }]. Alternative to reference_image_urls; every image uses virtual asset ingest.

virtual_portraitsarray<string>optional

Portrait URLs always uploaded to the virtual portrait library before generation.

real_portraitsarray<string>optional

Portrait URLs (including real-person photos) uploaded to the virtual portrait library before generation.

reference_video_urlsarray<string>optional

Reference video URLs (max 10; total duration ≤30s). Each video is uploaded to the virtual asset library before generation.

reference_audio_urlsarray<string>optional

Reference audio URLs (max 10; total duration ≤30s). Never uploaded to the asset library.

generate_audiobooleanoptional

Generate synchronized audio with the video. Disabled by default; enable only when the prompt describes original sound or you provide authorized reference audio.

return_last_framebooleanoptional

Return the generated video's last frame. Cannot be true when draft=true.

resolutionenum<string>optional

Output video resolution.

aspect_ratioenum<string>optional

Output aspect ratio.

durationintegeroptional

Video duration from 4 to 30 seconds, or -1 for automatic selection.

output_formatenum<string>optional

Video output format.

web_searchbooleanoptional

Enable online search for the generation.

Example
cURL
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

POSTText to Videoseedance-2.5-spicy-text-to-video
input fields
promptstringrequired

Text prompt describing the video motion and style. Spicy mode favors bolder, higher-contrast results.

durationintegeroptional

Video length in seconds (4-16).

resolutionenum<string>optional

Output video resolution.

aspect_ratioenum<string>optional

Output video aspect ratio.

camera_fixedbooleanoptional

Whether to keep the camera fixed.

generate_audiobooleanoptional

Whether to generate synchronized audio.

Example
cURL
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

POSTImage to Videoseedance-2.5-spicy-image-to-video
input fields
promptstringrequired

Text prompt describing the video motion and style. Spicy mode favors bolder, higher-contrast results.

image_urlstringrequired

URL of the input image to animate.

last_imagestringoptional

Optional closing image. Together with image_url, this selects strict first/last-frame keyframe generation.

durationintegeroptional

Normal mode: 4-16 seconds. Two-image keyframe mode: 4-30 seconds.

resolutionenum<string>optional

Normal mode supports its listed tiers. Two-image keyframe mode supports 480p, 720p, or 1080p.

aspect_ratioenum<string>optional

Normal mode uses a selected ratio. Two-image keyframe mode requires adaptive and follows the opening image ratio.

camera_fixedbooleanoptional

Whether to keep the camera fixed.

generate_audiobooleanoptional

Generate synchronized audio with the video. Disabled by default; enable only with an original sound description or authorized reference audio.

watermarkbooleanoptional

For two-image keyframe mode, add an AI-generated watermark to the output.

Example
cURL
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"
  }
}'