MarktSupport← Zurück zur App

Seedance 2.5

Seedance 2.5-Modelle werden über eine einheitliche, asynchrone Job-API aufgerufen. Starte einen Task mit POST /api/generate und frage dann GET /api/generate/{taskId} ab, bis er fertig ist. Diese Familie stellt 10 Endpunkte bereit.

Überblick

Jeder Endpunkt teilt sich dieselbe Hülle — nur model und die input-Felder ändern sich. Führe einen beliebigen im Playground des Modell-Markts aus.

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 Referenzmedien-Limits

Diese Werte sind öffentlich dokumentierte Validierungsregeln der derzeit an 97AI.PRO angebundenen Upstream-Schnittstelle. Sie sind keine dauerhaften offiziellen Modelllimits. Bereiche können je nach Route abweichen; maßgeblich ist die API-Antwort.

Referenzbilder

Formate
JPEG, PNG, WEBP, BMP, TIFF, GIF
Breite / Höhe
300-6000 px
Seitenverhältnis
0.4-2.5
Dateigröße
< 30 MB

Referenzvideos

Formate
MP4, MOV
Auflösungen
480p, 720p
Dauer pro Datei
2-15 s
Anzahl / Gesamtdauer
Bis zu 3 / insgesamt höchstens 15 s
Breite / Höhe
300-6000 px
Gesamtpixel
409600-927408
Seitenverhältnis
0.4-2.5
Dateigröße
<= 50 MB
Bildrate
24-60 FPS

Referenzaudio

Formate
WAV, MP3
Dauer pro Datei
2-15 s
Anzahl / Gesamtdauer
Bis zu 3 / insgesamt höchstens 15 s
Dateigröße
<= 15 MB
Abtastrate / Kanäle
Nicht veröffentlicht
Audio-Codec
Nicht veröffentlicht

Ausgabevideo

resolution
480p, 720p, 1080p, 4k
aspect_ratio
1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive
Exakte Pixelmaße
Nicht veröffentlicht; feste Breite und Höhe sind nicht garantiert

Authentifizierung

Erstelle einen API-Schlüssel unter /api-keys und sende ihn als Bearer-Token. Anfragen aus dem Browser bei angemeldeter Sitzung funktionieren auch über das Session-Cookie.

Authorization: Bearer <YOUR_API_KEY>

Task erstellen

POST
POST https://97ai.97claude.com/api/generate

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

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

Ergebnis abfragen

GET
GET https://97ai.97claude.com/api/generate/<taskId>

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

Asynchron
Ein 200 von „Task erstellen“ bedeutet nur, dass der Task angenommen wurde — nicht, dass er fertig ist. Frage diesen Endpunkt ab, bis state zu success oder fail wird. Fehlgeschlagene Tasks werden nicht berechnet.

Endpunkte

ModellTaskmodel 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-Felder
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.

promptstringerforderlich

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.

Beispiel
cURL
curl -X POST https://97ai.97claude.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-Felder
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.

promptstringerforderlich

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.

Beispiel
cURL
curl -X POST https://97ai.97claude.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-Felder
first_frame_urlstringerforderlich

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.

promptstringerforderlich

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.

Beispiel
cURL
curl -X POST https://97ai.97claude.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-Felder
first_frame_urlstringerforderlich

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.

promptstringerforderlich

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.

Beispiel
cURL
curl -X POST https://97ai.97claude.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-Felder
first_frame_urlstringerforderlich

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

last_frame_urlstringerforderlich

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.

promptstringerforderlich

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.

Beispiel
cURL
curl -X POST https://97ai.97claude.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-Felder
first_frame_urlstringerforderlich

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

last_frame_urlstringerforderlich

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.

promptstringerforderlich

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.

Beispiel
cURL
curl -X POST https://97ai.97claude.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-Felder
promptstringerforderlich

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.

Beispiel
cURL
curl -X POST https://97ai.97claude.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-Felder
promptstringerforderlich

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.

Beispiel
cURL
curl -X POST https://97ai.97claude.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-Felder
promptstringerforderlich

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.

Beispiel
cURL
curl -X POST https://97ai.97claude.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-Felder
promptstringerforderlich

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

image_urlstringerforderlich

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.

Beispiel
cURL
curl -X POST https://97ai.97claude.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"
  }
}'