• 把图片、视频、音频先入库,生成时用素材 ID 引用
  • 同一路径 POST /doubao/api/,动作由查询参数 Action 选择
  • 入库不计费,但素材要等审核通过(Active)才能用于生成
  • 真人人脸素材必须先入库审核,直接传 URL 会被拦截
POST/doubao/api

认证

string必填

两种方式均可:

  • 网关 API Token,与其他接口一致:Authorization: Bearer YOUR_ARK_KEY
  • 火山 AK/SK 签名。为官方 SDK 写的脚本只需换掉 endpoint 即可复用,签名由网关用渠道配置的 AK/SK 代签。

请求时在请求头中添加:

Authorization: Bearer YOUR_ARK_KEY

查询参数

string必填

要执行的动作。匹配时忽略大小写,转发时使用规范拼写。

可选值:CreateAsset、GetAsset、ListAssets、UpdateAsset、DeleteAsset、CreateAssetGroup、GetAssetGroup、ListAssetGroups、UpdateAssetGroup、DeleteAssetGroup。

string可选

方舟 API 版本,省略时使用 2024-01-01。

各动作的字段

请求体只读取所选 Action 规定的字段,其余字段忽略。

Action字段
CreateAssetGroupId、URL、AssetType、Name、Description、ProjectName
GetAssetId、ProjectName
ListAssetsFilter、PageNumber、PageSize、SortBy、SortOrder、ProjectName
UpdateAssetId、Name、ProjectName
DeleteAssetId、ProjectName
CreateAssetGroupName、Description、GroupType、ProjectName
GetAssetGroupId、ProjectName
ListAssetGroupsFilter、NextToken、MaxResults、PageNumber、PageSize、SortBy、SortOrder、ProjectName
UpdateAssetGroupId、Name、Description、ProjectName
DeleteAssetGroupId、ProjectName

请求参数

string可选

素材或素材组的 ID。GetAsset、UpdateAsset、DeleteAsset、GetAssetGroup、UpdateAssetGroup、DeleteAssetGroup 必填。

string可选

新素材所属的素材组。CreateAsset 必填。

string可选

待入库素材的公网可访问地址,CreateAsset 必填。不接受 Base64 内容。

string可选

入库素材的媒体类型,CreateAsset 必填。取值 Image、Video、Audio。

string可选

显示名称,上限 64 字符。CreateAsset、UpdateAsset、CreateAssetGroup、UpdateAssetGroup 使用,列表动作可通过 Filter.Name 模糊搜索。

string可选

自由描述,上限 300 字符。CreateAssetGroup 与 UpdateAssetGroup 使用。

string可选

素材组类型。目前只接受 AIGC,CreateAssetGroup 会强制使用它:客户端传什么值都会在转发前被替换。

string可选

资源所属项目,默认 default。所有动作都可省略;素材与所属素材组的项目必须一致。

object可选

搜索过滤条件,ListAssets 与 ListAssetGroups 必填。

Filter 的元素字段 · 4 项
string可选

要搜索的素材组类型,取值 AIGC、LivenessFace。列表动作必填。

array可选

只返回这些素材组内的资源。

array可选

只返回这些处理状态的素材,仅 ListAssets 使用。取值 Active、Processing、Failed。

string可选

名称模糊匹配,上限 64 字符。

integer可选

页码,从 1 开始。在 ListAssetGroups 上必须与 PageSize 同时出现,不能与 NextToken 或 MaxResults 混用。

integer可选

每页数量,最大 100,与 PageNumber 成对使用。

string可选

上一次 ListAssetGroups 返回的游标。首次调用省略;不能与 PageNumber 或 PageSize 混用。

integer可选

ListAssetGroups 游标模式的每页数量,默认 10,范围 1 到 100,与 NextToken 配合使用。

string可选

列表动作的排序字段。取值 CreateTime(默认)、UpdateTime、GroupId。

string可选

列表动作的排序方向。取值 Desc(默认)、Asc。

响应

上游信封原样返回,动作结果在 Result,动作失败记录在 ResponseMetadata.Error。HTTP 状态为 200 但 ResponseMetadata.Error 存在时,同样表示调用失败。

ResponseMetadata 的元素字段 · 2 项
string

上游请求 ID,反馈问题时提供。

string

产生该响应的动作。

ResponseMetadata.Error 的元素字段 · 2 项
string

上游错误码,动作失败时出现。

string

上游错误信息。

Result 的元素字段 · 5 项
string

新建或更新后的资源 ID。CreateAsset、CreateAssetGroup 与两个更新动作返回。

string

处理状态。取值 Active、Processing、Failed。只有 Active 的素材可被生成请求引用。

string

已入库素材的访问地址,有效期 12 小时,需要长期保存请自行转存。

array

列表动作的一页结果,没有匹配项时为空数组。

integer

匹配的资源总数,列表动作在页码模式下返回。

入库流程

CreateAsset 是异步接口,提交后素材处于 Processing,要轮询到 Active 才能用于生成。

  1. 调 CreateAssetGroup 建组,拿到 GroupId(也可复用已有组)
  2. 调 CreateAsset 提交素材公网地址,拿到素材 Id
  3. 轮询 GetAsset 直到 Status 为 Active
  4. 在生成请求里引用该素材 ID

审核时长:图片通常数秒,视频与真人素材可能数分钟。

使用限制

  • 素材调用不预扣、不结算额度,每次调用在服务端日志中记录动作名
  • 同一分组内最多只能有一个渠道选中素材库。有多个时网关直接拒绝,而不是随机路由:素材调用没有模型字段可供区分,随机转发会把素材写进别的库
  • 真人人脸素材必须先入库审核,直接传 URL 会被内容审核拦截
  • 素材入库后自动同步到全部可用渠道,多渠道路由时都能直接使用

常见错误

HTTP原因
400Action 缺失或不在白名单内
400请求体不是 JSON 对象
400分组内存在多个选中素材库的渠道
401Token 缺失或无效
502上游调用失败,上游状态码与响应体一并透传

错误码

错误响应的格式、状态码与重试建议见错误码与限流,常见报错的排查步骤见常见问题。

使用示例

创建素材组

提交素材

查询素材状态

列出可用素材