> ## Documentation Index
> Fetch the complete documentation index at: https://docs.magnific.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Seedance 2.5 Pro API

> Generate high-quality AI videos with Seedance 2.5 Pro. Text-to-video, image-to-video, reference-driven and multishot generation at 480p, 720p, or 1080p, 4 to 30 second durations, native audio, camera motion control, and seven aspect ratios.

<Card title="Seedance 2.5 Pro integration" icon="video">
  Seedance 2.5 Pro is the latest Seedance video model, generating videos from text, images, reference media, or a multishot storyboard at 480p, 720p, and 1080p — with native audio, camera-motion control, and durations from 4 to 30 seconds.
</Card>

Seedance 2.5 Pro is an AI video generation API that produces videos from a text prompt (text-to-video), from a first-frame `image` and optional last-frame `image_end` (image-to-video and transitions), from a set of `reference_images` and `reference_audios` (reference-to-video), or from a `multishot` storyboard of up to six shots. A single text `prompt` is always required. Compared with Seedance 2.0 Pro, the 2.5 model adds native audio generation, camera-motion presets, subject/style/audio references, multishot sequences, flexible durations from 4 to 30 seconds, and a selectable output container.

Resolution is selected at generation time: there is a dedicated **480p**, **720p**, and **1080p** generate endpoint. Task listing and status are per resolution — each resolution has its own list and status endpoint.

### Key capabilities

* **Text-to-video and image-to-video**: Generate from a text prompt alone, or guide generation with a first-frame `image` and optional last-frame `image_end`
* **First-to-last-frame transitions**: Provide both `image` and `image_end` to generate a video that transitions between the two frames
* **Reference-to-video**: Supply up to 30 `reference_images` (subjects, characters, products, styles) and up to 10 `reference_audios`, and cite them in the prompt with `@Image1`, `@Audio1`, …
* **Multishot storyboards**: Provide up to 6 `multishot` shots to drive a multi-scene sequence in a single request
* **Native audio**: Generate sound effects and ambience with `sound_effects`, and optionally suppress background music with `no_music`
* **Camera motion control**: Choose from more than 50 `camera_motion` presets, or keep a static tripod shot with `camera_fixed`
* **Resolution by generate endpoint**: Dedicated `480p`, `720p`, and `1080p` generate endpoints; resolution is not a body parameter
* **Flexible durations**: Any integer from `4` to `30` seconds (default `5`)
* **Seven aspect ratios**: From ultra-wide `film_horizontal_21_9` to ultra-tall `film_vertical_9_21`, default `widescreen_16_9`
* **Selectable output format**: `mp4` (default) or `mov`
* **Reproducible output**: Provide a `seed` (0 to 4294967295) to repeat results; `-1` selects a random seed
* **Safety filtering**: Content safety checker is enabled by default via `enable_safety_checker`
* **Async processing**: Webhook notifications or polling for task completion
* **24-hour delivery**: Generated video is returned via a URL valid for 24 hours

### Use cases

* **Premium marketing content**: Produce high-resolution 1080p clips with native audio for ads, launches, and brand campaigns
* **Cinematic storytelling**: Combine `camera_motion` presets, ultra-wide `film_horizontal_21_9`, and multishot sequences for film-style scenes
* **Character and product consistency**: Keep the same subject or product across shots with `reference_images`
* **Longer-form clips**: Generate up to 30 seconds in a single request
* **Social media content**: Generate vertical `social_story_9_16` clips for TikTok, Instagram Reels, and YouTube Shorts

### Generation modes

