feat: v0.19.1 素材组删除改用一次性 DeleteAssetGroup + 幂等清本地
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 11m59s

之前 DELETE /api/v1/assets/groups/<id> 的做法是循环调 DeleteAsset 再
删本地记录,现在火山开放了 DeleteAssetGroup(文档明确级联删除组内所有
Asset),改为一次调用,原子、快、无半成功。

变更
- backend/utils/assets_client.py:
  - ApiInfo 注册 DeleteAssetGroup
  - 新增 delete_asset_group(group_id)
- backend/apps/generation/views.py:
  - asset_group_detail_view DELETE 分支改为一次 delete_asset_group
  - 加幂等保护: 火山返回 NotFound.group_id 时继续清本地, 修复场景为
    用户在火山控制台手删素材组后本地 DB 出现孤儿, 再在前端点一次
    "删除素材组"即可清掉本地残留

测试 (airlabs-test)
- assets_client 4 项 PASS: 创建 → 删除 → 验证 gone → 重删返回
  NotFound.group_id → 纯假 id 同样 NotFound.group_id
- view 层 2 场景 PASS:
  - A 火山+本地都在 → 都清空
  - B 火山侧已手删, 本地还在 → 本地也能清

文档整理
- docs/API文档/about-Asset-素材组相关/ 新增 8 个火山最新 Asset API 文档
  (CreateAsset/Group, List*, Get*, Update*, Delete*), 原"使用指南"移入
  该目录归档

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
seaislee1209 2026-04-22 21:09:19 +08:00
parent 17fc3e5652
commit f2dc8d4713
11 changed files with 1147 additions and 8 deletions

View File

@ -3204,15 +3204,20 @@ def asset_group_detail_view(request, group_id):
return Response({'error': '素材组不存在'}, status=status.HTTP_404_NOT_FOUND) return Response({'error': '素材组不存在'}, status=status.HTTP_404_NOT_FOUND)
if request.method == 'DELETE': if request.method == 'DELETE':
# Delete all remote assets in this group
from utils import assets_client from utils import assets_client
for asset in Asset.objects.filter(group=group): from utils.assets_client import AssetsAPIError
if asset.remote_asset_id: if group.remote_group_id:
try: try:
assets_client.delete_asset(asset.remote_asset_id) assets_client.delete_asset_group(group.remote_group_id)
except Exception as e: except AssetsAPIError as e:
logger.warning('Failed to delete remote asset %s: %s', asset.remote_asset_id, e) # 火山那边已经没了(比如被后台手动删了)就继续清本地,保证幂等
# Delete local records if e.code != 'NotFound.group_id':
logger.warning('Failed to delete remote group %s: %s', group.remote_group_id, e)
return Response(
{'error': 'assets_api_error', 'message': e.user_message},
status=status.HTTP_502_BAD_GATEWAY,
)
logger.info('Remote group %s already gone, cleaning local only', group.remote_group_id)
Asset.objects.filter(group=group).delete() Asset.objects.filter(group=group).delete()
group.delete() group.delete()
return Response({'message': '素材组已删除'}) return Response({'message': '素材组已删除'})

View File

@ -83,6 +83,7 @@ def _get_service():
'UpdateAssetGroup': ApiInfo('POST', '/', {'Action': 'UpdateAssetGroup', 'Version': API_VERSION}, {}, {}), 'UpdateAssetGroup': ApiInfo('POST', '/', {'Action': 'UpdateAssetGroup', 'Version': API_VERSION}, {}, {}),
'UpdateAsset': ApiInfo('POST', '/', {'Action': 'UpdateAsset', 'Version': API_VERSION}, {}, {}), 'UpdateAsset': ApiInfo('POST', '/', {'Action': 'UpdateAsset', 'Version': API_VERSION}, {}, {}),
'DeleteAsset': ApiInfo('POST', '/', {'Action': 'DeleteAsset', 'Version': API_VERSION}, {}, {}), 'DeleteAsset': ApiInfo('POST', '/', {'Action': 'DeleteAsset', 'Version': API_VERSION}, {}, {}),
'DeleteAssetGroup': ApiInfo('POST', '/', {'Action': 'DeleteAssetGroup', 'Version': API_VERSION}, {}, {}),
} }
return Service(service_info, api_info) return Service(service_info, api_info)
@ -225,3 +226,9 @@ def delete_asset(asset_id: str):
"""Delete a single asset from the remote API.""" """Delete a single asset from the remote API."""
body = {'Id': asset_id, 'ProjectName': PROJECT_NAME} body = {'Id': asset_id, 'ProjectName': PROJECT_NAME}
_do_request('DeleteAsset', body) _do_request('DeleteAsset', body)
def delete_asset_group(group_id: str):
"""Delete an asset group and cascade-delete all its assets on the remote API."""
body = {'Id': group_id, 'ProjectName': PROJECT_NAME}
_do_request('DeleteAssetGroup', body)

