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

# Seedance Official Mirror Overview

> Seedance official mirror API (identical request/response to BytePlus Ark)

## Introduction

The Seedance official mirror API has **identical request and response bodies** to the BytePlus Ark Seedance official API—only the Base URL and authentication differ. Existing official SDK code needs only a change to `base_url` and `Authorization`.

**Base URL**: `https://api.gravitex.ai`

| Model ID            | Description                                                                | Resolution                       |
| ------------------- | -------------------------------------------------------------------------- | -------------------------------- |
| `seedance-2-0`      | Standard                                                                   | `480p`, `720p`, `1080p`, `4K`    |
| `seedance-2-5`      | Next-generation multimodal model; video generation, editing, and extension | Same as `seedance-2-0`           |
| `seedance-2-0-mini` | Cost-effective tier; about half the generation cost of `seedance-2-0`      | `480p`, `720p` (no `1080p`/`4K`) |
| `seedance-2-0-fast` | Fast                                                                       | `480p`, `720p` (no `1080p`/`4K`) |

<Note>
  This is a separate API from the platform simplified endpoints ([`/v1/video/generations`](/en/api-reference/endpoint/seedance-2.0/create-video-generation), [`/v1/assets`](/en/api-reference/endpoint/seedance-2.0/create-asset), etc.): asset library data is shared, but video task routing is independent.
</Note>

## Authentication

All endpoints: `Authorization: Bearer sk-{your_token_key}`, `Content-Type: application/json`.

## Asset library types

| Library     | `GroupType`    | Creation                                                                                                                |
| ----------- | -------------- | ----------------------------------------------------------------------------------------------------------------------- |
| Virtual     | `AIGC`         | [CreateAssetGroup](/en/api-reference/endpoint/seedance-2.0-new/create-asset-group)                                      |
| Live person | `LivenessFace` | [CreateVisualValidateSession](/en/api-reference/endpoint/seedance-2.0-new/create-visual-validate-session) H5 validation |

Recommended flow: create asset group → [CreateAsset](/en/api-reference/endpoint/seedance-2.0-new/create-asset) → poll until `Status: Active` → [Create video generation task](/en/api-reference/endpoint/seedance-2.0-new/create-video-generation) → [Get video generation task](/en/api-reference/endpoint/seedance-2.0-new/get-video-generation).

## Endpoint directory

### Video generation tasks

<CardGroup cols={2}>
  <Card title="Create video generation task" icon="upload" href="/en/api-reference/endpoint/seedance-2.0-new/create-video-generation">
    POST /api/v3/contents/generations/tasks
  </Card>

  <Card title="Get video generation task" icon="search" href="/en/api-reference/endpoint/seedance-2.0-new/get-video-generation">
    GET /api/v3/contents/generations/tasks/{id}
  </Card>

  <Card title="Cancel / delete video generation task" icon="trash" href="/en/api-reference/endpoint/seedance-2.0-new/delete-video-generation">
    DELETE /api/v3/contents/generations/tasks/{id}
  </Card>
</CardGroup>

### Asset library (unified envelope Action)

All asset library operations use the same endpoint, distinguished by the `Action` query parameter:

```
POST https://api.gravitex.ai/api/v3/seedance?Action=<ActionName>&Version=2024-01-01
```

Responses use the `{ ResponseMetadata, Result }` envelope (except the two liveness validation Actions, which return a flat structure).

<CardGroup cols={2}>
  <Card title="CreateAssetGroup" icon="folder-plus" href="/en/api-reference/endpoint/seedance-2.0-new/create-asset-group">
    Create asset group (forced AIGC)
  </Card>

  <Card title="CreateAsset" icon="file-plus" href="/en/api-reference/endpoint/seedance-2.0-new/create-asset">
    Create asset
  </Card>

  <Card title="ListAssetGroups" icon="folders" href="/en/api-reference/endpoint/seedance-2.0-new/list-asset-groups">
    List asset groups
  </Card>

  <Card title="ListAssets" icon="list" href="/en/api-reference/endpoint/seedance-2.0-new/list-assets">
    List assets
  </Card>

  <Card title="GetAsset" icon="file" href="/en/api-reference/endpoint/seedance-2.0-new/get-asset">
    Get asset
  </Card>

  <Card title="GetAssetGroup" icon="folder" href="/en/api-reference/endpoint/seedance-2.0-new/get-asset-group">
    Get asset group
  </Card>

  <Card title="UpdateAsset" icon="pen" href="/en/api-reference/endpoint/seedance-2.0-new/update-asset">
    Update asset (Name)
  </Card>

  <Card title="UpdateAssetGroup" icon="pen-to-square" href="/en/api-reference/endpoint/seedance-2.0-new/update-asset-group">
    Update asset group (Name/Description)
  </Card>

  <Card title="DeleteAsset" icon="file-minus" href="/en/api-reference/endpoint/seedance-2.0-new/delete-asset">
    Delete asset
  </Card>

  <Card title="DeleteAssetGroup" icon="trash" href="/en/api-reference/endpoint/seedance-2.0-new/delete-asset-group">
    Delete asset group (cascade)
  </Card>
</CardGroup>

### Live person asset library (LivenessFace)

<CardGroup cols={2}>
  <Card title="CreateVisualValidateSession" icon="user-check" href="/en/api-reference/endpoint/seedance-2.0-new/create-visual-validate-session">
    Start liveness validation session
  </Card>

  <Card title="GetVisualValidateResult" icon="user" href="/en/api-reference/endpoint/seedance-2.0-new/get-visual-validate-result">
    Get validation result and create asset group
  </Card>
</CardGroup>

## Recommended flow

1. (Optional) CreateAssetGroup → CreateAsset → poll until `Status: Active`
2. `POST /api/v3/contents/generations/tasks` to submit a task
3. `GET /api/v3/contents/generations/tasks/{id}` poll until `succeeded`
4. Optionally `DELETE` to cancel queued tasks or clean up completed records

## Error handling

Asset library errors use the envelope `ResponseMetadata.Error.{Code,Message}`:

| Scenario                         | HTTP  | `Error.Code`       |
| -------------------------------- | ----- | ------------------ |
| `Action` not in supported list   | `400` | `InvalidAction`    |
| Request body is not valid JSON   | `400` | `InvalidParameter` |
| No available channel             | `503` | `NoChannel`        |
| Quota check server error         | `500` | `QuotaCheckFailed` |
| Asset group count limit exceeded | `403` | `QuotaExceeded`    |
| Upstream call failed             | `502` | `UpstreamError`    |

Video generation task API errors return the corresponding upstream status code and error body.
