ImageAudioVideohttp:// 或 https:// 媒体 URLprovider_asset_id 或 asset_uriwait_for_active = truewait_for_active = falsehttp://127.0.0.1:30000{
"success": true,
"data": {}
}{
"success": false,
"message": "错误信息"
}created_timeupdated_timeasset_type 仅包括以下三种:| 值 | 含义 |
|---|---|
Image | 图片资产 |
Audio | 音频资产 |
Video | 视频资产 |
image_fileaudio_filevideo_fileimgmp3mp4{
"name": "项目A素材组",
"description": "用于项目A的图片、音频、视频资产",
"project_name": "default"
}| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
name | string | 是 | 资产组名称 |
description | string | 否 | 资产组描述 |
project_name | string | 否 | 项目标识,默认 default |
{
"success": true,
"data": {
"id": 1,
"provider_group_id": "group-202603190001-abcde",
"name": "项目A素材组",
"description": "用于项目A的图片、音频、视频资产",
"group_type": "AIGC",
"project_name": "default",
"created_time": 1742360000000,
"updated_time": 1742360000000,
"raw": {
"Id": "group-202603190001-abcde"
}
}
}| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
page | number | 否 | 页码,默认 1 |
page_size | number | 否 | 每页数量,默认 20,最大 100 |
name | string | 否 | 按名称或描述搜索 |
{
"success": true,
"data": [
{
"id": 1,
"provider_group_id": "group-202603190001-abcde",
"name": "项目A素材组",
"description": "用于项目A的图片、音频、视频资产",
"group_type": "AIGC",
"project_name": "default",
"created_time": 1742360000000,
"updated_time": 1742360000000,
"raw": {
"Id": "group-202603190001-abcde"
}
}
],
"meta": {
"total": 1,
"page": 1,
"page_size": 20,
"total_pages": 1
}
}id 支持两种形式:1group-202603190001-abcde{
"group_id": 1,
"url": "https://your-cdn.com/media/test-image.png",
"name": "封面图",
"asset_type": "Image",
"project_name": "default",
"wait_for_active": true,
"timeout_ms": 120000
}{
"group_id": 1,
"url": "https://your-cdn.com/media/test-audio.mp3",
"name": "背景音频",
"asset_type": "Audio",
"project_name": "default",
"wait_for_active": false,
"timeout_ms": 120000
}{
"group_id": 1,
"url": "https://your-cdn.com/media/test-video.mp4",
"name": "演示视频",
"asset_type": "Video",
"project_name": "default",
"wait_for_active": false,
"timeout_ms": 120000
}| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
group_id | string | number | 否 | 本地资产组 ID,推荐优先传该字段 |
provider_group_id | string | number | 否 | 上游资产组 ID,可作为 group_id 替代字段 |
url | string | 否 | 公网可访问媒体 URL,推荐优先使用该字段 |
source_url | string | 否 | url 的兼容别名 |
name | string | 否 | 资产名称 |
asset_type | string | 否 | Image / Audio / Video,默认 Image |
project_name | string | 否 | 项目标识,默认 default |
wait_for_active | boolean | 否 | 是否等待状态进入 Active 后再返回 |
timeout_ms | number | 否 | 等待超时时间,单位毫秒,默认约 120000 |
group_idprovider_group_idurlsource_urlhttp:// 或 https:// 开头file:///Users/test/a.pngblob:http://localhost/...data:image/png;base64,...C:\test\a.pnghttps://cdn.example.com/assets/a.pnghttps://cdn.example.com/assets/a.mp3https://cdn.example.com/assets/a.mp4asset_type 当前仅允许以下值:ImageAudioVideowait_for_active = true 时:Active,则返回最新资产信息timeout_ms 仍未 Active,则按当前状态返回或报错,具体取决于上游状态与轮询结果wait_for_active = false 时:Processing{
"success": true,
"data": {
"id": 12,
"local_group_id": 1,
"provider_group_id": "group-202603190001-abcde",
"provider_asset_id": "asset-202603190010-fghij",
"asset_uri": "Asset://asset-202603190010-fghij",
"name": "演示视频",
"source_url": "https://your-cdn.com/media/test-video.mp4",
"provider_url": "https://provider.example.com/media/xxx",
"asset_type": "Video",
"status": "Processing",
"error_code": "",
"error_message": "",
"project_name": "default",
"created_time": 1742360100000,
"updated_time": 1742360103000,
"raw": {
"Id": "asset-202603190010-fghij",
"Status": "Processing"
}
}
}| 字段 | 类型 | 说明 |
|---|---|---|
id | number | 本地资产记录 ID |
local_group_id | number | 本地资产组 ID |
provider_group_id | string | 上游资产组 ID |
provider_asset_id | string | 上游资产 ID |
asset_uri | string | 资产 URI,格式通常为 Asset://... |
name | string | 资产名称 |
source_url | string | 调用方传入的原始媒体 URL |
provider_url | string | 上游返回的资源 URL,可能为空 |
asset_type | string | 资产类型,固定返回 Image / Audio / Video 之一 |
status | string | 当前资产状态 |
error_code | string | 错误码 |
error_message | string | 错误信息 |
project_name | string | 项目名 |
created_time | number | 创建时间戳(毫秒) |
updated_time | number | 更新时间戳(毫秒) |
raw | object | 上游原始返回对象 |
{
"success": false,
"message": "素材组不存在或不属于当前用户"
}{
"success": false,
"message": "素材 URL 必须是公网可访问的 http/https 地址"
}{
"success": false,
"message": "asset_type 仅支持 Image、Audio、Video"
}{
"success": false,
"message": "创建素材失败:上游返回的具体错误"
}| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
page | number | 否 | 页码,默认 1 |
page_size | number | 否 | 每页数量,默认 20,最大 100 |
name | string | 否 | 按名称、URL 或资产 ID 搜索 |
status | string | 否 | 按资产状态筛选 |
group_id | string | number | 否 | 本地资产组 ID 或上游资产组 ID |
refresh | 0 | 1 | 否 | 传 1 时,后端会尝试刷新当前页资产状态 |
{
"success": true,
"data": [
{
"id": 12,
"local_group_id": 1,
"provider_group_id": "group-202603190001-abcde",
"provider_asset_id": "asset-202603190010-fghij",
"asset_uri": "Asset://asset-202603190010-fghij",
"name": "演示视频",
"source_url": "https://your-cdn.com/media/test-video.mp4",
"provider_url": "https://provider.example.com/media/xxx",
"asset_type": "Video",
"status": "Active",
"error_code": "",
"error_message": "",
"project_name": "default",
"created_time": 1742360100000,
"updated_time": 1742360103000,
"raw": {
"Id": "asset-202603190010-fghij",
"Status": "Active"
}
}
],
"meta": {
"total": 1,
"page": 1,
"page_size": 20,
"total_pages": 1
}
}id 支持两种形式:12asset-202603190010-fghij{
"success": true,
"data": {
"id": 12,
"local_group_id": 1,
"provider_group_id": "group-202603190001-abcde",
"provider_asset_id": "asset-202603190010-fghij",
"asset_uri": "Asset://asset-202603190010-fghij",
"name": "演示视频",
"source_url": "https://your-cdn.com/media/test-video.mp4",
"provider_url": "https://provider.example.com/media/xxx",
"asset_type": "Video",
"status": "Active",
"error_code": "",
"error_message": "",
"project_name": "default",
"created_time": 1742360100000,
"updated_time": 1742360103000,
"raw": {
"Id": "asset-202603190010-fghij",
"Status": "Active"
}
}
}{}{
"success": true,
"data": {
"id": 12,
"local_group_id": 1,
"provider_group_id": "group-202603190001-abcde",
"provider_asset_id": "asset-202603190010-fghij",
"asset_uri": "Asset://asset-202603190010-fghij",
"name": "演示视频",
"source_url": "https://your-cdn.com/media/test-video.mp4",
"provider_url": "https://provider.example.com/media/xxx",
"asset_type": "Video",
"status": "Active",
"error_code": "",
"error_message": "",
"project_name": "default",
"created_time": 1742360100000,
"updated_time": 1742360200000,
"raw": {
"Id": "asset-202603190010-fghij",
"Status": "Active"
}
}
}| 状态 | 含义 |
|---|---|
Processing | 资产已提交,上游仍在处理中 |
Active | 资产已可用 |
Failed | 资产处理失败 |
deleted | 资产已删除或不可用 |
Processing:继续轮询Active:视为可用资产Failed:展示错误信息并中止后续流程deleted:视为无效资产,不再继续引用POST /api/user/volc-assets{
"wait_for_active": false
}idActive 或 Failed{
"group_id": 1,
"url": "https://your-cdn.com/media/test-image.png",
"name": "图片",
"asset_type": "Image",
"wait_for_active": true,
"timeout_ms": 120000
}export type AssetType = 'Image' | 'Audio' | 'Video'export interface CreateAssetRequest {
group_id?: number | string
provider_group_id?: number | string
url?: string
source_url?: string
name?: string
asset_type?: AssetType
project_name?: string
wait_for_active?: boolean
timeout_ms?: number
}export interface AssetItem {
id: number
local_group_id: number
provider_group_id: string
provider_asset_id: string
asset_uri: string
name: string
source_url: string
provider_url: string
asset_type: AssetType
status: string
error_code: string
error_message: string
project_name: string
created_time: number
updated_time: number
raw: Record<string, any>
}export interface ApiResponse<T> {
success: boolean
message?: string
data: T
meta?: {
total: number
page: number
page_size: number
total_pages: number
}
}{
"success": false,
"message": "素材 URL 必须是公网可访问的 http/https 地址"
}{
"success": false,
"message": "asset_type 仅支持 Image、Audio、Video"
}{
"success": false,
"message": "素材组不存在或不属于当前用户"
}messageFailederror_message 有值error_messageerror_message,使用 messageImage / Audio / VideoProcessing / Active / Failed / deleted 状态{
"group_id": 1,
"url": "https://cdn.example.com/assets/demo.mp4",
"name": "宣传视频",
"asset_type": "Video",
"project_name": "default",
"wait_for_active": false
}{}{
"group_id": 1,
"url": "https://cdn.example.com/assets/bgm.mp3",
"name": "背景音乐",
"asset_type": "Audio",
"project_name": "default",
"wait_for_active": false
}{
"group_id": 1,
"url": "https://cdn.example.com/assets/cover.png",
"name": "封面图",
"asset_type": "Image",
"project_name": "default",
"wait_for_active": true,
"timeout_ms": 120000
}