English
  • English
  • 中文简体
English
  • English
  • 中文简体
English
  • English
  • 中文简体
  1. Video Asset APIs
  • Model interface
    • Aiide Platform
    • Law and Policy
      • Service Agreement
      • Privacy Policy
    • List of model interfaces
      • Get Models
        • Get Available Models
      • Anthropic (Claude Code)
        • Official API
          • Text Chat (Preferred)
        • OpenAI-Compatible API
          • Text Chat
      • OpenAI (Codex, GPT-Image-2)
        • Official API
          • Text Chat (Officially Recommended / Next Generation)
          • Text Chat (Compatible API)
          • Generate Image (GPT-Image-2)
          • Edit Image (GPT-Image-2)
          • Create Video
          • Get Video Task Status
          • Get Video Content
      • Google (Gemini, Nano Banana)
        • Official API
          • Text Chat (Preferred)
          • Generate Image (Nano Banana)
        • OpenAI-Compatible API
          • Text Chat
          • Generate Image (Nano Banana)
      • xAI (Grok-Image)
        • OpenAI-Compatible API
          • Generate Image (Grok)
      • Images
        • OpenAI-Compatible API
          • Generate Image
        • Qwen-Compatible Format
          • Generate Image
          • Edit Image
      • Videos
        • Qwen Format (Happyhorse)
          • Create Video (Text-to-Video)
          • Create Video (First-Frame Image-to-Video)
          • Create Video (Reference-Image-to-Video)
          • Create Video (Video Editing)
          • Get Video Generation Task Status
        • Volcengine Doubao Format (Seed-2.0)
          • Create Video (Multimodal Reference-to-Video)
          • Get Video Generation Task Status
        • OpenAI Format (Google Veo 3.1, Seed-2.0)
          • Google Veo 3.1
            • Create Video (Text-to-Video)
            • Create Video (Reference-Image-to-Video)
            • Get Video Generation Task Status
          • OpenAI Sora Format (Seed-2.0 Special Price)
            • Create Video (Text-to-Video)
            • Create Video (Multimodal Reference-to-Video)
            • Get Video Generation Task Status
            • Get Video Content
    • Video Asset APIs
      • Asset Library API Integration Guide
      • Asset Library API Integration Guide (Volcengine Official Format)
      • Upload Asset
        POST
      • List Assets
        GET
      • Get Asset
        GET
      • Update Asset Description
        PUT
      • Delete Asset
        DELETE
    • Tool Configuration Tutorial
      • CC Switch 配置
      • Claude Code配置
      • Codex配置
      • Gemini CLI配置
      • OpenCode 配置
      • Cursor 配置
      • node 安装教程
  1. Video Asset APIs

Asset Library API Integration Guide (Volcengine Official Format)

This document describes the asset-library proxy API provided by api.aiide.com. The API follows the request and response conventions of the Volcengine Ark Universal API and is intended for downstream SDKs, agents, and script clients.

Features#

✅ Supports asset-group (AssetGroup) and asset-file (Asset) management
✅ Supports AK/SK HMAC-SHA256 signature authentication and API Key Bearer authentication
❌ The current version does not provide digital-human liveness verification APIs (CreateVisualValidateSession and GetVisualValidateResult)

Contents#

1. Endpoint
2. Protocol
3. Authentication
3.1 Method 1: AK/SK signature authentication
3.2 Method 2: API Key Bearer authentication
3.3 Using the Volcengine official SDK
4. Data isolation and resource model
5. Request and response format
6. Supported operations
7. Asset-group API details
8. Asset API details
9. Recommended integration flow
10. Differences from the official Volcengine API

1. Endpoint#

Base URL:
https://api.aiide.com/v1/ark/asset/
Method: POST
URL format:
POST https://api.aiide.com/v1/ark/asset/?Action=<ActionName>&Version=2024-01-01

Fixed Parameters#

