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 expected 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 |
Required |
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 | Required | The audio object input to the model. |
| content.audio_url.url | string |
Audio URL, audio Base64 encoding, creatives ID.
|
|
| content.role |
string |
Conditionally Required |
role ** value: 1 image_url object needs to be passed in, and role is first_frame or left blank.
role ** Value: Two image_url objects need to be passed, and role is required.
Model Support:
role ** value: Required. The role corresponding to each reference image is reference_image.Model Support:
|
| omni_reference_task_type |
String | Optional | Default: auto Seedance 2.5 all-modal reference video generation task consists of three subtasks: reference-based video generation, video editing, and video extension. Different task types have specific restrictions on parameters. To reduce asynchronous errors after task creation, you can specify the subtask type through this parameter to verify the corresponding restrictions in advance.
When actually processing a task, the model will further combine the prompt to determine the task type. If the actually determined task type is inconsistent with the specified one, an asynchronous error (error code: InvalidParameter. TaskTypeMismatch) will still be triggered. It is recommended to follow the prompt writing rules for each task type to reduce the probability of errors. Optional values:
|
| 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 preview clip mode to generate a short preview video for quickly verifying whether the scene structure, camera scheduling, subject movements and prompt intent meet expectations. It consumes fewer tokens than a standard video, resulting in lower usage cost. 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 seedance 1.5 pro/seedance 2.5 is supported |
| duration | integer |
Optional | When specifying the video duration, only integers are supported, and the unit is 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 in seedance-1.5-pro The 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 put the dialogue part in double quotes to optimize the audio generation effect. For example: The man stops the woman and says, "Remember, you must never point at the moon with your fingers 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 and 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 number indicates a higher priority. The default value is 0. By default, requests are executed in a first-in, first-out (FIFO) order. When you set a higher priority for 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] Attention 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 | Specify the aspect ratio for video generation. For the pixel values corresponding to different aspect ratios, refer to the official documentation
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 through 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 contains 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 the end user, used to assist the platform in detecting users in your application who may violate the Volcano Ark usage policy. 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 user name, user ID or email to avoid leaking user privacy information. |
| seed |
integer |
Optional |
Default -1 A seed integer used to control the randomness of the generated content. Value range: an integer between [-1,2^32-1]. Attention
|
| service_tier |
string |
Optional |
Specify the Grade Of Service type for processing this request. Enumerated values: default: In online inference mode, the RPM and quota for concurrent connections are relatively low, making it suitable for scenarios that have high requirements for inference timeliness. flex: Offline inference mode, with a higher TPD quota, priced at 50% of online inference, 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'