| Mode                   | Required input                                          | Optional input                                                                       | Output behavior                                                           |
| ---------------------- | ------------------------------------------------------- | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
| **Text-to-Video**      | `prompt`                                                | `aspect_ratio`, `duration`, `seed`, `camera_fixed`, `camera_motion`, `sound_effects` | Video generated entirely from the text prompt                             |
| **Image-to-Video**     | `prompt` + `image`                                      | `image_end`, `duration`, `seed`, `camera_fixed`                                      | Video starts from the first-frame image; add `image_end` for a transition |
| **Reference-to-Video** | `prompt` + `reference_images` and/or `reference_audios` | `duration`, `seed`, `camera_fixed`, `camera_motion`                                  | Prompt cites references with `@Image1`, `@Audio1`, …                      |
| **Multishot**          | `prompt` + `multishot`                                  | `duration` (per shot and total), `seed`                                              | Up to 6 shots drive a multi-scene sequence                                |

## API Operations

Generate a video using the `480p`, `720p`, or `1080p` endpoint, then track it with the list and status endpoints for that resolution. Generation returns a task ID for async polling or webhook notification.

<div className="my-11">
  <Columns cols={2}>
    <Card title="POST /v1/ai/video/seedance-2-5-pro-480p" icon="video" href="/api-reference/video/seedance-2-5-pro/generate-480p">
      Generate a 480p video from text, image, references, or a multishot storyboard
    </Card>

    <Card title="POST /v1/ai/video/seedance-2-5-pro-720p" icon="video" href="/api-reference/video/seedance-2-5-pro/generate-720p">
      Generate a 720p video from text, image, references, or a multishot storyboard
    </Card>

    <Card title="POST /v1/ai/video/seedance-2-5-pro-1080p" icon="video" href="/api-reference/video/seedance-2-5-pro/generate-1080p">
      Generate a 1080p video from text, image, references, or a multishot storyboard
    </Card>

    <Card title="GET /v1/ai/video/seedance-2-5-pro-{res}" icon="list" href="/api-reference/video/seedance-2-5-pro/tasks-1080p">
      List tasks for a given resolution
    </Card>

    <Card title="GET /v1/ai/video/seedance-2-5-pro-{res}/{task-id}" icon="magnifying-glass" href="/api-reference/video/seedance-2-5-pro/task-by-id-1080p">
      Get task status and result by ID
    </Card>
  </Columns>
</div>

### Endpoint structure

| Operation          | Endpoint                                                        |
| ------------------ | --------------------------------------------------------------- |
| **Generate 480p**  | `POST /v1/ai/video/seedance-2-5-pro-480p`                       |
| **Generate 720p**  | `POST /v1/ai/video/seedance-2-5-pro-720p`                       |
| **Generate 1080p** | `POST /v1/ai/video/seedance-2-5-pro-1080p`                      |
| **List tasks**     | `GET /v1/ai/video/seedance-2-5-pro-{480p,720p,1080p}`           |
| **Get task**       | `GET /v1/ai/video/seedance-2-5-pro-{480p,720p,1080p}/{task-id}` |

### Parameters

Resolution is determined by the generate endpoint you call (`-480p`, `-720p`, or `-1080p`) and is not a body parameter. The request body is identical for all three endpoints.

