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

# Create video generation (Seedance 2.0 / 2.5)

> Generate videos with seedance 2.0 / seedance 2.5. Per-second billing with first/last frame and reference support.

`seedance 2.0` and `seedance 2.5` belong to the `seedance/h3` group and use the unified `POST /v1/videos` endpoint with per-second billing; the resolution determines the per-second price. Tasks are asynchronous: creation returns a `task_id`, then use [Retrieve video task](https://docs.dimilinks.com/en/api-reference/videos/tasks.md) to poll status and download the result.

> [!NOTE]
>
> Public model names carry **no `-A` suffix**: pass either `seedance 2.0` or `seedance 2.5` as `model`. See [Video groups and billing rules](https://docs.dimilinks.com/en/api-reference/videos/groups.md) for the differences between the two video groups.

## Endpoint

```http theme={null}
POST https://api-direct.dimilinks.com/v1/videos
Content-Type: application/json
Authorization: Bearer <DIMILINKS_API_KEY>
```

## Text-to-video example

```bash theme={null}
curl "https://api-direct.dimilinks.com/v1/videos" \
  -H "Authorization: Bearer $DIMILINKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance 2.5",
    "prompt": "Cinematic city night scene, a person walking along a wet street, steady tracking shot",
    "seconds": 8,
    "resolution": "720p",
    "aspect_ratio": "16:9"
  }'
```

Success response:

```json theme={null}
{
  "id": "task_xxx",
  "task_id": "task_xxx",
  "object": "video",
  "model": "seedance 2.5",
  "status": "queued",
  "progress": 0
}
```

## Model capabilities

| Item | `seedance 2.0` | `seedance 2.5` |
| - | - | - |
| Positioning | Standard quality | New generation |
| Duration | 4-15 seconds | 4-30 seconds |
| Resolution | 480p / 720p / 1080p | 480p / 720p |
| Aspect ratios | 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 / Auto | 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 |
| Defaults | 4s, 480p, 16:9 | 4s, 480p, 16:9 |

## Pricing

| Resolution | `seedance 2.0` per second (¥) | `seedance 2.5` per second (¥) |
| - | -: | -: |
| 480p | 0.60 | 0.70 |
| 720p | 1.00 | 1.30 |
| 1080p | 1.80 | unsupported |

Cost = per-second price × `seconds`. Prices may change; use `GET /api/pricing` as the runtime source of truth.

## Parameters

| Parameter | Type | Required | Description |
| - | - | - | - |
| `model` | string | yes | `seedance 2.0` or `seedance 2.5` (no `-A` suffix). |
| `prompt` | string | yes | Video description; reference media with `@图N` / `@视频N` / `@音频N` placeholders, numbered from 1 by array position. |
| `seconds` | integer | no | `seedance 2.0`: 4-15s; `seedance 2.5`: 4-30s; default 4. |
| `resolution` | string | no | `seedance 2.0`: `480p` / `720p` / `1080p`; `seedance 2.5`: `480p` / `720p`; default `480p`. |
| `aspect_ratio` | string | no | See the capability table; default `16:9`. `seedance 2.5` does not support `Auto`. |
| `references` | array | no | Reference media array, see below. |

## Reference media

Put media into the `references` array. Each `source` must be a public HTTPS URL the server can fetch directly:

```json theme={null}
{
  "references": [
    { "type": "image", "role": "reference", "source": "https://cdn.example.com/character.png" },
    { "type": "video", "role": "reference", "source": "https://cdn.example.com/motion.mp4" },
    { "type": "audio", "role": "reference", "source": "https://cdn.example.com/dialogue.mp3" }
  ]
}
```

Limits:

* `seedance 2.0`: images ≤ 9, videos ≤ 3, audios ≤ 3, total ≤ 12; reference videos 1.8-15s each, total ≤ 15s; reference audio 2-15s.
* `seedance 2.5`: images ≤ 30, videos ≤ 10, audios ≤ 10, total ≤ 50; reference videos ≤ 30s each and in total; reference audio 2-30s.
* Single file ≤ 100 MB; reference video pixels roughly 640×640 to 4K.
* `role` can be `reference` / `first_frame` / `last_frame`: videos and audios only use `reference`; first/last frames must be images.

## First/last frame mode (only `seedance 2.0`)

* First and last frames must be submitted in pairs, as images only, and cannot be mixed with ordinary references.
* Frame mode supports only the `Auto` aspect ratio.
* `@图N` and `@图片N` are equivalent in prompts; every submitted reference must be referenced in the prompt, unreferenced media is rejected.

## Next step

Save the `task_id` from the creation response, then poll with [Retrieve video task](https://docs.dimilinks.com/en/api-reference/videos/tasks.md) until `completed` before downloading. For a lower-cost 720p option, use the [doubao seedance group](https://docs.dimilinks.com/en/api-reference/videos/groups.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.