ParameterFixed valueRequiredDescription
ActionSee the operation listYesURL query parameter that specifies the operation
Version2024-01-01YesAPI version; include it in every request
Content-Typeapplication/jsonYesHTTP request header
Fixed response metadata values:
Service: ark
Region: cn-beijing
Note: Do not use another version number. The server generates response metadata using these fixed values.

2. Protocol#

The asset-library API uses the Volcengine ARK Action protocol. All operations share the root path /v1/ark/asset/ and are dispatched by the Action query parameter and the fixed version Version=2024-01-01.
Standard request format:
Each Action in this document has its own API description, request structure, and response example.

3. Authentication#

The asset library supports two authentication methods. Choose one; do not mix them in the same request.

3.1 Method 1: AK/SK Signature Authentication with the Volcengine Official SDK#

Use case:
Asset-library Action APIs such as CreateAsset and ListAssets
Where to obtain credentials:
User API Management Portal → Access Credentials
Required headers:
Notes:
Requests are signed with HMAC-SHA256.
The X-Date and X-Content-Sha256 headers are required.
The signing method is fully compatible with the Volcengine official SDK (volcengine-go-sdk).
Asset access is isolated by the user associated with the access credentials.
See the official Volcengine documentation for signing-algorithm details.

3.2 Method 2: API Key Bearer Authentication#

Use cases:
Asset-library Action APIs
Seedance video-generation task APIs
Where to obtain a token:
User API Management Portal → Token Management
Header format:
Characteristics:
✅ Simple integration with no complex signature calculation
✅ Asset space and usage statistics are isolated by the user associated with the API Key
✅ Supports platform-wide quota, group, and IP restrictions
Example:

3.3 Using the Volcengine Official SDK#

The Volcengine official SDK points to open.volcengineapi.com by default. To use this service, change the endpoint and select one authentication method.

Using AK/SK Credentials (Recommended)#

Do not include a trailing / in the Endpoint. The official universal SDK automatically appends / to the path. Configure it as .../asset; the actual request is sent to .../asset/. Configuring .../asset/ would produce a double slash and cause a 404 response.
The same rule applies to official SDKs in other languages: point endpoint or base_url to this service's /v1/ark/asset path, then configure AK/SK authentication or use the SDK interceptor mechanism to add the Authorization: Bearer <token> header.

4. Data Isolation and Resource Model#

4.1 Resource Objects#

The asset library contains two object types:
Object typeDescriptionRelationship
AssetGroupAsset groupOrganizes assets of the same kind
AssetAsset fileMust belong to an asset group

4.2 Data-Isolation Rules#

Isolation dimension:
User account associated with the API Key
Access rules:
✅ The same API Key can access every asset group and asset belonging to its associated user.
✅ With AK/SK signing, access is isolated by the user associated with the credentials.
❌ Different users cannot access one another's resources.

4.3 Asset-Group Configuration#

Asset groups created through CreateAssetGroup always use this fixed configuration:
{
  "GroupType": "AIGC",
  "ProjectName": "default"
}
Notes:
Do not pass GroupType or ProjectName in the creation request; the server sets them automatically.
The current version does not support creating LivenessFace digital-human asset groups through CreateVisualValidateSession or GetVisualValidateResult.

4.4 Asset Status#

After an asset is uploaded, the server maps the asset-provider status to the status visible to the current user:
StatusDescriptionAvailability
ProcessingThe asset is still processingNot yet available
ActiveAsset processing is completeCan be used in video-generation requests
FailedAsset processing failedThe Error field in the response may contain the failure reason

4.5 Asset Reference Format#

Use this standard format to reference an asset in a video-generation request:
asset://<asset_id>
Example:
{
  "image": "asset://asset-20260820105215-kqtAk"
}
Note: Whether a model supports a particular asset type depends on the configured asset provider and model capabilities.

5. Request and Response Format#

5.1 Successful Response#