| Parameter               | Type       | Required | Default           | Description                                                                                                                                                                                                                                                                                 |
| ----------------------- | ---------- | -------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `prompt`                | `string`   | Yes      | -                 | Text description of the video. Cite references as `@Image1`, `@Audio1`, … in 1-indexed array order. Up to 2000 characters                                                                                                                                                                   |
| `image`                 | `string`   | No       | -                 | First-frame image for image-to-video, as a public URL or Base64 string. Mutually exclusive with `reference_images`                                                                                                                                                                          |
| `image_end`             | `string`   | No       | -                 | Last-frame image, as a public URL or Base64 string. Requires `image`; produces a first-to-last-frame transition                                                                                                                                                                             |
| `reference_images`      | `string[]` | No       | -                 | Up to 30 reference images (subjects, characters, products, styles). Cite them as `@Image1` … `@Image30`. Mutually exclusive with `image`                                                                                                                                                    |
| `reference_audios`      | `string[]` | No       | -                 | Up to 10 reference audios (2–60s each, mp3 or wav URL). Cite them as `@Audio1` … `@Audio10`                                                                                                                                                                                                 |
| `multishot`             | `object[]` | No       | -                 | Up to 6 shots, each `{ prompt, duration? }` (per-shot `prompt` up to 2000 characters, per-shot `duration` from `1` to `12` seconds). When provided, the shots drive generation (top-level `prompt` still required). If any shot has a `duration`, all must, and they must sum to `duration` |
| `duration`              | `integer`  | No       | `5`               | Video length in seconds: any integer from `4` to `30`                                                                                                                                                                                                                                       |
| `aspect_ratio`          | `string`   | No       | `widescreen_16_9` | Output ratio: `film_horizontal_21_9`, `widescreen_16_9`, `classic_4_3`, `square_1_1`, `traditional_3_4`, `social_story_9_16`, `film_vertical_9_21`. Ignored when `image` is provided                                                                                                        |
| `camera_fixed`          | `boolean`  | No       | `false`           | When `true`, the camera stays fixed (tripod shot); when `false`, natural camera movement may be applied                                                                                                                                                                                     |
| `camera_motion`         | `string`   | No       | -                 | One of 50+ camera-motion presets (e.g. `orbitLeft`, `pushIn`, `craneUp`, `fpvDrone`). Expanded into a descriptive instruction appended to the prompt                                                                                                                                        |
| `sound_effects`         | `boolean`  | No       | `true`            | Generate native audio (sound effects and ambience) for the video                                                                                                                                                                                                                            |
| `no_music`              | `boolean`  | No       | `false`           | Suppress background music in the native audio. Only applies when `sound_effects` is enabled                                                                                                                                                                                                 |
| `output_format`         | `string`   | No       | `mp4`             | Container format: `mp4` (default) or `mov`. `mov` trades file size for colour fidelity                                                                                                                                                                                                      |
| `seed`                  | `integer`  | No       | `-1`              | Random seed for reproducible results (`0` to `4294967295`). Use `-1` for a random seed                                                                                                                                                                                                      |
| `enable_safety_checker` | `boolean`  | No       | `true`            | Enables content safety filtering on the generated video                                                                                                                                                                                                                                     |
| `webhook_url`           | `string`   | No       | -                 | URL for async status notifications when the task completes                                                                                                                                                                                                                                  |

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title="What is Seedance 2.5 Pro and how does it work?">
    Seedance 2.5 Pro is the latest Seedance video model. You submit a text `prompt` (and optionally an `image`, `reference_images`, `reference_audios`, or a `multishot` storyboard) to a resolution-specific generate endpoint and receive a task ID immediately. Poll the GET status endpoint for that resolution or supply a `webhook_url` to be notified when the task completes, then download the video from the returned URL (valid for 24 hours).
  </Accordion>

  <Accordion title="How do I choose 480p, 720p, or 1080p?">
    Resolution is selected by the generate endpoint, not by a body parameter. Call `POST /v1/ai/video/seedance-2-5-pro-480p` for 480p, `POST /v1/ai/video/seedance-2-5-pro-720p` for 720p, or `POST /v1/ai/video/seedance-2-5-pro-1080p` for 1080p.
  </Accordion>

  <Accordion title="How do I check task status?">
    Task listing and status are per resolution. Use `GET /v1/ai/video/seedance-2-5-pro-{resolution}` to list tasks and `GET /v1/ai/video/seedance-2-5-pro-{resolution}/{task-id}` to get a single task, using the same resolution you generated with.
  </Accordion>

  <Accordion title="How do references work?">
    Provide `reference_images` (up to 30) and/or `reference_audios` (up to 10), then cite them in the `prompt` by index: `@Image1` is the first item of `reference_images`, `@Audio1` is the first item of `reference_audios`, and so on. `reference_images` is mutually exclusive with the first-frame `image`; `reference_audios` accepts 2–60 second mp3 or wav URLs.
  </Accordion>

  <Accordion title="What is multishot and how do durations work?">
    `multishot` is an ordered list of up to 6 shots, each with its own `prompt` (up to 2000 characters) and optional `duration` (1 to 12 seconds). When provided, the shots drive the generation and the top-level `prompt` is still required. If any shot specifies a `duration`, every shot must, and the per-shot durations must sum to the top-level `duration`.
  </Accordion>

  <Accordion title="Does Seedance 2.5 Pro generate audio?">
    Yes. Native audio (sound effects and ambience) is generated by default (`sound_effects: true`). Set `sound_effects: false` for a silent video, or keep audio and set `no_music: true` to suppress background music while keeping other sound.
  </Accordion>

  <Accordion title="What camera controls are available?">
    Use `camera_fixed: true` for a static tripod shot, or set `camera_motion` to one of 50+ presets (for example `orbitLeft`, `pushIn`, `craneUp`, `whipPan`, `fpvDrone`) to guide the shot. The preset is expanded into a descriptive instruction appended to the prompt.
  </Accordion>

  <Accordion title="What video durations does Seedance 2.5 Pro support?">
    Any integer from `4` to `30` seconds. The default is `5` seconds.
  </Accordion>

  <Accordion title="What aspect ratios are available?">
    Seven aspect ratios: `film_horizontal_21_9` (21:9), `widescreen_16_9` (16:9, default), `classic_4_3` (4:3), `square_1_1` (1:1), `traditional_3_4` (3:4), `social_story_9_16` (9:16), and `film_vertical_9_21` (9:21). This parameter is ignored when a first-frame `image` is provided.
  </Accordion>

  <Accordion title="Can I choose the output file format?">
    Yes. Set `output_format` to `mp4` (default) or `mov`. `mov` trades a larger file size for higher colour fidelity.
  </Accordion>

  <Accordion title="Can I reproduce the same video?">
    Yes. Provide a fixed `seed` value (from `0` to `4294967295`) together with the same prompt and parameters to get consistent results. Use `-1` (the default) for a random seed on each request.
  </Accordion>

  <Accordion title="What are the rate limits and pricing for Seedance 2.5 Pro?">
    Rate limits and pricing depend on your subscription tier and the selected resolution and duration. See the [Rate Limits](/ratelimits) and [Pricing](/pricing) pages for current values.
  </Accordion>
