Seedance 2.5


Seedance 2.5 is multimodal video generation from reference images, videos, and audio. Supports video editing and extension.

bytedance/seedance-2-5

1. Authentication

The API uses an API key for authentication.

Get Your API Key

Get your API key from https://icreat.ai/hub/keys.

2. Call the API

Submit a Request

Use cURL to submit an HTTP request and start a task:

curl --fail-with-body --connect-timeout 10 --max-time 60 \
  -X POST https://api.icreat.ai/v1/task/submit/bytedance/seedance-2-5 \
  -H "Authorization: Bearer ${ICREAT_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
  "content": [
    {
      "type": "text",
      "text": "A golden retriever running on a beach at sunset in slow motion"
    }
  ],
  "ratio": "16:9",
  "resolution": "720p",
  "duration": 5
}'

The server will return a response body similar to the following:

{ "task_id": "task-xxx" }

Use the task_id to poll the task status and retrieve the result.

3. Poll Task Status

curl --connect-timeout 10 --max-time 60 \
  -X POST "https://api.icreat.ai/v1/task/query-status" \
  -H "Authorization: Bearer ${ICREAT_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
  "task_id": "task-xxx"
}'

The server will return the task status. When the status is SUCCEEDED, you can retrieve the result.

4. Retrieve the Result

curl --connect-timeout 10 --max-time 60 \
  -X POST "https://api.icreat.ai/v1/task/get-result" \
  -H "Authorization: Bearer ${ICREAT_API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
  "task_id": "task-xxx"
}'

The server will return the output of the task.

5. Schema

Top-Level Fields

The API uses a multimodal input structure. content is a required array that supports any combination of text, image, video, and audio references.

Field Type Required Description
content object[] Yes Multimodal content array. See the schema below
generate_audio boolean No Whether to generate audio
ratio string No Output aspect ratio. Supported values: 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, and adaptive. When set to adaptive, the model automatically selects the most appropriate aspect ratio based on the input
resolution string No Output resolution. Supported values: 480p and 720p
duration integer No Video duration in seconds. Accepts an integer from 4 to 30, or -1 to let the model automatically select the duration
watermark boolean No Whether to add an “AI Generated” watermark
tools object[] No List of tools to use

content[] Items

Field Type Required Description
type string Yes Content type: text, image_url, video_url, or audio_url
text string Conditionally Required when type=text. Supports Chinese, English, Japanese, Indonesian, Spanish, and Portuguese
image_url object Conditionally Required when type=image_url. Format: {"url":"https://..."}
video_url object Conditionally Required when type=video_url. Format: {"url":"https://..."}
audio_url object Conditionally Required when type=audio_url. Format: {"url":"https://..."}
role string Required for media Media role: reference_image, reference_video, reference_audio, first_frame, or last_frame
need_review boolean No Whether to submit the reference content for official review. Set this to true when the reference content contains faces or copyrighted IP

Chinese prompts must not exceed 2,000 characters, and English prompts must not exceed 2,000 words. Overly long prompts may dilute the information and cause the model to ignore certain details.

need_review Guidelines

  • If the reference content contains faces or copyrighted IP, set need_review to true; otherwise, generation is likely to fail.
  • If content requiring review is submitted with need_review set to false, the task is likely to fail.
  • If content that does not require review is submitted with need_review set to true, generation may take longer.

Reference Images

  • Supported formats: jpeg, png, webp, bmp, tiff, gif, heic, and heif
  • Aspect ratio (width/height): 0.42.5
  • Width and height: 3006000 px
  • Maximum size per image: less than 30 MB
  • Maximum request body size: 64 MB

The following modes are supported:

  1. First-Frame Mode Provide one image_url item and set its role to first_frame.

  2. First-and-Last-Frame Mode Provide two image_url items and set their roles to first_frame and last_frame, respectively.

  3. Reference Image Mode Provide 1–30 image_url items and set the role of each image to reference_image.

