# Seedance Global This file is the focused AI-readable context for one UniAll documentation page. URL: https://docs.uniall.ai/models/video/seedance-global Locale: en Markdown: https://docs.uniall.ai/ai/pages/models/video/seedance-global.md Description: Call the four overseas Seedance models with text, frame images, and multimodal references through the UniAll video API. Agent guidance: - Use this page when the user is asking about this specific route or model capability. - Preserve endpoint paths, JSON keys, model IDs, and placeholder values exactly. - `{BASE_URL}` means `https://api.uniall.ai`; treat `sk-***` and `task_xxx` as safe placeholders, not real secrets. ## Page Markdown 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 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 " \ -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 " \ -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.