View File

@ -0,0 +1,81 @@
`POST https://ark.cn-beijing.volcengineapi.com/?Action=DeleteAssetGroup&Version=2024-01-01`
删除素材资产组Asset Group
:::warning
* 删除素材组将批量删除组内所有素材资产,该操作不可逆,一经删除,不可恢复,请谨慎操作。
* 如待删除的素材组包含较多素材资产,删除操作可能耗费一定时间。
* 对于在方舟控制台创建的真人素材组,**仅可删除授权已过期或已拒绝接收的素材组;** 授权有效期内、有效期未开始或已接收的素材无法删除。
:::
```mixin-react
return (<Tabs>
<Tabs.TabPane title="快速入口" key="lvNm2K2e"><RenderMd content={`<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_57d0bca8e0d122ab1191b40101b5df75.png =20x) </span> [调用教程](https://www.volcengine.com/docs/82379/2333565) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_f45b5cd5863d1eed3bc3c81b9af54407.png =20x) </span> [接口列表](https://www.volcengine.com/docs/82379/2333601) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_bef4bc3de3535ee19d0c5d6c37b0ffdd.png =20x) </span> [开通模型](https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false)
`}></RenderMd></Tabs.TabPane>
<Tabs.TabPane title="鉴权说明" key="jTfWOr00"><RenderMd content={`本接口仅支持 Access KeyAK/SK鉴权。
`}></RenderMd></Tabs.TabPane></Tabs>);
```
---
<span id="jsH8fA91"></span>
## 请求参数
<span id="LZAiABbI"></span>
### 请求体
---
**Id** `string` %%require%%
需删除的素材资产组 ID。
---
**ProjectName** `string`
需删除素材资产组所属的项目名称,默认值为 default。
若资源不在默认项目中,需填写正确的项目名称,获取项目名称,请查看 [文档](https://www.volcengine.com/docs/82379/1359411?lang=zh#03ec4a65)。
<span id="pzKKGMI2"></span>
## 响应参数
:::tip
本接口无业务返回参数。
:::
---
<span id="W7hm7e18"></span>
## 请求示例
```text
POST /?Action=DeleteAssetGroup&Version=2024-01-01 HTTP/1.1
Host: ark.cn-beijing.volcengineapi.com
Content-Type: application/json
X-Date: 20260328T000000Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=AKLTYz******/20260328/cn-beijing/ark/request, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature=47a7d934******e41085f
{
"Id": "group-2026**********-*****",
"ProjectName": "default"
}
```
<span id="wUMBBtP9"></span>
## 响应示例
```json
{
"ResponseMetadata": {
"RequestId": "20260328000000000000000000000000",
"Action": "DeleteAssetGroup",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {}
}
```

View File

@ -0,0 +1,74 @@
`POST https://ark.cn-beijing.volcengineapi.com/?Action=DeleteAsset&Version=2024-01-01`
本文介绍删除素材资产AssetAPI 的输入输出参数,供您使用接口时查阅字段含义。
```mixin-react
return (<Tabs>
<Tabs.TabPane title="快速入口" key="XUjyLha2Xp"><RenderMd content={`<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_57d0bca8e0d122ab1191b40101b5df75.png =20x) </span> [调用教程](https://www.volcengine.com/docs/82379/2333565) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_f45b5cd5863d1eed3bc3c81b9af54407.png =20x) </span> [接口列表](https://www.volcengine.com/docs/82379/2333601) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_bef4bc3de3535ee19d0c5d6c37b0ffdd.png =20x) </span> [开通模型](https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false)
`}></RenderMd></Tabs.TabPane>
<Tabs.TabPane title="鉴权说明" key="ja8gRJxaz4"><RenderMd content={`本接口仅支持 Access KeyAK/SK鉴权。
`}></RenderMd></Tabs.TabPane></Tabs>);
```
---
<span id="request-params"></span>
## 请求参数
<span id="request-body"></span>
### 请求体
---
**Id** `string` %%require%%
需要删除的 Asset素材资产的 Id。
---
**ProjectName** `string`
需要删除的 Asset素材资产所属的项目名称默认值为default。
若资源不在默认项目中,需填写正确的项目名称,获取项目名称,请查看 [文档](https://www.volcengine.com/docs/82379/1359411?lang=zh#03ec4a65)。
<span id="response-params"></span>
## 响应参数
:::tip
本接口无业务返回参数。
:::
---
<span id=".6K-35rGC56S65L6L"></span>
## 请求示例
```text
POST /?Action=DeleteAsset&Version=2024-01-01 HTTP/1.1
Host: ark.cn-beijing.volcengineapi.com
Content-Type: application/json
X-Date: 20260328T000000Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=AKLTYz******/20260328/cn-beijing/ark/request, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature=47a7d934******e41085f
{
"Id": "Asset-2026**********-*****",
"ProjectName": "default"
}
```
<span id=".5ZON5bqU56S65L6L"></span>
## 响应示例
```json
{
"ResponseMetadata": {
"RequestId": "20260328000000000000000000000000",
"Action": "DeleteAsset",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {}
}
```

View File

@ -0,0 +1,86 @@
`POST https://ark.cn-beijing.volcengineapi.com/?Action=UpdateAsset&Version=2024-01-01`
本文介绍更新素材资产信息AssetAPI 的输入输出参数,供您使用接口时查阅字段含义。当前仅支持更新 `Name`。
```mixin-react
return (<Tabs>
<Tabs.TabPane title="快速入口" key="GKGUlkIXAR"><RenderMd content={`<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_57d0bca8e0d122ab1191b40101b5df75.png =20x) </span> [调用教程](https://www.volcengine.com/docs/82379/2333565) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_f45b5cd5863d1eed3bc3c81b9af54407.png =20x) </span> [接口列表](https://www.volcengine.com/docs/82379/2318269) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_bef4bc3de3535ee19d0c5d6c37b0ffdd.png =20x) </span> [开通模型](https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false)
`}></RenderMd></Tabs.TabPane>
<Tabs.TabPane title="鉴权说明" key="Hufey2Y56Z"><RenderMd content={`本接口仅支持 Access KeyAK/SK鉴权。
`}></RenderMd></Tabs.TabPane></Tabs>);
```
---
<span id="request-params"></span>
## 请求参数
<span id="request-body"></span>
### 请求体
---
**Id** `string` %%require%%
需要更新的 Asset素材资产的 Id。
---
**Name** `string`
需要更新的 Asset素材资产的新名称上限为 64 个字符。
---
**ProjectName** `string`
需要更新的 Asset素材资产所属的项目名称默认值为default。
若资源不在默认项目中,需填写正确的项目名称,获取项目名称,请查看 [文档](https://www.volcengine.com/docs/82379/1359411?lang=zh#03ec4a65)。
<span id="response-params"></span>
## 响应参数
---
**Id** `string`
Asset素材资产的 Id。
---
<span id=".6K-35rGC56S65L6L"></span>
## 请求示例
```text
POST /?Action=UpdateAsset&Version=2024-01-01 HTTP/1.1
Host: ark.cn-beijing.volcengineapi.com
Content-Type: application/json
X-Date: 20260328T000000Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=AKLTYz******/20260328/cn-beijing/ark/request, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature=47a7d934******e41085f
{
"Id": "Asset-2026**********-*****",
"Name": "new-name",
"ProjectName": "default"
}
```
<span id=".5ZON5bqU56S65L6L"></span>
## 响应示例
```json
{
"ResponseMetadata": {
"RequestId": "20260328000000000000000000000000",
"Action": "UpdateAsset",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "Asset-2026**********-*****"
}
}
```

View File

@ -0,0 +1,93 @@
`POST https://ark.cn-beijing.volcengineapi.com/?Action=UpdateAssetGroup&Version=2024-01-01`
更新单个 Asset Group素材资产组合信息。当前仅支持更新 Asset Group素材资产组合的 Name 和 Description。
```mixin-react
return (<Tabs>
<Tabs.TabPane title="快速入口" key="dZF0anlOBU"><RenderMd content={`<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_57d0bca8e0d122ab1191b40101b5df75.png =20x) </span> [调用教程](https://www.volcengine.com/docs/82379/2333565) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_f45b5cd5863d1eed3bc3c81b9af54407.png =20x) </span> [接口列表](https://www.volcengine.com/docs/82379/2318269) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_bef4bc3de3535ee19d0c5d6c37b0ffdd.png =20x) </span> [开通模型](https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false)
`}></RenderMd></Tabs.TabPane>
<Tabs.TabPane title="鉴权说明" key="peae1e0Xvc"><RenderMd content={`本接口仅支持 Access KeyAK/SK鉴权。
`}></RenderMd></Tabs.TabPane></Tabs>);
```
---
<span id="request-params"></span>
## 请求参数
<span id="request-body"></span>
### 请求体
---
**Id** `string` %%require%%
需要更新的 Asset Group素材资产组合的 Id。
---
**Name** `string`
需要更新的 Asset Group素材资产组合的新名称上限为 64 个字符。
---
**Description** `string`
需要更新的 Asset Group素材资产组合的新描述上限为 300 字符。
---
**ProjectName** `string`
需要更新的 Asset Group素材资产组合所属的项目名称默认值为default。
若资源不在默认项目中,需填写正确的项目名称,获取项目名称,请查看 [文档](https://www.volcengine.com/docs/82379/1359411?lang=zh#03ec4a65)。
<span id="response-params"></span>
## 响应参数
---
**Id** `string`
Asset Group素材资产组合的 Id。
---
<span id=".6K-35rGC56S65L6L"></span>
## 请求示例
```text
POST /?Action=UpdateAssetGroup&Version=2024-01-01 HTTP/1.1
Host: ark.cn-beijing.volcengineapi.com
Content-Type: application/json
X-Date: 20260328T000000Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=AKLTYz******/20260328/cn-beijing/ark/request, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature=47a7d934******e41085f
{
"Id": "group-2026**********-*****",
"Name": "new-name",
"Description": "new-description",
"ProjectName": "default"
}
```
<span id=".5ZON5bqU56S65L6L"></span>
## 响应示例
```json
{
"ResponseMetadata": {
"RequestId": "20260328000000000000000000000000",
"Action": "UpdateAssetGroup",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "group-2026**********-*****"
}
}
```

View File

@ -0,0 +1,168 @@
`POST https://ark.cn-beijing.volcengineapi.com/?Action=GetAsset&Version=2024-01-01`
查询素材资产状态,确认素材是否已完成预处理并可用于推理。
```mixin-react
return (<Tabs>
<Tabs.TabPane title="快速入口" key="k6xoCAAzLe"><RenderMd content={`<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_57d0bca8e0d122ab1191b40101b5df75.png =20x) </span> [调用教程](https://www.volcengine.com/docs/82379/2333565) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_f45b5cd5863d1eed3bc3c81b9af54407.png =20x) </span> [接口列表](https://www.volcengine.com/docs/82379/2318269) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_bef4bc3de3535ee19d0c5d6c37b0ffdd.png =20x) </span> [开通模型](https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false)
`}></RenderMd></Tabs.TabPane>
<Tabs.TabPane title="鉴权说明" key="NcZDHXiFXA"><RenderMd content={`本接口仅支持 Access KeyAK/SK鉴权。
`}></RenderMd></Tabs.TabPane></Tabs>);
```
---
<span id="request-params"></span>
## 请求参数
<span id="request-body"></span>
### 请求体
---
**Id** `string` %%require%%
Asset素材资产的 Id。
---
**ProjectName** `string`
需要查询的 Asset素材资产所属的项目名称默认值为 `default`。
若资源不在默认项目中,需填写正确的项目名称,获取项目名称,请查看 [文档](https://www.volcengine.com/docs/82379/1359411?lang=zh#03ec4a65)。
<span id="response-params"></span>
## 响应参数
---
**Id** `string`
Asset素材资产的 Id。
---
**Name** `string`
Asset素材资产的名称上限为 64 个字符。
---
**URL** `string`
Asset素材资产的访问地址。有效期为 12 小时,请及时保存。
---
**AssetType** `string`
Asset素材资产的类型。可选值
* `Image`
* `Video`
* `Audio`
---
**GroupId** `string`
Asset素材资产所属的 Asset Group素材资产组合的 Id。
---
**Status** `string`
素材资产状态。可选值:
* `Active`:已处理完毕,可以使用
* `Processing`:正在预处理,无法使用
* `Failed`:处理失败
---
**Error** `object`
错误信息。
属性
---
Error.**Code** `string`
错误码。
---
Error.**Message** `string`
错误信息。
---
**CreateTime** `string`
创建时间。
---
**UpdateTime** `string`
更新时间。
---
**ProjectName** `string`
资源所属的项目名称。
---
<span id=".6K-35rGC56S65L6L"></span>
## 请求示例
```text
POST /?Action=GetAsset&Version=2024-01-01 HTTP/1.1
Host: ark.cn-beijing.volcengineapi.com
Content-Type: application/json
X-Date: 20260328T000000Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=AKLTYz******/20260328/cn-beijing/ark/request, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature=47a7d934******e41085f
{
"Id": "Asset-2026**********-*****",
"ProjectName": "default"
}
```
<span id=".5ZON5bqU56S65L6L"></span>
## 响应示例
```json
{
"ResponseMetadata": {
"RequestId": "20260328000000000000000000000000",
"Action": "GetAsset",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "Asset-2026**********-*****",
"Name": "test",
"URL": "https://example.com/asset-url",
"AssetType": "Image",
"GroupId": "group-2026**********-*****",
"Status": "Active",
"Error": {
"Code": "",
"Message": ""
},
"CreateTime": "2026-03-28T00:00:00Z",
"UpdateTime": "2026-03-28T00:00:00Z",
"ProjectName": "default"
}
}
```

View File

@ -0,0 +1,280 @@
`POST https://ark.cn-beijing.volcengineapi.com/?Action=ListAssets&Version=2024-01-01`
查询符合筛选条件的 Assets素材资产列表。
```mixin-react
return (<Tabs>
<Tabs.TabPane title="快速入口" key="X3ZqVHf6Rr"><RenderMd content={`<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_57d0bca8e0d122ab1191b40101b5df75.png =20x) </span> [调用教程](https://www.volcengine.com/docs/82379/2333565) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_f45b5cd5863d1eed3bc3c81b9af54407.png =20x) </span> [接口列表](https://www.volcengine.com/docs/82379/2318269) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_bef4bc3de3535ee19d0c5d6c37b0ffdd.png =20x) </span> [开通模型](https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false)
`}></RenderMd></Tabs.TabPane>
<Tabs.TabPane title="鉴权说明" key="hEYP88LFdX"><RenderMd content={`本接口仅支持 Access KeyAK/SK鉴权。
`}></RenderMd></Tabs.TabPane></Tabs>);
```
---
<span id="request-params"></span>
## 请求参数
<span id="request-body"></span>
### 请求体
---
**Filter** `object` %%require%%
搜索的过滤条件。
属性
---
Filter.**GroupIds** `string[]`
Asset素材资产所属的 Asset Group素材资产组合的 Id 列表。
---
Filter.**GroupType** `string` %%require%%
Asset Group素材资产组合的类型。可选值
* `AIGC`:虚拟人像
* `LivenessFace`:真人素材
---
Filter.**Statuses** `string[]`
素材资产状态。可选值:
* `Active`:素材资产已处理完毕,可以使用
* `Processing`:素材资产正在预处理,无法使用
* `Failed`:素材资产处理失败
---
Filter.**Name** `string`
Asset素材资产的名称上限为 64 个字符。
---
**PageNumber** `integer (i64)` %%require%%
搜索页码,从 1 开始。例如:`1` 表示返回第一页的搜索结果。
---
**PageSize** `integer (i64)` %%require%%
每页搜索结果的数量,上限为 100。
---
**SortBy** `string`
用于排序的字段名称,默认值为 `CreateTime`。可选值:
* `CreateTime`:根据创建时间排序
* `UpdateTime`:根据更新时间排序
* `GroupId`:根据资产素材组的 Id 排序
---
**SortOrder** `string`
排序顺序,默认值为 `Desc`。可选值:
* `Desc`:降序
* `Asc`:升序
---
**ProjectName** `string`
资源所属的项目名称默认值为default。
若资源不在默认项目中,需填写正确的项目名称,获取项目名称,请查看 [文档](https://www.volcengine.com/docs/82379/1359411?lang=zh#03ec4a65)。
<span id="response-params"></span>
## 响应参数
---
**Items** `object[]`
符合筛选条件的 Asset素材资产数组。
属性
---
Items.**Id** `string`
Asset素材资产的 Id。
---
Items.**Name** `string`
Asset素材资产的名称上限为 64 个字符。
---
Items.**URL** `string`
Asset素材资产的公共可访问地址。有效期为 12 小时,请及时保存。
---
Items.**GroupId** `string`
Asset素材资产所属的 Asset Group素材资产组合的 Id。
---
Items.**AssetType** `string`
Asset素材资产的类型。可选值
* `Image`:图像
* `Video`:视频
* `Audio`:音频
---
Items.**Status** `string`
任务状态。可选值:
* `Active`
* `Processing`
* `Failed`
---
Items.**Error** `object`
错误信息。
属性
---
Items.Error.**Code** `string`
错误码。
---
Items.Error.**Message** `string`
错误信息。
---
Items.**ProjectName** `string`
资源所属的项目名称。
---
Items.**CreateTime** `string`
创建时间。
---
Items.**UpdateTime** `string`
更新时间。
---
**TotalCount** `integer (i64)`
返回总数。
---
**PageNumber** `integer (i64)`
返回的页数。
---
**PageSize** `integer (i64)`
每页搜索结果的数量,上限为 100。
---
<span id=".6K-35rGC56S65L6L"></span>
## 请求示例
```text
POST /?Action=ListAssets&Version=2024-01-01 HTTP/1.1
Host: ark.cn-beijing.volcengineapi.com
Content-Type: application/json
X-Date: 20260328T000000Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=AKLTYz******/20260328/cn-beijing/ark/request, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature=47a7d934******e41085f
{
"Filter": {
"GroupIds": [
"group-2026**********-*****"
],
"GroupType": "AIGC",
"Statuses": [
"Active"
],
"Name": "test"
},
"PageNumber": 1,
"PageSize": 10,
"SortBy": "CreateTime",
"SortOrder": "Desc",
"ProjectName": "default"
}
```
<span id=".5ZON5bqU56S65L6L"></span>
## 响应示例
```json
{
"ResponseMetadata": {
"RequestId": "20260328000000000000000000000000",
"Action": "ListAssets",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Items": [
{
"Id": "Asset-2026**********-*****",
"Name": "test",
"URL": "https://example.com/asset-url",
"GroupId": "group-2026**********-*****",
"AssetType": "Image",
"Status": "Active",
"Error": {
"Code": "",
"Message": ""
},
"ProjectName": "default",
"CreateTime": "2026-03-28T00:00:00Z",
"UpdateTime": "2026-03-28T00:00:00Z"
}
],
"TotalCount": 1,
"PageNumber": 1,
"PageSize": 10
}
}
```

View File

@ -0,0 +1,125 @@
`POST https://ark.cn-beijing.volcengineapi.com/?Action=GetAssetGroup&Version=2024-01-01`
获取单个Asset Group素材资产组合信息。
```mixin-react
return (<Tabs>
<Tabs.TabPane title="快速入口" key="HRBKuuT0TQ"><RenderMd content={`<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_57d0bca8e0d122ab1191b40101b5df75.png =20x) </span> [调用教程](https://www.volcengine.com/docs/82379/2333565) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_f45b5cd5863d1eed3bc3c81b9af54407.png =20x) </span> [接口列表](https://www.volcengine.com/docs/82379/2333601) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_bef4bc3de3535ee19d0c5d6c37b0ffdd.png =20x) </span> [开通模型](https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false)
`}></RenderMd></Tabs.TabPane>
<Tabs.TabPane title="鉴权说明" key="MtPj6OfJKp"><RenderMd content={`本接口仅支持 Access KeyAK/SK鉴权。
`}></RenderMd></Tabs.TabPane></Tabs>);
```
---
<span id="request-params"></span>
## 请求参数
<span id="request-body"></span>
### 请求体
---
**Id** `string` %%require%%
Asset Group素材资产组合的 Id。
---
**ProjectName** `string`
需要查询的 Asset Group素材资产组合所属的项目名称默认值为default。
若资源不在默认项目中,需填写正确的项目名称,获取项目名称,请查看 [文档](https://www.volcengine.com/docs/82379/1359411?lang=zh#03ec4a65)。
<span id="response-params"></span>
## 响应参数
---
**Id** `string`
Asset Group素材资产组合的 Id。
---
**Name** `string`
Asset Group素材资产组合的名称上限为 64 个字符。
---
**Description** `string`
Asset Group素材资产组合的描述上限为 300 字符。
---
**GroupType** `string`
Asset Group素材资产组合的类型。可选值
* `AIGC`:虚拟人像
* `LivenessFace`:真人素材
---
**ProjectName** `string`
资源所属的项目名称。
---
**CreateTime** `string`
创建时间。
---
**UpdateTime** `string`
更新时间。
---
<span id=".6K-35rGC56S65L6L"></span>
## 请求示例
```text
POST /?Action=GetAssetGroup&Version=2024-01-01 HTTP/1.1
Host: ark.cn-beijing.volcengineapi.com
Content-Type: application/json
X-Date: 20260328T000000Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=AKLTYz******/20260328/cn-beijing/ark/request, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature=47a7d934******e41085f
{
"Id": "group-2026**********-*****",
"ProjectName": "default"
}
```
<span id=".5ZON5bqU56S65L6L"></span>
## 响应示例
```json
{
"ResponseMetadata": {
"RequestId": "20260328000000000000000000000000",
"Action": "GetAssetGroup",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"Id": "group-2026**********-*****",
"Name": "test",
"Description": "test",
"GroupType": "AIGC",
"ProjectName": "default",
"CreateTime": "2026-03-28T00:00:00Z",
"UpdateTime": "2026-03-28T00:00:00Z"
}
}
```

View File

@ -0,0 +1,220 @@
`POST https://ark.cn-beijing.volcengineapi.com/?Action=ListAssetGroups&Version=2024-01-01`
查询符合筛选条件的Asset Groups素材资产组合列表。
```mixin-react
return (<Tabs>
<Tabs.TabPane title="快速入口" key="NdTz6AmVwP"><RenderMd content={`<span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_57d0bca8e0d122ab1191b40101b5df75.png =20x) </span> [调用教程](https://www.volcengine.com/docs/82379/2333565) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_f45b5cd5863d1eed3bc3c81b9af54407.png =20x) </span> [接口列表](https://www.volcengine.com/docs/82379/2318269) <span>![图片](https://portal.volccdn.com/obj/volcfe/cloud-universal-doc/upload_bef4bc3de3535ee19d0c5d6c37b0ffdd.png =20x) </span> [开通模型](https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false)
`}></RenderMd></Tabs.TabPane>
<Tabs.TabPane title="鉴权说明" key="jAo0Qz18Pr"><RenderMd content={`本接口仅支持 Access KeyAK/SK鉴权。
`}></RenderMd></Tabs.TabPane></Tabs>);
```
---
<span id="request-params"></span>
## 请求参数
<span id="request-body"></span>
### 请求体
---
**Filter** `object` %%require%%
搜索的过滤条件。
属性
Filter.**GroupIds** `array`
Asset Group素材资产组合的 Id 列表。
---
Filter.**GroupType** `string` %%require%%
Asset Group素材资产组合的类型。可选值
* `AIGC`:虚拟人像
* `LivenessFace`: 真人素材
---
Filter.**Name** `string`
Asset Group素材资产组合的名称上限为 64 个字符。
---
**PageNumber** `integer (i64)` %%require%%
搜索页码,可用于列表分页功能,从 1 开始。例如:"page_number": 1即返回第一页的搜索结果。
---
**PageSize** `integer (i64)` %%require%%
每页搜索结果的数量,上限为 100。
---
**SortBy** `string`
用于排序的字段名称,默认值为 `CreateTime`。可选值:
* `CreateTime`:根据创建时间排序
* `UpdateTime`:根据更新时间排序
---
**SortOrder** `string`
排序顺序,默认值为 `Desc`。可选值:
* `Desc`:降序
* `Asc`:升序
---
**ProjectName** `string`
资源所属的项目名称,默认值为 default。
若资源不在默认项目中,需填写正确的项目名称,获取项目名称,请查看 [文档](https://www.volcengine.com/docs/82379/1359411?lang=zh#03ec4a65)。
<span id="response-params"></span>
## 响应参数
---
**TotalCount ** `int (i64)`
返回的 Asset Group素材资产组合的总数。
---
**Items** `array[] `
符合筛选条件的 Asset Group素材资产组合数组。
---
Items.**Id** `string`
Asset Group素材资产组合的 Id。
---
Items.**Name** `string`
Asset Group素材资产组合的名称上限为64个字符。
---
Items.**Description** `string`
Asset Group素材资产组合的描述上限为 300 字符。
---
Items.**GroupType** `string`
Asset Group素材资产组合的类型。
* `AIGC`:虚拟人像。
* `LivenessFace`: 真人素材
---
Items.**ProjectName** `string`
资源所属的项目名称。
---
Items.**CreateTime** `string`
创建时间。
---
Items.**UpdateTime** `string`
更新时间。
---
<span id="jb2Vro9B"></span>
### **PageNumber ** int (i64)
返回的页数。
---
<span id="r0oQyygI"></span>
### **PageSize ** int (i64)
每页搜索结果的数量上限为100。
---
<span id=".6K-35rGC56S65L6L"></span>
## 请求示例
```text
POST /?Action=ListAssetGroups&Version=2024-01-01 HTTP/1.1
Host: ark.cn-beijing.volcengineapi.com
Content-Type: application/json
X-Date: 20260328T000000Z
X-Content-Sha256: 287e874e******d653b44d21e
Authorization: HMAC-SHA256 Credential=AKLTYz******/20260328/cn-beijing/ark/request, SignedHeaders=content-type;host;x-content-sha256;x-date, Signature=47a7d934******e41085f
{
"Filter": {
"Name": "test",
"GroupType": "AIGC"
},
"PageNumber": 1,
"PageSize": 10,
"SortBy": "CreateTime",
"SortOrder": "Desc",
"ProjectName": "default"
}
```
<span id=".5ZON5bqU56S65L6L"></span>
## 响应示例
```json
{
"ResponseMetadata": {
"RequestId": "20260328000000000000000000000000",
"Action": "ListAssetGroups",
"Version": "2024-01-01",
"Service": "ark",
"Region": "cn-beijing"
},
"Result": {
"TotalCount": 1,
"Items": [
{
"Id": "group-2026**********-*****",
"Name": "test",
"Title": "test",
"Description": "test",
"GroupType": "AIGC",
"ProjectName": "default",
"CreateTime": "2026-03-28T00:00:00Z",
"UpdateTime": "2026-03-28T00:00:00Z"
}
],
"PageNumber": 1,
"PageSize": 10
}
}
```