Version: v1.0 | Release Date: 2026-06-24 | Environment: DataeyesAI Public Cloud
asset://<AssetId> protocol, eliminating the need for repeated uploads.| Capability | Description |
|---|---|
| Asset Group Management | Organize assets into groups by business dimension, with full CRUD support |
| Asset Hosting | Supports asynchronous upload, status polling, referencing, and deletion of Image / Video / Audio resources |
| Account Isolation | All resources are isolated at the account level. All API tokens under the same account share the same asset library; cross-account access is not permitted |
| Content Moderation | Assets are automatically reviewed for content safety after upload. Only assets with Active status can be used in video generation |
| Environment | Endpoint |
|---|---|
| DataeyesAI (Public Cloud) | https://platform.dataeyes.ai |
| Private Deployment | Provided by the deployment party, as per contract |
Authorization: Bearer <YOUR_API_KEY>| Scenario | HTTP Status | Response Body |
|---|---|---|
| Token not provided | 401 | {"error":{"code":"","message":"未提供令牌 (request id: ...)","type":"server_error"}} |
| Token invalid or disabled | 401 | {"error":{"code":"","message":"无效的令牌 (request id: ...)","type":"server_error"}} |
Action query parameter:POST https://platform.dataeyes.ai/seedance?Action=<ActionName>&Version=2024-01-01| Parameter | Description |
|---|---|
Action | Operation name, case-sensitive. e.g., CreateAssetGroup, ListAssets |
Version | API version, currently fixed as 2024-01-01 |
POST /seedance/api/v3/contents/generations/tasks
GET /seedance/api/v3/contents/generations/tasks/{task_id}application/jsonGroupId, AssetType); video generation APIs use snake_case (e.g., image_url, generate_audio){
"ResponseMetadata": {
"RequestId": "2026062415283493B3836D523A0F3F0AFB",
"Action": "CreateAssetGroup",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "group-20260624152835-lb6rn"
}
}ResponseMetadata.RequestId: Unique identifier for this request. Always provide this field when troubleshooting.Result: Business data, structured per API definition.ResponseMetadata):{
"error": "resource does not belong to current user"
}ResponseMetadata.Error):{
"ResponseMetadata": {
"RequestId": "...",
"Action": "CreateAssetGroup",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing",
"Error": {
"Code": "MissingParameter.Name",
"Message": "The required parameter Name is missing."
}
}
}2026-06-24T07:28:35Z.| Resource Type | Format | Example |
|---|---|---|
| Asset Group | group-<YYYYMMDDHHmmss>-<5-char random> | group-20260624152835-lb6rn |
| Asset | asset-<YYYYMMDDHHmmss>-<5-char random> | asset-20260624152850-mftbb |
| Video Task | cgt-<YYYYMMDDHHmmss>-<5-char random> | cgt-20260624152927-ptz2s |
POST /seedance?Action=CreateAssetGroup&Version=2024-01-01| Parameter | Type | Required | Description |
|---|---|---|---|
| Name | string | Yes | Asset group name, 1–64 characters |
| Description | string | No | Asset group description, max 256 characters |
| GroupType | string | No | Asset group type, defaults to AIGC. Currently only AIGC is supported |
| Parameter | Type | Description |
|---|---|---|
| Result.Id | string | Newly created asset group ID |
{
"ResponseMetadata": {
"RequestId": "2026062415283493B3836D523A0F3F0AFB",
"Action": "CreateAssetGroup",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "group-20260624152835-lb6rn"
}
}POST /seedance?Action=ListAssetGroups&Version=2024-01-01| Parameter | Type | Required | Description |
|---|---|---|---|
| PageNumber | integer | No | Page number, defaults to 1, starting from 1 |
| PageSize | integer | No | Items per page, defaults to 10, max 100 |
| Filter.GroupType | string | No | Type filter, defaults to AIGC |
| Parameter | Type | Description |
|---|---|---|
| Result.TotalCount | integer | Total matching count |
| Result.PageNumber | integer | Current page number |
| Result.PageSize | integer | Current page size |
| Result.Items[] | array | List of asset groups |
| Result.Items[].Id | string | Asset group ID |
| Result.Items[].Name | string | Asset group name |
| Result.Items[].Description | string | Asset group description |
| Result.Items[].GroupType | string | Type |
| Result.Items[].ProjectName | string | Project name |
| Result.Items[].CreateTime | string | Creation time (UTC) |
| Result.Items[].UpdateTime | string | Last update time (UTC) |
{
"ResponseMetadata": {
"RequestId": "2026062415282793B3836D523A0F3F0A8E",
"Action": "ListAssetGroups",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"TotalCount": 1,
"PageNumber": 1,
"PageSize": 10,
"Items": [
{
"Id": "group-20260624152835-lb6rn",
"Name": "brand_visual_lib",
"Description": "Brand visual asset library",
"GroupType": "AIGC",
"ProjectName": "default",
"CreateTime": "2026-06-24T07:28:35Z",
"UpdateTime": "2026-06-24T07:28:35Z"
}
]
}
}POST /seedance?Action=GetAssetGroup&Version=2024-01-01| Parameter | Type | Required | Description |
|---|---|---|---|
| Id | string | Yes | Asset group ID |
{
"ResponseMetadata": {
"RequestId": "2026062415284193B3836D523A0F3F0B63",
"Action": "GetAssetGroup",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "group-20260624152835-lb6rn",
"Name": "brand_visual_lib",
"Description": "Brand visual asset library",
"GroupType": "AIGC",
"ProjectName": "default",
"CreateTime": "2026-06-24T07:28:35Z",
"UpdateTime": "2026-06-24T07:28:35Z"
}
}GroupType cannot be changed after creation.POST /seedance?Action=UpdateAssetGroup&Version=2024-01-01| Parameter | Type | Required | Description |
|---|---|---|---|
| Id | string | Yes | Asset group ID |
| Name | string | No | New name, 1–64 characters |
| Description | string | No | New description, max 256 characters |
{
"ResponseMetadata": {
"RequestId": "202606241529076954A62A765732A09740",
"Action": "UpdateAssetGroup",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "group-20260624152835-lb6rn"
}
}POST /seedance?Action=DeleteAssetGroup&Version=2024-01-01| Parameter | Type | Required | Description |
|---|---|---|---|
| Id | string | Yes | Asset group ID |
{
"ResponseMetadata": {
"RequestId": "2026062415293548C21A8020C8E8AEA0B3",
"Action": "DeleteAssetGroup",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "group-20260624152835-lb6rn"
}
}Active before the asset can be referenced in video generation.POST /seedance?Action=CreateAsset&Version=2024-01-01| Parameter | Type | Required | Description |
|---|---|---|---|
| GroupId | string | Yes | Parent asset group ID |
| URL | string | Yes | Publicly accessible URL of the asset |
| AssetType | string | Yes | Asset type: Image / Video / Audio |
| Name | string | No | Asset name, 1–64 characters. Used only for fuzzy search in ListAssets, not passed to model inference |
| Parameter | Type | Description |
|---|---|---|
| Result.Id | string | Newly created asset ID |
{
"ResponseMetadata": {
"RequestId": "202606241528476954A62A765732A0969D",
"Action": "CreateAsset",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "asset-20260624152850-mftbb"
}
}Tip: Start polling the asset status immediately after upload. Image assets typically become Activewithin 3–10 seconds; video and audio assets may take longer.
POST /seedance?Action=ListAssets&Version=2024-01-01| Parameter | Type | Required | Description |
|---|---|---|---|
| Filter.Statuses | string[] | No | Status filter: Processing / Active / Failed |
| Filter.Name | string | No | Fuzzy name matching |
| Filter.AssetType | string | No | Type filter: Image / Video / Audio |
| PageNumber | integer | No | Page number, defaults to 1 |
| PageSize | integer | No | Items per page, defaults to 10, max 100 |
| SortBy | string | No | Sort field, currently supports CreateTime |
| SortOrder | string | No | Sort direction: Asc or Desc (default) |
Note: Filteris a nested object in the request body. Dot notation in the parameter table indicates hierarchy. For example,Filter.Statusescorresponds to{"Filter": {"Statuses": [...]}}in the request body.
| Parameter | Type | Description |
|---|---|---|
| Result.TotalCount | integer | Total matching count |
| Result.PageNumber | integer | Current page number |
| Result.PageSize | integer | Current page size |
| Result.Items[] | array | List of assets |
| Result.Items[].Id | string | Asset ID |
| Result.Items[].Name | string | Asset name |
| Result.Items[].URL | string | Temporary download link (only returned when Active, valid for 12 hours) |
| Result.Items[].AssetType | string | Asset type |
| Result.Items[].GroupId | string | Parent asset group ID |
| Result.Items[].Status | string | Status: Processing / Active / Failed |
| Result.Items[].Moderation | object | Moderation info |
| Result.Items[].Moderation.Strategy | string | Moderation strategy, defaults to Default |
| Result.Items[].CreateTime | string | Creation time (UTC) |
| Result.Items[].UpdateTime | string | Last update time (UTC) |
| Result.Items[].ProjectName | string | Project name |
{
"ResponseMetadata": {
"RequestId": "202606241528566954A62A765732A096EC",
"Action": "ListAssets",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"TotalCount": 5,
"PageNumber": 1,
"PageSize": 10,
"Items": [
{
"Id": "asset-20260624152850-mftbb",
"Name": "Product Hero Image",
"URL": "https://ark-media-asset.tos-cn-beijing.volces.com/.../product.png?X-Tos-Algorithm=...",
"AssetType": "Image",
"GroupId": "group-20260624152835-lb6rn",
"Status": "Active",
"Moderation": { "Strategy": "Default" },
"CreateTime": "2026-06-24T07:28:50Z",
"UpdateTime": "2026-06-24T07:28:52Z",
"ProjectName": "default"
}
]
}
}Note: The URLfield returns an empty string""when the asset status isProcessing. Once the status changes toActive, it returns a time-limited signed download link (valid for 12 hours by default). CallGetAssetagain to obtain a new link after expiration.
POST /seedance?Action=GetAsset&Version=2024-01-01| Parameter | Type | Required | Description |
|---|---|---|---|
| Id | string | Yes | Asset ID |
| Parameter | Type | Description |
|---|---|---|
| Result.Id | string | Asset ID |
| Result.Name | string | Asset name |
| Result.URL | string | Temporary download link (only returned when Active, valid for 12 hours) |
| Result.AssetType | string | Asset type |
| Result.GroupId | string | Parent asset group ID |
| Result.Status | string | Status: Processing / Active / Failed |
| Result.Moderation | object | Moderation info |
| Result.Moderation.Strategy | string | Moderation strategy |
| Result.CreateTime | string | Creation time (UTC) |
| Result.UpdateTime | string | Last update time (UTC) |
| Result.ProjectName | string | Project name |
{
"ResponseMetadata": {
"RequestId": "2026062415285732FCC6E4F3BC2FAF6887",
"Action": "GetAsset",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "asset-20260624152850-mftbb",
"Name": "Product Hero Image",
"URL": "https://ark-media-asset.tos-cn-beijing.volces.com/.../product.png?X-Tos-Algorithm=...",
"AssetType": "Image",
"GroupId": "group-20260624152835-lb6rn",
"Status": "Active",
"Moderation": { "Strategy": "Default" },
"CreateTime": "2026-06-24T07:28:50Z",
"UpdateTime": "2026-06-24T07:28:52Z",
"ProjectName": "default"
}
}| Phase | Interval | Notes |
|---|---|---|
| First poll | After 3 seconds | Images typically complete in 3–10 seconds |
| Subsequent polls | Exponential backoff up to 10 seconds | Video / audio may take longer |
| Timeout | 5 minutes | If still Processing, check source URL accessibility |
POST /seedance?Action=UpdateAsset&Version=2024-01-01| Parameter | Type | Required | Description |
|---|---|---|---|
| Id | string | Yes | Asset ID |
| Name | string | No | New name, 1–64 characters |
{
"ResponseMetadata": {
"RequestId": "202606241529076954A62A765732A09740",
"Action": "UpdateAsset",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "asset-20260624152850-mftbb"
}
}POST /seedance?Action=DeleteAsset&Version=2024-01-01| Parameter | Type | Required | Description |
|---|---|---|---|
| Id | string | Yes | Asset ID |
{
"ResponseMetadata": {
"RequestId": "202606241529296954A62A765732A097E8",
"Action": "DeleteAsset",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {}
}Active, it can be referenced in Seedance video generation APIs using the asset://<AssetId> protocol.POST /seedance/api/v3/contents/generations/tasks| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | Model name, e.g., doubao-seedance-2-0-260128 |
| content | array | Yes | Content array containing text descriptions and asset references |
| content[].type | string | Yes | Content type: text or image_url |
| content[].text | string | Conditional | Required when type=text, video description text |
| content[].role | string | Conditional | Optional when type=image_url, asset role (e.g., reference_image) |
| content[].image_url.url | string | Conditional | Required when type=image_url, supports asset://<AssetId> or public URL |
| ratio | string | No | Aspect ratio, e.g., 16:9, 9:16, 1:1 |
| duration | integer | No | Video duration (seconds), e.g., 5, 10 |
| watermark | boolean | No | Whether to add watermark, defaults to false |
| generate_audio | boolean | No | Whether to generate audio, defaults to false |
Asset Reference Convention: Pass assets in the contentarray usingasset://<AssetId>. In the prompt text, refer to assets using ordinal labels such as "Image 1", "Video 1", "Audio 1" (the ordinal is based on the asset's position among same-type assets in the array). Do NOT use Asset IDs directly in the prompt text.
{
"id": "cgt-20260624152927-ptz2s"
}GET /seedance/api/v3/contents/generations/tasks/{task_id}| Parameter | Type | Description |
|---|---|---|
| id | string | Task ID |
| model | string | Model used |
| status | string | Task status: queued / running / succeeded / failed / cancelled |
| content.video_url | string | Video download link (returned when succeeded), with time-limited signature, valid for 48 hours by default |
| usage.completion_tokens | integer | Tokens consumed for generation |
| usage.total_tokens | integer | Total tokens consumed |
| created_at | integer | Task creation time (Unix timestamp, seconds) |
| updated_at | integer | Task update time (Unix timestamp, seconds) |
| seed | integer | Random seed used for this generation |
| resolution | string | Output resolution, e.g., 720p |
| ratio | string | Aspect ratio |
| duration | integer | Video duration (seconds) |
| framespersecond | integer | Frame rate, defaults to 24 |
| service_tier | string | Service tier |
| execution_expires_after | integer | Task result retention duration (seconds), defaults to 172800 (48 hours) |
| generate_audio | boolean | Whether audio was generated |
{
"id": "cgt-20260624152927-ptz2s",
"model": "doubao-seedance-2-0-260128",
"status": "running",
"created_at": 1782286167,
"updated_at": 1782286167,
"service_tier": "default",
"execution_expires_after": 172800,
"generate_audio": true,
"draft": false,
"priority": 0
}{
"id": "cgt-20260624152927-ptz2s",
"model": "doubao-seedance-2-0-260128",
"status": "succeeded",
"content": {
"video_url": "https://ark-acg-cn-beijing.tos-cn-beijing.volces.com/.../video.mp4?X-Tos-Algorithm=..."
},
"usage": {
"completion_tokens": 108900,
"total_tokens": 108900
},
"created_at": 1782286167,
"updated_at": 1782286432,
"seed": 77923,
"resolution": "720p",
"ratio": "16:9",
"duration": 5,
"framespersecond": 24,
"service_tier": "default",
"execution_expires_after": 172800,
"generate_audio": true,
"draft": false,
"priority": 0
}| Phase | Interval | Notes |
|---|---|---|
| Initial | 5 seconds | Short videos (5s / 720p) typically complete in 1–3 minutes |
| Subsequent | 10 seconds | 4K resolution may take 30+ minutes |
Prerequisite: jq command-line JSON tool must be installed.
CreateAsset
│
▼
┌───────────────┐ Moderation ┌──────────┐
│ Processing │ ──── Failed ────►│ Failed │ (Irrecoverable)
└───────┬───────┘ └──────────┘
│ Moderation Passed
▼
┌───────────────┐
│ Active │ ── Can be referenced via asset:// in video generation
└───────┬───────┘
│ DeleteAsset
▼
(Deleted)| Status | Description | Available Operations |
|---|---|---|
Processing | In progress — fetching source file and performing content moderation | GetAsset (polling), DeleteAsset only |
Active | Moderation passed, ready for use | All operations; can be referenced via asset:// |
Failed | Moderation failed or source file inaccessible | DeleteAsset only |
queued ──► running ──► succeeded
│
├──► failed
└──► cancelled| Status | Description |
|---|---|
queued | Queued, waiting for scheduling |
running | Generation in progress |
succeeded | Generation successful, content.video_url is available |
failed | Generation failed |
cancelled | Cancelled |
ResponseMetadata and return error information directly.| HTTP Status | Error Message | Trigger Scenario | Recommended Action |
|---|---|---|---|
| 401 | 未提供令牌 | Request missing Authorization header | Check that the request header is properly set |
| 401 | 无效的令牌 | Token is incorrect, expired, or disabled | Verify token status in the console; recreate if necessary |
| 403 | resource does not belong to current user | Resource does not belong to the current user (including non-existent resource IDs) | Verify resource ID and token ownership |
ResponseMetadata, with error details in ResponseMetadata.Error.| Error.Code | Description | Recommended Action |
|---|---|---|
MissingParameter.<FieldName> | Required parameter is missing | Add the corresponding field as indicated in the Message |
InvalidParameter.<FieldName> | Parameter format or value is invalid | Check parameter values against constraints |
InvalidActionOrVersion | Action name or Version is incorrect | Check the Action and Version parameters in the URL |
SubscriptionRequired | Required subscription not activated | Complete the authorization process in the console |
{
"ResponseMetadata": {
"RequestId": "202606241529096954A62A765732A09755",
"Action": "CreateAssetGroup",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing",
"Error": {
"Code": "MissingParameter.Name",
"Message": "The required parameter Name is missing."
}
}
}| Error Type | Retryable | Recommendation |
|---|---|---|
| HTTP 5xx | Yes | Exponential backoff, max 3–5 retries |
| Network timeout | Yes | Exponential backoff, max 3–5 retries |
| 401 Authentication failure | No | Check token configuration |
| 403 Resource not owned | No | Verify resource ID |
MissingParameter.* | No | Fix request parameters |
InvalidParameter.* | No | Fix request parameters |
| Constraint | Requirement |
|---|---|
| Format | jpeg, png, webp, bmp, tiff, gif, heic, heif |
| File Size | < 30 MB |
| Aspect Ratio (width/height) | (0.4, 2.5) |
| Width/Height | 300–6,000 px |
| Constraint | Requirement |
|---|---|
| Format | mp4, mov |
| File Size | ≤ 50 MB |
| Resolution | 480p, 720p, 1080p |
| Duration | 2–15 seconds |
| Aspect Ratio (width/height) | [0.4, 2.5] |
| Width/Height | 300–6,000 px |
| Total Pixels (width × height) | 409,600–2,086,876 |
| Frame Rate | 24–60 FPS |
| Constraint | Requirement |
|---|---|
| Format | wav, mp3 |
| File Size | ≤ 15 MB |
| Duration | 2–15 seconds |
| Item | Validity Period | Notes |
|---|---|---|
Asset download link (URL field) | 12 hours | Call GetAsset again to obtain a new link after expiration |
Video generation result (video_url) | 48 hours | Corresponds to the execution_expires_after field |
usage.completion_tokens. Refer to the billing rules page in the DataeyesAI console for specific rates.Failed. Image assets typically complete processing within 3–10 seconds.resource does not belong to current user?Asset library isolation is at the account level: all API tokens under the same account (regardless of which Seedance 2.0 model group they belong to) share the same asset library data. Resources are completely isolated between different accounts.
URL field is an empty string?Processing, the URL field returns an empty string "". Wait for the asset status to change to Active before retrieving the download link.URL download link has expired?GetAsset API again to obtain a new signed link. The asset itself does not expire — only the temporary download link has a time limit.| Version | Date | Changes |
|---|---|---|
| v1.0 | 2026-06-24 | Initial release. Covers 5 Asset Group APIs, 5 Asset APIs, video generation integration, error codes, and state machine |