MaaS_Seedance
On the Use of the Live Asset Library
Process Description
Step 1: Create a real person portrait asset group (asset group)
-
Use the API to generate an H5 authentication page link, and the CallbackURL parameter is supported to customize the callback page link.
-
Access the H5 authentication page link to complete facial authentication. After clicking the finish button, the CallbackURL link will be opened.
-
Note: The user may provide an inaccessible callback URL, and clicking "Complete Authentication" after finishing face verification may lead to an error page!! This does not affect the result. As long as the face authentication is completed, the asset group has been created, and you can query whether the asset group is successfully created based on the bytedToken parameter from the previous step.
-
Parse the parameters attached to the CallbackURL to obtain the face authentication result. If the face authentication succeeds (resultCode is 10000), call the interface to query the asset group ID corresponding to the end user.
Step 2: Upload/Manage Assets (Create Assets)
-
When a real human asset is uploaded, the system will compare the facial features of the uploaded image with the reference images collected during the real-person verification process to check for consistency. Only after passing this comparison can the asset be added to the library.
-
You can use the Assets API to retrieve asset IDs, update asset information, or delete assets.
Step 3: Generate videos using real human portraits
-
Use the asset URI to initiate a video generation task based on the verified and active real-person portrait assets.
-
Each asset group corresponds to a real individual, and each asset file belonging to that individual constitutes an asset.
On the Use of the Virtual Asset Library
Process Description
Step 1: Create a virtual asset group
- No real human facial recognition is required, and you can directly create an AIGC-type asset group via the virtual asset group creation interface
The remaining steps are the same as the usage of the above-mentioned live asset library.
Interfaces and Request Parameters
Create Video Generation Task API
POST
https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/contents/generations/tasks
Request Parameters
| Attribute Name | Type | Required/Optional | Description |
|---|---|---|---|
| model | string | Required | The ID of the model you need to call (Model ID) |
| content | object | Required | Input the information for video generation to the model, which supports both text and image inputs. |
| content.type |
string |
Required |
Type of input content text content image_url Image Information video_url audio_url draft_task |
| content.text |
string |
Required |
The text content input to the model, which describes the video to be generated, includes: Text Prompt (Required):
|
| content.draft_task |
object |
(Mandatory when content. Type is draft_task) | Sample Task ID For instructions on using the sample mode, please refer to: Draft Sample Mode Example |
| content.image_url | object | Required | The image object input to the model. |
| content.image_url.url |
string |
Mandatory |
Image information, which can be an image URL or an image Base64 encoding.
|
| content.video_url | object | Required | The video object input to the model. |
| content.video_url.url |
string |
Required |
Video URL, creatives ID.
|
| content.audio_url | object | Mandatory | The audio object input to the model. |
| content.audio_url.url | string |
Audio URL, audio Base64 encoding, and creatives ID.
|
|
| content.role |
string |
Conditionally Required |
role ** Value: 1 image_url object needs to be passed in, and the value of role is first_frame or left blank.
role ** Value: 2 image_url objects need to be passed in, and role is required.
Model Support:
role ** Value: Required. The role for each reference image is reference_image.Model Support:
|
| callback_url |
string | Optional | Fill in the callback notification address for the result of this generation task. When the status of the video generation task changes, Ark will push a POST request to this address. |
| camera_fixed | boolean | Optional | Default value: false Whether it is a fixed camera.
Model Support:
|
| draft |
boolean |
Optional |
Default value: false true: Enable the sample mode to generate a preview video for quickly verifying whether the scene structure, camera scheduling, subject actions and prompt intent meet expectations. It consumes fewer tokens than a normal video, resulting in lower usage costs. Only 480p resolution is supported (an error will occur if other resolutions are used), the function of returning the tail frame is not supported, and the offline inference function is not supported. false: Generate video normally Only compatible with seedance 1.5 pro |
| duration | integer |
Optional | Video duration generation only supports integers, in seconds.
The Seedance 2.0 series and Seedance 1.5 pro support two configuration methods
|
| execution_expires_after | integer | Optional | Task timeout threshold. Specifies the expiration time (in seconds) after a task is submitted, calculated starting from the created_at timestamp, with a default value of 48 hours. After this time elapses, the task will be automatically terminated and marked as expired. The default value is 172800 (seconds), which equals 48 hours Value range: [3600,259200] |
| frames |
integer |
Optional | Either frames or duration (dur) shall be selected Remove this parameter from seedance-1.5-pro Seedance 2.0 series is not supported |
| generate_audio |
boolean |
Optional |
Default value: true true: The video output by the model contains synchronized audio. Seedance 1.5 pro can automatically generate matching human voices, sound effects and background music based on text prompts and visual content. It is recommended to place the dialogue part in double quotation marks to optimize the audio generation effect. For example: The man stopped the woman and said, "Remember, you must never point at the moon with your finger from now on. " false: The video output by the model is a silent video. Only supported in seedance-1.5-pro, seedance-2.0 series, seedance-2.5 |
| output_format |
string | Optional | Default value: mp4 The format of the output video.
|
| priority |
integer |
Optional | Only Seedance 2.0 and Seedance 2.5 are supported Sets the execution priority of the current request and determines its position in the queue. Valid value range: 0–9, where a larger value indicates a higher priority. The default value is 0. By default, requests are processed in a first-in, first-out (FIFO) order. When you assign a higher priority to a request, it will be inserted ahead of all lower-priority requests under the same endpoint. Example: Suppose that an endpoint currently has three queued tasks (status = queued), and the default priority of all tasks is 0. Queue: [Task A: Priority = 0] → [Task B: Priority = 0] → [Task C: Priority = 0] If a new request with priority 5 is submitted, it will be moved directly to the front of the queue: Queue: [New Request: Priority= 5] → [Task A: Priority= 0] → [Task B: Priority= 0] → [Task C: Priority= 0] Note Requests with the same priority are still arranged in First-In, First-Out (FIFO) order. Priority only affects the sorting of the queue and will not interrupt running tasks (status = running). Priority only takes effect within the same endpoint and does not affect other endpoints. Offline inference mode (service_tier= flex) does not support priority configuration. |
| ratio |
string |
Optional | Generate the aspect ratio of the video.
When the ratio is configured as adaptive, the model will automatically adapt the aspect ratio according to the generation scenario; the actual aspect ratio of the generated video can be obtained via the query video generation task API returned ratio field. Supported models:
|
| resolution |
string |
Optional |
Video resolution. Optional values: 480p, 720p, 1080p, 4k. Model Support:
|
| return_last_frame |
Boolean |
Optional |
The default value is false. true: Returns the end frame image of the generated video. The end frame image is in PNG format, with the same width and height in pixels as the generated video, and no watermark. You can obtain the end frame image of the video by querying the video generation task interface. false: Do not return the end frame image of the generated video. |
| safety_identifier |
string |
Optional |
A unique identifier for end users, which is used to assist the platform in detecting users in your application who may violate the usage policies of Volcano Engine Ark. This identifier is an English character string, which must be fixed and unique for a single user, and the length shall not exceed 64 characters. It is recommended to pass in a string generated by hashing the username, user ID or email to avoid disclosing users' private information. |
| seed |
integer |
Optional |
Default: -1 A seed integer, which is used to control the randomness of the generated content. Value range: an integer within [-1,2^32-1]. Note
|
| service_tier |
string |
Optional |
Specify the Grade Of Service type for processing this request, the enumeration values are as follows: default: In online inference mode, the RPM and concurrency quotas are relatively low, making it suitable for scenarios that have high requirements for inference timeliness. flex: An offline inference mode with a higher TPD quota, priced at 50% of online inference, which is suitable for scenarios with low requirements on inference latency. The Seedance 2.0 series is not supported |
| watermark | boolean | Optional | Default value: false Whether the generated video contains a watermark.
|
Request Body Example
Text-to-Video
curl -X POST https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/contents/generations/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${your_AK}" \
-d '{
"model": "doubao-seedance-1-5-pro-251215",
"content": [
{
"type": "text",
"text": "Multiple shots. A detective enters a dimly lit room. He examines clues on the table and picks up an object from it. The camera turns to him deep in thought. --ratio 16:9"
}
]
}'
Image-to-Video - First Frame
curl -X https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/contents/generations/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${your_AK}" \
-d '{
"model": "doubao-seedance-1-0-pro-250528",
"content": [
{
"type": "text",
"text": "A girl holds a fox, the girl opens her eyes and gently looks at the camera, the fox is held affectionately, the camera slowly pulls out, the girl's hair is blown by the wind --ratio adaptive --dur 5"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/i2v_foxrgirl.png"
}
}
]
}'
First and Last Frames
curl -X POST https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/contents/generations/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${your_AK}" \
-d '{
"model": "doubao-seedance-1-0-lite-i2v-250428",
"content": [
{
"type": "text",
"text": "A blue-green Jingwei bird transforms into a human form --rs 720p --dur 5 --cf false"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seelite_first_frame.png"
},
"role": "first_frame"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seelite_last_frame.png"
},
"role": "last_frame"
}
]
}'
Reference Diagram
curl -X POST https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/contents/generations/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${your_AK}" \
-d '{
"model": "doubao-seedance-1-0-lite-i2v-250428",
"content": [
{
"type": "text",
"text": "An elderly man in a cafe, picking up a coffee cup, the visual style is cartoon and fresh --rs 720p --dur 5 --rt 16:9 --seed 12345 --wm true"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seelite_ref_1.png"
},
"role": "reference_image"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seelite_ref_2.png"
},
"role": "reference_image"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/seelite_ref_3.png"
},
"role": "reference_image"
}
]
}'
Response Example
Example of Preview Mode
Step 1: Generate the sample
curl -X POST https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/contents/generations/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${your_AK}" \
-d '{
"model": "doubao-seedance-1-5-pro-251215",
"content": [
{
"type": "text",
"text": "A girl holds a fox, the girl opens her eyes and gently looks at the camera, the fox is held affectionately, the camera slowly pulls out, the girl's hair is blown by the wind"
},
{
"type": "image_url",
"image_url": {
"url": "https://ark-project.tos-cn-beijing.volces.com/doc_image/i2v_foxrgirl.png"
}
}
],
"seed": 20,
"duration": 6,
"draft": true
}'
Obtain the sample taskId from the interface response
Step 2: Query the status of the sample film
// $ID is the taskID just obtained, cgt-2026******-AAAAA
curl -X GET "https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/contents/generations/tasks/$ID" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${your_AK}"
Step 3: After the sample is successfully generated, generate the official video based on the sample video
curl -X POST https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/contents/generations/tasks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${your_AK}" \
-d '{
"model": "doubao-seedance-1-5-pro-251215",
"content": [
{
"type": "draft_task",
"draft_task": {"id": "cgt-2026******-AAAAA"}
}
],
"watermark": false,
"resolution": "720p",
"return_last_frame": true,
"service_tier": "default"
}'
Obtain the formal video taskId from the interface response
Step 4: Obtain the official video generation result
// $ID is the taskID just obtained, cgt-2026******-BBBBB
curl -X GET "https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/contents/generations/tasks/$ID" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${your_AK}"
Query Video Generation Task API
GET
https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/contents/generations/tasks/{id}
Request Body Example
curl -X GET "https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/contents/generations/tasks/$ID" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${your_AK}"
Response Example
{
"id": "cgt-2025******-****",
"model": "doubao-seedance-1-0-pro-250528",
"status": "succeeded",
"content": {
"video_url": "https://ark-content-generation-cn-beijing.tos-cn-beijing.volces.com/doubao-seedance-1-0-pro/****.mp4?X-Tos-Algorithm=TOS4-HMAC-SHA256&X-Tos-Credential=AKLTY****%2Fcn-beijing%2Ftos%2Frequest&X-Tos-Date=20250331T095113Z&X-Tos-Expires=86400&X-Tos-Signature=***&X-Tos-SignedHeaders=host"
},
"seed": 10,
"resolution": "720p",
"duration": 5,
"ratio": "16:9",
"framespersecond": 24,
"usage": {
"completion_tokens": 108900,
"total_tokens": 108900,
"tool_usage": {
"web_search": 0
},
},
"safety_identifier": "muxiaojue",
"tools": [
{
"type": "web_search"
}
],
"created_at": 1743414619,
"updated_at": 1743414673,
"service_tier":"default",
"execution_expires_after":172800,
"generate_audio":true,
"draft":false,
"priority": 0
}
Cancel or delete the video generation task
DELETE
https://genaiapi-m2.cloudsway.net/v1/ai/ {endpointPath}/seedance/contents/generations/tasks/{id}
Request Body Example
curl -X DELETE "https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/contents/generations/tasks/$ID" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $${your_AK}"
This interface has no return parameters.
Create a live asset group (create live verification)
POST
https://genaiapi-m2.cloudsway.net/v1/ai /{endpointPath}/seedance/visual/validate
Request body parameters
| field | Type | Required | default value | Description |
|---|---|---|---|---|
| callbackURL | string | Yes | The URL to which you will be automatically redirected after verification is complete will carry parameters indicating the verification result. |
Response Parameters
| field | Type | Required | Description |
|---|---|---|---|
| bytedToken | string | Yes | The unique credential identifier for this verification |
| h5Link | string | Yes | Human Verification H5 Link (Valid for 120 Seconds) |
| callbackURL | string | Yes | The URL to which you will be automatically redirected after verification is complete will carry parameters indicating the verification result. |
Request Body Example
curl --location 'https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/visual/validate' \
--header 'Authorization: Bearer $${your_AK}' \
--header 'Content-Type: application/json' \
--data '{
"callbackURL":"https://www.example.com/callback"
}'
Response Example
Obtain verification result (obtain asset group ID)
POST
https:// genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance /visual/result
Request Body Parameters
| Field | Type | Required | default value | Description |
|---|---|---|---|---|
| bytedToken | string | Yes | Verify Credential Identifier |
Response Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| groupId | string | Yes | ID of the portrait asset group created by this real-person verification |
| status | string | Yes | Status |
Request Body Example
curl --location 'https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/visual/result' \
--header 'Authorization: Bearer $${your_AK}' \
--header 'Content-Type: application/json' \
--data '{
"bytedToken":"your bytedToken"
}'
Response Example
Create a virtual asset group
POST https:// genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/asset /group/create
Request Body Parameters
| Field | Type | Required | default value | Description |
|---|---|---|---|---|
| name | string | Yes | Name of the asset group, maximum 64 characters. | |
| description | string | No | Description of the asset group, with a maximum of 300 characters. | |
| groupType | string | No | AIGC | Asset group type. Optional values: AIGC: Digital human character (the only currently supported value). |
Response Parameters
| field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Asset group ID. |
| h5Link | string | Yes | Human Verification H5 Link (Valid for 120 Seconds) |
| callbackURL | string | Yes | The URL to which you will be automatically redirected after verification is complete will carry parameters indicating the verification result. |
Request Body Example
curl --location 'https://genaiapi.cloudsway.net/v1/ai/{endpoint}/seedance/asset/group/create' \
--header 'Authorization: Bearer ${your_AK}' \
--header 'Content-Type: application/json' \
--data '{
"Name": "test",
"Description": "test",
"GroupType": "AIGC"
}'
Response Example
Get asset group details
GET
https:// genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance /asset/group
Request query parameters
| field | Type | Required | default value | Description |
|---|---|---|---|---|
| id | string | Yes | Asset Group ID |
Response Parameters
| field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Asset Group ID |
| bytedToken | string | Yes | Asset Group bytedToken |
| name | string | Yes | Name of Asset Group |
| description | string | Yes | Description of Asset Group |
| groupType | string | Yes | Asset Group Type (AIGC/LivenessFace) |
| createTime | string | Yes | Creation Time |
| updateTime | string | Yes | Update Time |
| status | string | Yes | Status: Active / Processing / Failed |
Request Body Example
curl --location 'https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/asset/group?id={your group id}' \
--header 'Authorization: Bearer ${your_AK}' \
--header 'Content-Type: application/json'
Response Example
{
"id": "your group id",
"bytedToken": "your bytedToken",
"name": "your group name",
"description": "your group description",
"groupType": "LivenessFace",
"createTime": "2026-04-22T08:59:29Z",
"updateTime": "2026-04-22T09:02:57Z",
"status": "Active"
}
Query the asset group list
GET https:// genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance /asset/group/list
Request Query Parameters
| field | Type | Required | default value | Description |
|---|---|---|---|---|
| filter | object | Yes | Filter Condition Object | |
| filter.groupIds | array[string] | No | Asset Group ID List | |
| filter.groupType | string | Yes | Asset Group Type (LivenessFace: Real Human Portrait / AIGC: Digital Human) | |
| filter.name | string | No | Asset Group Description Asset Group Name (fuzzy search supported) | |
| pageNumber | integer | No | 1 | Page number, starting from 1 |
| pageSize | integer | No | 10 | Number per page, maximum 100 |
| sortBy | string | No | CreateTime | Sorting Field (CreateTime/UpdateTime) |
| sortOrder | string | No | Desc | Sort Order (Desc/Asc) |
Response Parameters
| field | Type | Required | Description |
|---|---|---|---|
| totalCount | integer | Yes | Total Assets |
| items | array[object] | Yes | List of Asset Groups |
| items[].id | string | Yes | Asset Group ID |
| items[].bytedToken | string | Yes | Asset Group bytedToken |
| items[].name | string | Yes | Name of Asset Group |
| items[].description | string | Yes | Description of Asset Group |
| items[].groupType | string | Yes | Asset Group Type |
| items[].createTime | string | Yes | Creation Time |
| items[].updateTime | string | Yes | Update Time |
| items[].status | string | Yes | Status: Active / Processing / Failed |
| pageNumber | integer | Yes | Current Page Number |
| pageSize | integer | Yes | Items per page |
Request Body Example
curl --location 'https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/asset/group/list?filter.groupType=LivenessFace&pageNumber=1&pageSize=10' \
--header 'Authorization: Bearer ${your_AK}' \
--header 'Content-Type: application/json'
Response Example
{
"totalCount": 1,
"items": [
{
"id": "your group id",
"bytedToken": "your bytedToken",
"name": "your group name",
"description": "your group description",
"groupType": "LivenessFace",
"createTime": "2026-04-22T08:59:29Z",
"updateTime": "2026-04-22T09:02:57Z",
"status": "Active"
}
]
}
Update Asset Group
POST
https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance /asset/group
Request body parameters
| field | Type | Required | default value | Description |
|---|---|---|---|---|
| id | string | Yes | Asset Group ID | |
| name | string | No | New asset group name, up to 64 characters | |
| description | string | No | New asset group description, up to 300 characters |
Response Parameters
| field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Asset Group ID |
| name | string | No | New asset group name, up to 64 characters |
| description | string | No | New asset group description, up to 300 characters |
Request Body Example
curl --location 'https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/asset/group' \
--header 'Authorization: Bearer ${your_AK}' \
--header 'Content-Type: application/json' \
--data '{
"id":"your group id",
"name":"your group name",
"description":"your group description"
}'
Response Example
Delete Asset Group
DELETE
https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance /asset/group
Request Body Parameters
| Field | Type | Required | default value | Description |
|---|---|---|---|---|
| id | string | No | Asset Group ID to be deleted | |
| bytedToken | string | No | Asset Group bytedToken |
Deleting an asset group requires passing either the asset group ID or bytedToken, with the asset group ID taking precedence.
When an asset group is deleted, all assets under the asset group will be deleted synchronously.
Response Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Deleted asset group ID |
Request Body Example
curl --location --request DELETE 'https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/asset/group' \
--header 'Authorization: Bearer ${your_AK}' \
--header 'Content-Type: application/json' \
--data '{
"id":"your group id"
}'
Response Example
Create an asset
POST
https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance /asset
Request Body Parameters
| Field | Type | Required | default value | Description |
|---|---|---|---|---|
| gourpId | string | Yes | The ID of the asset group to which the asset belongs (must be the Group ID obtained after real-person verification) | |
| url | string | Yes | Publicly accessible asset URL | |
| assetType | string | Yes | Asset Type: Image/Video/Audio | |
| name | string | No | Asset name, up to 64 characters (only used for fuzzy search in ListAssets) | |
| moderation | object | No | Specify whether to disable Content Pre-filter for the current asset. | |
| moderation.strategy | string | Yes | Content pre-review policy for the current asset. Optional values: Default: Enable content pre-review for this asset;Skip: Skip most non-baseline content security review policies. |
Response Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Asset ID |
Request Body Example
curl --location 'https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/asset' \
--header 'Authorization: Bearer ${your_AK}' \
--header 'Content-Type: application/json' \
--data '{
"groupId":"your group id",
"url":"your image url",
"name":"your image name",
"assetType":"Image"
}'
Response Example
Query Asset Details
GET
https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance /asset
Request Query Parameters
| Field | Type | Required | default value | Description |
|---|---|---|---|---|
| id | string | Yes | Asset ID |
Response Parameters
| Field | Type | Required | default value | Description |
|---|---|---|---|---|
| id | integer | Yes | Asset ID | |
| name | string | Yes | Asset Name | |
| url | string | Yes | Asset Access URL (Valid for 12 Hours) | |
| assetType | string | Yes | ID of the Associated Asset Group | |
| groupId | string | Yes | ID of the Associated Asset Group | |
| status | string | Yes | Asset Status: Active (Available)/Processing (In Progress)/Failed (Failed) | |
| error | object | No | Error message (returned when Status is Failed) | |
| error.code | string | No | Error Code | |
| error.message | string | No | Error Message | |
| createTime | string | Yes | Creation Time | |
| updateTime | string | Yes | Update Time | |
| moderation | object | Yes | Specifies whether to disable content pre-filtering for the current asset. | |
| moderation.strategy | string | Yes | Content pre-review policy for the current asset. Optional values: Default: Enable content pre-review for this asset;Skip: Skip most non-baseline content security review policies. |
Request Body Example
curl --location 'https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/asset?{your asset id}' \
--header 'Authorization: Bearer ${your_AK}' \
--header 'Content-Type: application/json'
Response Example
{
"id": "your asset id",
"name": "your asset name",
"url": "seedance url for your asset",
"assetType": "Image",
"groupId": "your groupId",
"status": "Active",
"error": {
"Code": null,
"Message": null,
"Data": null
},
"createTime": "2026-04-22T10:35:15Z",
"updateTime": "2026-04-22T11:53:10Z"
}
Query Asset List
GET
https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance /asset/list
Request query parameters
| field | Type | Required | default value | Description |
|---|---|---|---|---|
| filter | object | Yes | Filter Condition Object | |
| filter.groupIds | array[string] | No | Asset Group ID List | |
| filter.groupType | string | Yes | Asset Group Type (LivenessFace: Real Human Portrait / AIGC: Digital Human) | |
| filter.statuses | string | No | Asset Status List (Active/Processing/Failed) | |
| filter.name | string | No | Asset Name (fuzzy search supported) | |
| pageNumber | integer | No | 1 | Page number, starting from 1 |
| pageSize | integer | No | 10 | Number per page, maximum 100 |
| sortBy | string | No | CreateTime | Sorting Field (CreateTime/UpdateTime) |
| sortOrder | string | No | Desc | Sort Order (Desc/Asc) |
Response Parameters
| field | Type | Required | Description |
|---|---|---|---|
| totalCount | integer | Yes | Total Assets |
| items | array[object] | No | List of Asset Groups |
| items[].id | string | Yes | Asset List |
| items[].name | string | Yes | Asset ID |
| items[].url | string | Yes | Asset Name |
| items[].groupId | string | Yes | Asset URL (valid for 12 hours) |
| items[].groupType | string | Yes | ID of the Associated Asset Group |
| items[].assetType | string | Yes | Asset Type |
| items[].status | string | Yes | Asset Status |
| items[].moderation | object | Yes | Specifies whether to disable Content Pre-filter for the current asset. |
| items[].moderation.strategy | string | Yes | Content pre-review policy for the current asset. Available values: Default: Enable content pre-review for this asset;Skip: Skip most non-baseline content security review policies. |
| items[].error.code | string | No | Error Code |
| items[].error.message | string | No | Error Message |
| items[].createTime | string | Yes | Creation Time |
| items[].updateTime | string | Yes | Update Time |
| pageNumber | integer | Yes | Current Page Number |
| pageSize | integer | Yes | Items per page |
Request Body Example
curl --location 'https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/asset/list?filter.groupIds={your group id}&pageSize=10&sortBy=CreateTime&sortOrder=Desc&filter.groupType=LivenessFace' \
--header 'Authorization: Bearer ${your_AK}' \
--header 'Content-Type: application/json'
Response Example
{
"totalCount": 1,
"items": [
{
"your asset id",
"name": "your asset name",
"url": seedance url for your asset,
"assetType": "Image",
"groupId": "your groupId",
"status": "Active",
"error": {
"Code": null,
"Message": null,
"Data": null
},
"createTime": "2026-04-22T12:15:47Z",
"updateTime": "2026-04-22T12:15:54Z"
}
],
"pageNumber": 1,
"pageSize": 10
}
Update Asset
POST
https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath} /seedance/asset/update
Request Body Parameters
| field | Type | Required | default value | Description |
|---|---|---|---|---|
| id | string | Yes | Asset ID to be updated | |
| name | string | No | New asset name, maximum 64 characters |
Response Parameters
| field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Asset ID |
Request Body Example
curl --location 'https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/asset/update' \
--header 'Authorization: Bearer ${your_AK}' \
--header 'Content-Type: application/json' \
--data '{
"id":"your asset id",
"name":"your asset name"
Response Example
Delete Asset
DELETE
https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance /asset
Request query parameters
| field | Type | Required | default value | Description |
|---|---|---|---|---|
| id | string | Yes | Asset ID to be deleted |
Response Parameters
| field | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Deleted asset ID |
Request Body Example
curl --location -request DELETE 'https://genaiapi-m2.cloudsway.net/v1/ai/{endpointPath}/seedance/asset?id={your group id}' \
--header 'Authorization: Bearer ${your_AK}' \
--header 'Content-Type: application/json'