HTTP status: 200 OK
Response body:
{
  "ResponseMetadata": {
    "RequestId": "request-id",
    "Action": "CreateAssetGroup",
    "Version": "2024-01-01",
    "Service": "ark",
    "Region": "cn-beijing"
  },
  "Result": {
    "Id": "group-20260821120000-abcde"
  }
}
Field descriptions:
FieldTypeDescription
ResponseMetadataObjectResponse metadata
ResponseMetadata.RequestIdStringUnique request identifier
ResponseMetadata.ActionStringOperation name
ResponseMetadata.VersionStringAPI version
ResponseMetadata.ServiceStringService name, fixed as ark
ResponseMetadata.RegionStringRegion, fixed as cn-beijing
ResultObjectOperation result data

5.2 Error Response#

Response body:
{
  "ResponseMetadata": {
    "RequestId": "request-id",
    "Action": "GetAsset",
    "Version": "2024-01-01",
    "Service": "ark",
    "Region": "cn-beijing",
    "Error": {
      "Code": "ResourceNotFound",
      "Message": "Asset does not exist"
    }
  },
  "Result": null
}

5.3 Error Codes#

HTTP statusError codeDescriptionCommon cause
400InvalidParameterInvalid request parametersA required request-body field is missing or a field value is invalid
400UnsupportedActionUnsupported operationThe Action value is not supported
401UnauthorizedAuthentication failedThe Bearer Token is invalid or the aggregation-user header is missing or invalid
403PermissionDeniedInsufficient permissionsThe resource belongs to another user or access is not allowed
404ResourceNotFoundResource does not existThe requested asset group or asset does not exist
500InternalErrorInternal errorServer or asset-processing service failure

6. Supported Operations#

The following Action operations are currently supported:

Asset-Group Operations#

ActionDescription
CreateAssetGroupCreate an asset group
GetAssetGroupGet asset-group details
ListAssetGroupsList asset groups
UpdateAssetGroupUpdate an asset group
DeleteAssetGroupDelete an asset group

Asset Operations#

ActionDescription
CreateAssetCreate or upload an asset
GetAssetGet asset details
ListAssetsList assets
UpdateAssetUpdate an asset
DeleteAssetDelete an asset
For detailed request parameters and response fields, refer to the Volcengine Ark Universal API documentation or request the detailed API specification from the platform provider.

7. Asset-Group API Details#

7.1 CreateAssetGroup#

Creates a new asset group.
Request example:
Request-body fields:
FieldTypeRequiredDescription
NamestringYesAsset-group name; 1–64 characters
DescriptionstringNoAsset-group description; up to 300 characters
Successful response:
{
  "ResponseMetadata": {
    "RequestId": "req-20260821-001",
    "Action": "CreateAssetGroup",
    "Version": "2024-01-01",
    "Service": "ark",
    "Region": "cn-beijing"
  },
  "Result": {
    "Id": "group-20260821120000-abcde"
  }
}

7.2 ListAssetGroups#

Lists the current user's asset groups with pagination.
Request example:
Request-body fields:
FieldTypeRequiredDefaultDescription
Filter.GroupIdsstring[]No-Filter by a list of asset-group IDs
Filter.NamestringNo-Filter by asset-group name
Filter.GroupTypestringNo-Filter by asset-group type, such as AIGC
PageNumberintegerNo1Page number, starting at 1
PageSizeintegerNo10Items per page; maximum 100
SortBystringNoCreateTimeSort field: CreateTime or UpdateTime
SortOrderstringNoDescSort direction: Desc or Asc
Successful response:
{
  "ResponseMetadata": {
    "RequestId": "req-20260821-002",
    "Action": "ListAssetGroups",
    "Version": "2024-01-01",
    "Service": "ark",
    "Region": "cn-beijing"
  },
  "Result": {
    "TotalCount": 1,
    "Items": [
      {
        "Id": "group-20260821120000-abcde",
        "Name": "My asset group",
        "Description": "Stores digital-human portrait assets",
        "GroupType": "AIGC",
        "ProjectName": "default",
        "CreateTime": "2026-08-21T12:00:00Z",
        "UpdateTime": "2026-08-21T12:00:00Z"
      }
    ],
    "PageNumber": 1,
    "PageSize": 20
  }
}

7.3 GetAssetGroup#

