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 10 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; set first_frame_portrait_kind: skip for scenes.
  • first-last-frame: first_frame_url + last_frame_url; also requires adaptive.
  • omni-reference: reference_image_urls plus optional video/audio; mark portraits virtual/real, backgrounds skip; fixed ratios like 16:9 work.

On direct routes, only portraits are ingested to the portrait library; scenes, video, and audio stay as direct URLs. Copy the full API doc from the model API tab.

Portrait reference details
On direct routes, only portrait images are uploaded to the portrait library; scenes, videos, and audio stay as direct public URLs. Pair reference_image_urls with reference_portrait_kinds per slot:virtual (portrait library — real or AI; real is equivalent), skip (background/scene — default when omitted). Single-frame and first/last-frame models use first_frame_url / last_frame_url (ingested by default); set first_frame_portrait_kind to skip to keep a direct URL.

Seedance 2 reference media limits

These values are public validation rules for the upstream interface currently connected to 97AI.PRO. 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 Text to VideoText to Videoseedance-2.5-text-to-video-480p
Seedance 2.5 Image to VideoImage to Videoseedance-2.5-image-to-video
Seedance 2.5 Image to VideoImage to Videoseedance-2.5-image-to-video-480p
Seedance 2.5 First & Last FrameImage to Videoseedance-2.5-first-last-frame
Seedance 2.5 First & Last FrameImage to Videoseedance-2.5-first-last-frame-480p
Seedance 2.5 Omni ReferenceImage to Videoseedance-2.5-omni-reference
Seedance 2.5 Omni ReferenceImage to Videoseedance-2.5-omni-reference-480p
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 or asset://{assetId}. Mutually exclusive with reference_* fields.

last_frame_urlstringoptional

Last-frame image URL or asset://{assetId}. Requires first_frame_url.

first_frame_portrait_kindenum<string>optional

Portrait-library route: ingest hint for first_frame_url. Default skip (direct URL). Use virtual/real to upload portraits to the asset library.

last_frame_portrait_kindenum<string>optional

Portrait-library route: ingest hint for last_frame_url. Default skip (direct URL). Use virtual/real to upload portraits to the asset library.

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).

reference_audio_urlsarray<string>optional

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

generate_audiobooleanoptional

Generate synchronized audio with the video.

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.

nsfw_checkerbooleanoptional

Enable content safety checking.

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 Text to Video · Text to Video

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

First-frame image URL or asset://{assetId}. Mutually exclusive with reference_* fields.

last_frame_urlstringoptional

Last-frame image URL or asset://{assetId}. Requires first_frame_url.

first_frame_portrait_kindenum<string>optional

Portrait-library route: ingest hint for first_frame_url. Default skip (direct URL). Use virtual/real to upload portraits to the asset library.

last_frame_portrait_kindenum<string>optional

Portrait-library route: ingest hint for last_frame_url. Default skip (direct URL). Use virtual/real to upload portraits to the asset library.

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).

reference_audio_urlsarray<string>optional

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

generate_audiobooleanoptional

Generate synchronized audio with the video.

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.

nsfw_checkerbooleanoptional

Enable content safety checking.

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": "480p",
    "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, or asset://{assetId} after portrait ingest.

first_frame_portrait_kindenum<string>optional

Portrait-library route: ingest hint for first_frame_url. Default skip (direct URL). Use virtual/real to upload portraits to the asset library.

promptstringrequired

Text prompt describing the video motion and style.

generate_audiobooleanoptional

Generate synchronized audio with the video.

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.

nsfw_checkerbooleanoptional

Enable content safety checking.

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",
    "first_frame_portrait_kind": "virtual"
  }
}'

Seedance 2.5 Image to Video · Image to Video

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

URL of the input image to animate, or asset://{assetId} after portrait ingest.

first_frame_portrait_kindenum<string>optional

Portrait-library route: ingest hint for first_frame_url. Default skip (direct URL). Use virtual/real to upload portraits to the asset library.

promptstringrequired

Text prompt describing the video motion and style.

generate_audiobooleanoptional

Generate synchronized audio with the video.

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.

nsfw_checkerbooleanoptional

