# Seedance Global

> Call the four overseas Seedance models with text, frame images, and multimodal references through the UniAll video API.

Canonical URL: https://docs.uniall.ai/models/video/seedance-global
Locale: en

Use the exact model IDs below with the UniAll video API. The `-global` suffix is part of each model name. These models support text-to-video, image-to-video, first-and-last-frame generation, and multimodal references.

## Supported Models

| Model | Resolutions | Output duration |
| --- | --- | --- |
| `seedance2.0-global` | 480p, 720p, 1080p, 4k | 4–15 seconds |
| `seedance2.0-fast-global` | 480p, 720p | 4–15 seconds |
| `seedance2.0-mini-global` | 480p, 720p | 4–15 seconds |
| `seedance2.5-global` | 480p, 720p, 1080p | 4–30 seconds |

## Endpoints And Authentication

The API base URL is `https://api.uniall.ai`.

```http
POST /v1/videos
GET  /v1/videos/{task_id}
GET  /v1/videos/{task_id}/content
```

Send your UniAll API key on every request:

```http
Authorization: Bearer <UNIAI_API_KEY>
Content-Type: application/json
```

## Request Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `model` | string | Yes | One of the four exact model IDs above. |
| `prompt` | string | Yes | Video instruction; alternatively, provide a type=text item in content. |
| `resolution` | string | Yes | A resolution supported by the selected model. |
| `duration` | integer | Yes | Output duration within the selected model's range. Automatic duration is not supported. |
| `aspect_ratio` | string | No | auto, 21:9, 16:9, 4:3, 1:1, 3:4, or 9:16. |
| `image` | string | No | First-frame image URL. Use it alone for image-to-video, or with last_image for first-and-last-frame generation. |
| `last_image` | string | No | Last-frame image URL; requires a first-frame image. |
| `images` | string[] | No | Reference image URLs for multimodal generation. |
| `videos` | string[] | No | Reference video URLs for multimodal generation. |
| `audios` | string[] | No | Reference audio URLs for multimodal generation. |
| `content` | object[] | No | Structured text and reference-media parts; see the example below. |
| `generate_audio` | boolean | No | Whether to generate audio; defaults to true. Explicit false is preserved. |
| `seed` | integer | No | Random seed. |
| `return_last_frame` | boolean | No | Only seedance2.5-global; requests the generated last frame when available. Omit this field for all 2.0 models. |
| `output_format` | string | No | Only mp4; defaults to mp4. |

Use top-level parameters. `size` is a compatibility alias for `resolution`; `ratio` is an alias for `aspect_ratio`, with `adaptive` equivalent to `auto`. If both an alias and its canonical field are present, their values must agree.

These models do not support `watermark`, Draft generation, video editing or extension, web search, or the domestic models' advanced controls. Omit unsupported fields even when their value is `false`.

## Text-To-Video Example

```bash
curl -X POST "https://api.uniall.ai/v1/videos" \
  -H "Authorization: Bearer <UNIAI_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance2.0-global",
    "prompt": "A small sailboat crosses a calm lake at sunrise, with a slow cinematic camera movement.",
    "resolution": "720p",
    "duration": 5,
    "aspect_ratio": "16:9",
    "generate_audio": true
  }'
```

## Image And Reference Inputs

Use public HTTP(S) media URLs. For a first-and-last-frame request, send the following body to `POST /v1/videos`:

```json
{
  "model": "seedance2.0-fast-global",
  "prompt": "Move smoothly from the first frame to the last frame while preserving the product appearance.",
  "resolution": "720p",
  "duration": 5,
  "image": "https://example.com/first.png",
  "last_image": "https://example.com/last.png",
  "generate_audio": false
}
```

For multimodal references, use `images`, `videos`, and `audios`, or structured `content` with explicit media roles:

```json
{
  "model": "seedance2.5-global",
  "resolution": "720p",
  "duration": 6,
  "content": [
    {
      "type": "text",
      "text": "Animate the reference product using the camera movement in the reference video."
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://example.com/product.png"
      },
      "role": "reference_image"
    },
    {
      "type": "video_url",
      "video_url": {
        "url": "https://example.com/motion.mp4"
      },
      "role": "reference_video"
    }
  ],
  "generate_audio": true
}
```

| Model family | Maximum images | Maximum videos | Maximum audio clips |
| --- | --- | --- | --- |
| 2.0 Global, Fast Global, Mini Global | `9` | `3` | `3` |
| 2.5 Global | `30` | `10` | `10` |

Do not combine first/last-frame inputs with multimodal references in the same request. The 2.0 models require at least one image or video alongside audio references.

## Response And Task Result

A successful creation returns a task object. Save its public task ID:

```json
{
  "id": "task_xxxxxxxxxxxxx",
  "task_id": "task_xxxxxxxxxxxxx",
  "object": "video.generation.job",
  "model": "seedance2.0-global",
  "status": "queued",
  "progress": 0
}
```

Poll `GET /v1/videos/{task_id}` every 3 to 10 seconds until `completed` or `failed`. See [Video Generation Overview](/models/video/overview#video-task-lifecycle) for the complete status, result, and authenticated-download contract. Download the returned `video_url` promptly; result URLs may expire.

Do not automatically repeat task creation after a timeout or uncertain outcome. Query the existing task ID when one was returned, and establish the original request's outcome before submitting again.

## Overseas Material Library

The separate overseas material API is pending release. Use ordinary HTTP(S) references until it is enabled for your integration. The following describes its prepared calling contract.

| Action | Method | Path |
| --- | --- | --- |
| Create material | `POST` | `/v1/materials/global` |
| Query one material | `GET` | `/v1/materials/global/{id}` |
| Delete material | `DELETE` | `/v1/materials/global/{id}` |

Material calls do not take a model name. There is no material-list endpoint. To create material, provide a URL, type, optional name, and an `Idempotency-Key` header:

```bash
curl -X POST "https://api.uniall.ai/v1/materials/global" \
  -H "Authorization: Bearer <UNIAI_API_KEY>" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: global-reference-001" \
  -d '{
    "url": "https://example.com/product.png",
    "type": "image",
    "name": "product-reference"
  }'
```

`type` accepts `image`, `video`, or `audio`. `name` retains up to 50 characters. The idempotency key must contain 1–191 visible ASCII characters without spaces. Keep the same key and body for retries; do not switch to a new key after an uncertain upload.

Creation returns HTTP 202 with a `gmat-*` ID. Query its details until `status=available`, then use the returned `uri` in the corresponding media field:

```json
{
  "id": "gmat-example",
  "object": "material",
  "type": "image",
  "name": "product-reference",
  "status": "available",
  "uri": "asset://gmat-example",
  "created_at": "2026-11-09T03:00:00+00:00"
}
```

```json
{
  "model": "seedance2.0-global",
  "prompt": "Show the reference product turning slowly under soft studio lighting.",
  "resolution": "720p",
  "duration": 5,
  "image": "asset://gmat-example"
}
```

Use the same UniAll user for material and video requests. Domestic material IDs cannot be used here. Reuse across the four overseas models remains subject to availability; cross-model reuse is not yet verified. No fixed material lifetime is promised. A material in use by a generation task cannot be deleted until that task finishes.

## Billing Notes

Use the current pricing shown for the selected model in UniAll. Resolution, duration, and reference-video inputs can affect the charge; the final usage record is authoritative.

## Common Errors

- Missing the `-global` suffix, or using the suffix in the wrong position.
- Omitting `resolution` or `duration`, or sending `duration: "auto"`.
- Selecting `1080p` or `4k` for Fast/Mini, or `4k` for 2.5 Global.
- Sending unsupported fields such as `watermark` or `draft`.
- Mixing first/last-frame inputs with multimodal references, or exceeding media-count limits.
- Using domestic material IDs, another user's material, or material that is not yet available.