</AccordionGroup>

## Best practices

* **Resolution choice**: Use the `-1080p` endpoint for final, high-fidelity output and the `-480p` or `-720p` endpoints for faster, lower-cost iterations
* **Prompt writing**: Be specific about the scene, subjects, motion, lighting, and visual style; when using references, cite them explicitly as `@Image1`, `@Audio1`, …
* **References**: Use `reference_images` to keep a character or product consistent; remember it is mutually exclusive with the first-frame `image`
* **Multishot**: Either omit all per-shot durations (let the model distribute time) or set every one so they sum to the total `duration`
* **Audio**: Native audio can occasionally be moderated; if a request is rejected for audio content, retry with `sound_effects: false`
* **Camera control**: Set `camera_fixed: true` for stable product or talking-head shots, or pick a `camera_motion` preset for deliberate movement
* **Reproducibility**: Fix the `seed` while iterating on a prompt so you can compare changes consistently
* **Production integration**: Use webhooks instead of polling for scalable applications
* **Result retrieval**: Download the output promptly, as the delivery URL is valid for 24 hours

## Related APIs

* **[Seedance 2.0 Pro](/api-reference/video/seedance-2-pro/overview)**: Previous Seedance Pro generation with 480p, 720p, 1080p, and 4K generate endpoints
* **[Seedance 2.0 Fast](/api-reference/video/seedance-2-fast/overview)**: Speed-optimized Seedance 2.0 variant
* **[Kling 3](/api-reference/video/kling-v3/overview)**: Higher-fidelity Kling 3.0 model for premium output