Enable content safety checking.

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-480p",
  "input": {
    "aspect_ratio": "adaptive",
    "duration": 5,
    "generate_audio": true,
    "output_format": "mp4",
    "resolution": "480p",
    "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",
    "first_frame_portrait_kind": "virtual"
  }
}'

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 or asset://{assetId}. Mutually exclusive with reference_* fields.

last_frame_urlstringrequired

Last-frame image URL or asset://{assetId}. Requires first_frame_url.

first_frame_portrait_kindenum<string>optional

Portrait-library route: ingest hint for first_frame_url. Default skip (direct URL). Use virtual/real to upload portraits to the asset library.

last_frame_portrait_kindenum<string>optional

Portrait-library route: ingest hint for last_frame_url. Default skip (direct URL). Use virtual/real to upload portraits to the asset library.

promptstringrequired

Text prompt describing the transition and motion.

generate_audiobooleanoptional

Generate synchronized audio with the video.

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.

nsfw_checkerbooleanoptional

Enable content safety checking.

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",
    "first_frame_portrait_kind": "virtual",
    "last_frame_url": "https://frw-images.aiaipic.win/users/3514640099037941760/image/20260819/fb280368-8f54-41eb-aacf-cee1c189b29b.png",
    "last_frame_portrait_kind": "skip"
  }
}'

Seedance 2.5 First & Last Frame · Image to Video

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

First-frame image URL or asset://{assetId}. Mutually exclusive with reference_* fields.

last_frame_urlstringrequired

Last-frame image URL or asset://{assetId}. Requires first_frame_url.

first_frame_portrait_kindenum<string>optional

Portrait-library route: ingest hint for first_frame_url. Default skip (direct URL). Use virtual/real to upload portraits to the asset library.

last_frame_portrait_kindenum<string>optional

Portrait-library route: ingest hint for last_frame_url. Default skip (direct URL). Use virtual/real to upload portraits to the asset library.

promptstringrequired

Text prompt describing the transition and motion.

generate_audiobooleanoptional

Generate synchronized audio with the video.

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.

nsfw_checkerbooleanoptional

Enable content safety checking.

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-480p",
  "input": {
    "aspect_ratio": "adaptive",
    "duration": 5,
    "generate_audio": true,
    "output_format": "mp4",
    "resolution": "480p",
    "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",
    "first_frame_portrait_kind": "virtual",
    "last_frame_url": "https://frw-images.aiaipic.win/users/3514640099037941760/image/20260819/fb280368-8f54-41eb-aacf-cee1c189b29b.png",
    "last_frame_portrait_kind": "skip"
  }
}'

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). Scene/background images stay as URLs unless marked for portrait ingest.

reference_portrait_kindsarray<string>optional

Per-image ingest hint aligned with reference_image_urls: virtual (portrait library — AI or real person), real (optional alias, same as virtual), skip (direct URL; default when omitted).

reference_imagesarray<object>optional

Structured reference images: [{ url, portrait: "virtual"|"real"|"skip" }]. Alternative to reference_image_urls + reference_portrait_kinds.

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). Never uploaded to the asset library.

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.

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.

nsfw_checkerbooleanoptional

Enable content safety checking.

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_portrait_kinds": [
      "virtual",
      "virtual",
      "skip"
    ],
    "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 Omni Reference · Image to Video

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

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

reference_image_urlsarray<string>optional

Reference image URLs (max 30). Scene/background images stay as URLs unless marked for portrait ingest.

reference_portrait_kindsarray<string>optional

Per-image ingest hint aligned with reference_image_urls: virtual (portrait library — AI or real person), real (optional alias, same as virtual), skip (direct URL; default when omitted).

reference_imagesarray<object>optional

Structured reference images: [{ url, portrait: "virtual"|"real"|"skip" }]. Alternative to reference_image_urls + reference_portrait_kinds.

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). Never uploaded to the asset library.

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.

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.

nsfw_checkerbooleanoptional

Enable content safety checking.

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-480p",
  "input": {
    "aspect_ratio": "16:9",
    "duration": 5,
    "generate_audio": true,
    "output_format": "mp4",
    "resolution": "480p",
    "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_portrait_kinds": [
      "virtual",
      "virtual",
      "skip"
    ],
    "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

Whether to generate synchronized 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",
    "first_frame_portrait_kind": "virtual"
  }
}'