Gets asset-group details.
Request example:
FieldTypeRequiredDescription
IdstringYesAsset-group ID
ProjectNamestringNoProject name; must match the asset-group project
The successful response contains the group's Id, Name, Description, GroupType, ProjectName, CreateTime, and UpdateTime under Result.

7.4 UpdateAssetGroup#

Updates an asset-group name or description.
FieldTypeRequiredDescription
IdstringYesAsset-group ID
NamestringNoNew asset-group name; 1–64 characters
DescriptionstringNoNew asset-group description; up to 300 characters
A successful response returns the asset-group Id under Result.

7.5 DeleteAssetGroup#

Deletes an asset group.
FieldTypeRequiredDescription
IdstringYesAsset-group ID
ProjectNamestringNoProject name; must match the asset-group project
A successful response returns an empty Result object.

8. Asset API Details#

8.1 CreateAsset#

Registers a public URL as an asset and returns its asset ID and initial status.
FieldTypeRequiredDescription
NamestringYesAsset name; 1–64 characters
URLstringYesPublic asset URL
AssetTypestringYesAsset type; currently only Image is supported
GroupIdstringYesID of the owning asset group
A successful response returns the asset Id under Result.

8.2 GetAsset#

Gets asset details and current status.
FieldTypeRequiredDescription
IdstringYesAsset ID
A successful response contains the asset's Id, Name, URL, AssetType, GroupId, Status, Moderation, CreateTime, UpdateTime, and ProjectName under Result.

8.3 ListAssets#

Lists assets visible to the current user with pagination.
FieldTypeRequiredDescription
Filter.GroupIdsstring[]NoFilter by a list of asset-group IDs
Filter.GroupTypestringNoFilter by asset-group type; AIGC is currently supported
Filter.NamestringNoFilter by asset name
PageNumberintegerNoPage number, starting at 1; defaults to 1
PageSizeintegerNoItems per page; defaults to 10, maximum 100
SortBystringNoSort by CreateTime, UpdateTime, or GroupId; defaults to CreateTime
SortOrderstringNoDesc or Asc; defaults to Desc
The successful Result contains Items, TotalCount, PageNumber, and PageSize. Each item contains the asset fields returned by GetAsset.

8.4 UpdateAsset#

Updates an asset name.
FieldTypeRequiredDescription
IdstringYesAsset ID
NamestringYesNew asset name; 1–64 characters
A successful response returns the asset Id under Result.

8.5 DeleteAsset#

Deletes an asset.
FieldTypeRequiredDescription
IdstringYesAsset ID
A successful response returns an empty Result object.

9. Recommended Integration Flow#

A typical digital-human asset flow is:
1.
Use CreateAssetGroup to create an AIGC asset group.
2.
Use CreateAsset to register a public URL in that group.
3.
Record the returned asset_id.
4.
Poll the asset status with GetAsset.
5.
When the status becomes Active, use asset://<asset_id> in the video-generation request.
6.
Call DeleteAsset when the asset is no longer needed, and call DeleteAssetGroup if necessary.
Simple polling example:

10. Differences from the Official Volcengine API#

This API reuses the Volcengine Universal API Action names, field names, and response envelope, but it is this site's asset-library proxy rather than the official Volcengine asset library. Note the following:
✅ API Key Bearer authentication is supported.
✅ AK/SK HMAC-SHA256 signature authentication is supported.
✅ All APIs currently support only the POST method.
❌ CreateVisualValidateSession and GetVisualValidateResult are not currently supported.
📌 Created asset groups always use GroupType=AIGC and ProjectName=default.
📌 GetAssetGroup, UpdateAssetGroup, and DeleteAssetGroup use the request-body field Id.
📌 Successful CreateAssetGroup and CreateAsset responses use Result.Id.
📌 CreateAsset accepts only public URLs; Base64 and multipart file uploads are not supported.
📌 The returned URL is the original asset URL stored by this site and must not be treated as a short-lived presigned URL.

Modified at 2026-09-10 03:00:22
Previous
Asset Library API Integration Guide
Next
Upload Asset
Built with