Reference Videos

  • Supported formats: mp4, mov
  • Supported resolutions: 480p, 720p
  • Duration per video: 215 seconds
  • Maximum number of reference videos: 10
  • Maximum total duration of all reference videos: 15 seconds
  • Aspect ratio (width/height): 0.42.5
  • Width and height: 3006000 px
  • Total pixel count: 4096008295044
  • Maximum size per video: 200 MB
  • Frame rate: 2460 FPS
Container Format Extension MIME Type Supported Codecs
MP4 .mp4 video/mp4 Video: H.264/AVC, H.265/HEVC; Audio: AAC, MP3
QuickTime .mov video/quicktime Video: H.264/AVC, H.265/HEVC; Audio: AAC, MP3

Reference Audio

  • Supported formats: wav, mp3
  • Duration per audio file: 215 seconds
  • Maximum number of reference audio files: 10
  • Maximum total duration of all reference audio files: 15 seconds
  • Maximum size per audio file: 15 MB
  • Maximum request body size: 64 MB
  • Base64 encoding is not recommended for large files

tools[] Items

Field Type Required Description
type string Yes Tool type. Currently, only web_search is supported

6. Input Examples

6.1 Text-to-Video

{
  "content": [
    {
      "type": "text",
      "text": "A cat is playing a ball"
    }
  ],
  "generate_audio": true,
  "ratio": "3:4",
  "duration": 5,
  "resolution": "480p"
}

6.2 Without a Watermark

{
  "content": [
    {
      "type": "text",
      "text": "A cat is playing a ball"
    }
  ],
  "generate_audio": true,
  "ratio": "3:4",
  "duration": 5,
  "resolution": "480p",
  "watermark": false
}

6.3 Enable web_search

{
  "content": [
    {
      "type": "text",
      "text": "A kitten plays the piano under the Eiffel Tower"
    }
  ],
  "ratio": "3:4",
  "duration": 5,
  "resolution": "480p",
  "tools": [
    {
      "type": "web_search"
    }
  ]
}

6.4 Image-to-Video — First Frame

{
  "content": [
    {
      "type": "text",
      "text": "A cat is playing a ball"
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/reference.jpg"
      },
      "role": "first_frame"
    }
  ],
  "generate_audio": true,
  "ratio": "3:4",
  "duration": 5,
  "resolution": "480p"
}

6.5 Image-to-Video — First and Last Frames

{
  "content": [
    {
      "type": "text",
      "text": "A cat is playing a ball"
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/first.jpg"
      },
      "role": "first_frame"
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/last.jpg"
      },
      "role": "last_frame"
    }
  ],
  "generate_audio": true,
  "ratio": "3:4",
  "duration": 5,
  "resolution": "480p"
}

6.6 Reference Images

{
  "content": [
    {
      "type": "text",
      "text": "A cat is playing a ball"
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/first.jpg"
      },
      "role": "reference_image"
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/last.jpg"
      },
      "role": "reference_image"
    }
  ],
  "generate_audio": true,
  "ratio": "3:4",
  "duration": 5,
  "resolution": "480p"
}

6.7 Reference Images — need_review

{
  "content": [
    {
      "type": "text",
      "text": "A cat is playing a ball"
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/first.jpg"
      },
      "role": "reference_image",
      "need_review": true
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/last.jpg"
      },
      "role": "reference_image"
    }
  ],
  "generate_audio": true,
  "ratio": "3:4",
  "duration": 5,
  "resolution": "480p"
}

6.8 Reference Content with Audio

{
  "content": [
    {
      "type": "text",
      "text": "A cat is playing a ball"
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/first.jpg"
      },
      "role": "reference_image"
    },
    {
      "type": "audio_url",
      "audio_url": {
        "url": "https://example.com/audio.mp3"
      },
      "role": "reference_audio"
    }
  ],
  "ratio": "3:4",
  "duration": 5,
  "resolution": "480p"
}

6.9 Video Editing

{
  "content": [
    {
      "type": "text",
      "text": "Replace the cat in this video to the dog in the picture."
    },
    {
      "type": "video_url",
      "video_url": {
        "url": "https://example.com/video.mp4"
      },
      "role": "reference_video"
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/dog.jpg"
      },
      "role": "reference_image"
    }
  ],
  "ratio": "3:4",
  "duration": 5,
  "resolution": "480p"
}