LoopToken

Seedance 方舟原生素材库版

Seedance 方舟原生素材库版:素材组与素材管理、真人认证,以及 /hub/api/v3 视频创建、查询、列表、删除,异步

POST/hub/api/v3/contents/generations/tasks
GET/hub/api/v3/contents/generations/tasks/{id}
GET/hub/api/v3/contents/generations/tasks
DELETE/hub/api/v3/contents/generations/tasks/{id}
POST/?Action={Action}&Version=2024-01-01

本模式独立提供 v3 视频创建、查询、列表、删除,以及素材组、素材与真人认证接口。素材库版与Seedance 方舟原生接口是两个独立模式:视频 API Base 不同,任务、素材、Endpoint 绑定不能跨模式使用;相同 model ID 不会自动切换模式。

项值
视频 API Basehttps://api.vibelab.me/hub/api/v3(支持自定义地址的方舟视频 SDK 将 base_url 设为此地址)
素材/认证入口POST https://api.vibelab.me/?Action=<Action>&Version=2024-01-01,JSON 请求体
鉴权Authorization: Bearer <LOOPTOKEN_API_KEY>,无需 AK/SK 或 V4 签名
模式视频异步:创建 → 轮询 GET /hub/api/v3/contents/generations/tasks/{id}
计费按 usage.completion_tokens,见计费
媒体保留视频产物 URL 最长 24 小时,任务记录仅最近 7 天可查;素材临时链接最长 12 小时
  • 请求字段、Action 名称、成功响应使用方舟原生格式。官方 SDK 中需要 AK/SK 的管理客户端不能直接使用此鉴权,请按下文 HTTP 示例调用。
  • /api/v3 属于独立的方舟原生接口,不能用来访问本模式任务。两种模式可用同一把 LoopToken Key,仍须分别获得对应模式和模型的访问权限。
  • 素材功能需要账户、Key、模型均获准使用本模式。受限 Key 按原有权限访问,不获得额外权限。

快速开始

curl 'https://api.vibelab.me/hub/api/v3/contents/generations/tasks' \
 -H "Authorization: Bearer $LOOPTOKEN_API_KEY" \
 -H 'Content-Type: application/json' \
 -d '{
  "model":"doubao-seedance-2-5-260628",
  "content":[{"type":"text","text":"一只猫在阳光下散步"}],
  "duration":5,"resolution":"720p","ratio":"16:9","watermark":false
 }'

成功返回 HTTP 200,id 原样使用上游创建接口返回的任务 ID(兼容 output.task_id),不替换为平台生成的任务编号:

{"id":"cgt-上游任务标识"}

这是异步任务,保存 id,用本模式的 v3 查询接口检查状态;创建成功不代表视频已生成。

模式选择

要做什么怎么调用
生成视频POST /hub/api/v3/contents/generations/tasks,见视频参数
查询、列出、删除视频任务GET / DELETE /hub/api/v3/contents/generations/tasks[/{id}],见响应
管理素材组与素材POST /?Action=<Action>&Version=2024-01-01,见素材 Action
真人认证CreateVisualValidateSession / GetVisualValidateResult,见真人认证 H5

请求参数

视频参数

支持的模型 ID(实际开放状态与售价以账户权限及平台价格配置为准):doubao-seedance-2-0-260128、doubao-seedance-2-0-fast-260128、doubao-seedance-2-0-mini-260615、doubao-seedance-2-5-260628。也可用平台为本模式绑定的 Endpoint ID;另一模式的 Endpoint 绑定不能复用。

创建请求是 JSON 对象,控制参数在顶层,媒体在 content 数组;不要使用 /v1 接口的扁平 prompt 请求体。

参数类型必填默认说明
modelstring是-上述模型 ID 或本模式已绑定的 Endpoint ID
contentarray是-非空的文本、图片、视频、音频数组
durationinteger否-秒数:2.0 系列 4–15,2.5 为 4–30;-1 自动选择
resolutionstring否-480p、720p 等模型支持的档位;通常用 720p
ratiostring否-16:9、4:3、1:1、3:4、9:16、21:9、adaptive
seedinteger否-随机种子,原样透传;不能保证相同种子完全复现画面,具体取值范围与效果由模型服务决定
generate_audioboolean否-是否生成音频
watermarkboolean否-是否添加水印
callback_urlstring否-可公开访问的 HTTPS 回调地址;回调使用创建时返回的上游任务 ID
execution_expires_afterinteger否-任务过期秒数,3600–259200

附加生成参数与未列出的扩展字段默认透传,保留原始值和嵌套结构,支持范围由模型服务校验。平台仍执行模型权限、素材归属、路由、计费及回调所需校验;参数被接受不代表模型服务保证支持或生效。

省略控制参数时保留模型服务的默认行为。分辨率、时长、媒体组合仍须符合所选模型能力。创建前预冻结积分,完成后按核实的生成用量结算。

content 结构:

type内容字段role
texttext不需要
image_urlimage_url.urlreference_image、first_frame 或 last_frame
video_urlvideo_url.urlreference_video
audio_urlaudio_url.urlreference_audio
  • 图片、视频、音频可用无需登录的公网 URL,或本模式返回的 asset://asset-公开标识。图片与音频也可用对应 MIME 的 Base64 数据 URL;视频不支持 Base64。请求体上限 64 MiB。
  • 首尾帧不能与参考图模式混用。

素材 Action

Action请求字段Result
CreateAssetGroupName,Description 可选,GroupType 仅 AIGC,LibraryKey 可选Id
ListAssetGroupsFilter.GroupType,分页/排序,LibraryKey 可选筛选Items,Libraries;页码模式带 TotalCount
GetAssetGroupId素材组信息
UpdateAssetGroupId,Name/DescriptionId
DeleteAssetGroupId空对象
CreateAssetGroupId,URL,AssetType,Name 可选,Moderation 可选Id
ListAssetsFilter.GroupType,GroupIds/Name/Statuses 可选,分页/排序,LibraryKey 可选筛选Items;页码模式带 TotalCount
GetAssetId素材信息,含 Status 与临时 URL
UpdateAssetId,NameId
DeleteAssetId空对象
CreateVisualValidateSessionCallbackURL,LibraryKey 可选H5Link,BytedToken,CallbackURL
GetVisualValidateResultBytedTokenGroupId(完成后)
  • 可用素材库以 ListAssetGroups 返回的 Libraries 为准(每项含 LibraryKey 与 Name),库的数量和可用模型可能调整,不要写死。建组或发起真人认证时可传 LibraryKey 指定素材库,不传则落平台默认库;只有一个库时无需传。素材组、素材条目带 LibraryKey 字段,ListAssetGroups / ListAssets 可按 LibraryKey 筛选。
  • 全部操作支持可选 ProjectName,默认 default。资源 ID、认证 token、分页 token 仅在当前账户及项目下有效。
  • 同一账户的多把 Key 可按各自权限访问该账户资源;不同账户完全隔离。直接传入他人的 ID 返回资源不可用,不暴露是否存在。素材组删除后,其素材引用与下载链接均失效。
  • Name 最长 64 字符,素材组 Description 最长 300 字符。AssetType 为 Image、Video 或 Audio。
  • 素材状态 Processing、Active、Failed,只有 Active 可用于生成。
  • Moderation 若提供,必须是 {"Strategy":"Default"}。
  • 真人素材必须经过认证,无法通过 CreateAssetGroup 自行创建 LivenessFace 素材组;在已有真人组追加素材时,仍由服务检查人脸一致性与审核。

素材组与素材示例

curl 'https://api.vibelab.me/?Action=CreateAssetGroup&Version=2024-01-01' \
 -H "Authorization: Bearer $LOOPTOKEN_API_KEY" -H 'Content-Type: application/json' \
 -d '{"Name":"产品参考","Description":"产品视频使用","GroupType":"AIGC"}'
{"ResponseMetadata":{"RequestId":"请求标识","Action":"CreateAssetGroup","Version":"2024-01-01","Service":"ark","Region":"cn-beijing"},"Result":{"Id":"group-公开标识"}}
curl 'https://api.vibelab.me/?Action=CreateAsset&Version=2024-01-01' \
 -H "Authorization: Bearer $LOOPTOKEN_API_KEY" -H 'Content-Type: application/json' \
 -d '{"GroupId":"group-公开标识","Name":"参考图","AssetType":"Image","URL":"https://example.com/reference.png"}'
  • 素材 URL 必须无需登录即可访问。控制台也提供文件上传。
  • 创建返回 Id 后调用 GetAsset 检查处理状态;控制台可用“刷新状态”。
  • 素材临时访问链接有效期最长 12 小时,需下载时重新查询;删除或账户禁用可提前使链接失效。

以下是各 Action 的 body 示例(HTTP 调用时 Action 放 query,body 放 JSON 请求体):

{"Action":"GetAsset","body":{"Id":"asset-公开标识"}}
{"Action":"GetAssetGroup","body":{"Id":"group-公开标识"}}
{"Action":"UpdateAssetGroup","body":{"Id":"group-公开标识","Name":"新名称","Description":"新描述"}}
{"Action":"DeleteAssetGroup","body":{"Id":"group-公开标识"}}
{"Action":"UpdateAsset","body":{"Id":"asset-公开标识","Name":"新名称"}}
{"Action":"DeleteAsset","body":{"Id":"asset-公开标识"}}

列表与分页

Filter 必填,GroupType 为 AIGC 或 LivenessFace。可按 Name、GroupIds 过滤;ListAssets 还支持 Statuses 数组。

{"Action":"ListAssetGroups","body":{"Filter":{"GroupType":"AIGC"},"PageNumber":1,"PageSize":20}}
{"Action":"ListAssets","body":{"Filter":{"GroupType":"AIGC","GroupIds":["group-公开标识"],"Statuses":["Active"]},"MaxResults":20}}
模式参数规则
页码PageNumber(从 1 开始)+ PageSize(1–100),必须同时传带 TotalCount;素材组 PageNumber × PageSize > 10000、素材超过 20000 时改用 token 模式
tokenMaxResults(默认 10,1–100)+ 上一页的 NextToken不返回 TotalCount;无 NextToken 表示结束;token 有效期 1 小时
  • 两种模式不能混用。取下一页时保持筛选、排序、项目、MaxResults 一致。
  • SortBy 支持 CreateTime、UpdateTime;ListAssets 另支持 GroupId。SortOrder 为 Asc 或 Desc,默认 Desc。列表与计数仅含当前账户资源。

真人认证 H5

curl 'https://api.vibelab.me/?Action=CreateVisualValidateSession&Version=2024-01-01' \
 -H "Authorization: Bearer $LOOPTOKEN_API_KEY" -H 'Content-Type: application/json' \
 -d '{"CallbackURL":"https://your-app.example/verified"}'
{"Action":"GetVisualValidateResult","body":{"BytedToken":"validate-公开标识"}}
  • 返回 H5Link 与公开 BytedToken。把 H5Link 原样展示给用户,用户打开链接完成活体认证;链接可能使用认证服务域名,属于此流程的授权例外。会话有效期 30 分钟。API Key 不会放入链接。
  • 成功后 GetVisualValidateResult 返回当前账户的 GroupId,可调用 ListAssets 查询该真人组。未完成返回 AuthenticationPending,可稍后重查。
  • 认证结束后浏览器跳转 CallbackURL,带 bytedToken、resultCode,成功时附公开 GroupId。浏览器参数不能作为授权依据:服务端必须用原 Key 调 GetVisualValidateResult 确认。

请求示例

引用素材生成视频:

{
 "model":"doubao-seedance-2-0-260128",
 "content":[
  {"type":"text","text":"人物向镜头挥手"},
  {"type":"image_url","image_url":{"url":"asset://asset-公开标识"},"role":"reference_image"}
 ],
 "duration":5,"resolution":"720p"
}

素材引用使用本平台返回的公开 Asset Id。生成前检查所有权、状态、媒体类型与真人认证关系。素材须属于同一素材渠道和同一项目,并使用该项目可用的模型/Endpoint;项目与模型的兼容性仍由生成服务校验。其他模式不能使用本模式素材。

响应

创建成功返回 HTTP 200 和 {"id":"cgt-上游任务标识"},见快速开始。用该 id 查询任务,status 取值见下。

查询视频

curl 'https://api.vibelab.me/hub/api/v3/contents/generations/tasks/cgt-上游任务标识' \
 -H "Authorization: Bearer $LOOPTOKEN_API_KEY"
{
 "id":"cgt-上游任务标识",
 "model":"doubao-seedance-2-5-260628",
 "status":"succeeded",
 "duration":5,"resolution":"720p",
 "content":{"video_url":"https://api.vibelab.me/native-assets/media/临时访问标识"},
 "usage":{"completion_tokens":12345,"total_tokens":12345}
}
  • 建议每 5–10 秒查询一次。status:queued(排队)、running(生成中)、succeeded(成功)、failed(失败)、expired(过期)。
  • 字段以实际返回为准,usage 中的用量并非每次都齐全。
  • 任务响应、列表、回调使用同一上游任务 ID;旧平台任务 ID 仍可作为查询、筛选、删除的兼容别名。
  • 视频产物 URL 为平台临时链接,最长 24 小时,请及时下载。查询范围为最近 7 天。
  • 任务不存在、属于另一账户或属于另一模式时返回 404。

提交网络异常、响应损坏或未返回任务 ID 时可能仍已接单。此时返回 HTTP 503,error.code=SubmissionUnconfirmed,不返回虚构的任务 ID。不要重新提交相同付费任务 → 保留响应头 X-Request-Id 联系管理员核对。

  • 冻结额度保留,由管理员核对后恢复查询或退款。未确认的提交不会出现在视频任务列表中;核对确认未创建时,回调用 request_id 关联原始请求,不提供任务 id。
  • 缺少可计费用量的成功任务也需要核对,不会当成免费生成。

视频列表

curl 'https://api.vibelab.me/hub/api/v3/contents/generations/tasks?page_num=1&page_size=20&filter.status=succeeded' \
 -H "Authorization: Bearer $LOOPTOKEN_API_KEY"

返回 {"total":1,"items":[任务对象]},只含当前账户、当前模式及当前 Key 有权限访问的最近 7 天任务。

查询参数说明
page_num页码,从 1 开始,默认 1,最大 500
page_size每页条数,默认 20,最大 500
filter.status按任务状态筛选
filter.task_ids按上游任务 ID 筛选(兼容旧平台任务 ID),可重复传入
filter.model本模式绑定的 Endpoint ID,以 ep- 开头
filter.service_tierdefault 或 flex;本模式创建仅支持 default

视频列表用小写 query 参数;素材 Action 列表用上文的 JSON 分页字段,两者不能混用。

删除视频记录

curl -X DELETE 'https://api.vibelab.me/hub/api/v3/contents/generations/tasks/cgt-上游任务标识' \
 -H "Authorization: Bearer $LOOPTOKEN_API_KEY"
  • 仅删除已结束且完成计费核对的任务记录,成功返回 HTTP 200 和 {},其平台产物访问链接随之失效。
  • 不会取消生成,也不会撤销已结算费用。
  • 排队中、处理中或尚未完成计费核对返回 409 → 继续查询原任务。另一账户或另一模式的任务返回 404。

计费

  • 视频生成与Seedance 方舟原生接口共用同一套 Token 基础价格,按模型、分辨率、是否含参考视频选档,按 usage.completion_tokens 结算,不按视频秒数收费。创建时预扣估算额度,结算按返回的生成 Token 数计算。
  • 两种模式的折扣独立:管理员在用户列表选“素材折”,可设素材库版通用折扣和模型折扣;模型留空继承素材库版通用折扣,默认系数 1 为原价,0.8 为八折。原生接口已有的折扣不会自动应用到素材库版。
  • 共用基础价中的原生专属绝对价优先,不叠加折扣;新折扣仅影响新任务,已创建任务按创建时锁定的价格档位与折扣结算。
  • 素材管理和真人认证本身不按视频生成 Token 计费。
  • 用户可在控制台“模型价格”的“Seedance 方舟原生素材库版”分组查看自己的有效 Token 价格。

错误

素材 Action 错误采用 ResponseMetadata.Error,含 Code、Message,请求标识与 Action 保留,错误内容经过净化。视频接口错误体 {"error":{"code":"错误码","message":"说明"}}:400 参数问题;401/403 Key 或模式权限问题;404 模型或任务不可访问;409 无法删除当前任务;503 本模式暂无可用服务。

HTTPcode触发场景处理
400InvalidParameter参数、分页或素材类型不合法检查参数、分页及素材类型
401 / 403鉴权错误 / AccessDeniedKey 无效,或账户、Key、模型未获准使用本模式检查 Key 与权限
404InvalidAsset.NotFound素材资源不存在、已删除或无访问权限;任务不存在或属于另一账户、另一模式检查 ID 与归属
409AuthenticationPending / AuthenticationConflict真人认证未完成或会话冲突;删除时任务尚未结束或未完成计费核对等待认证完成或重新核对会话;继续查询原任务
502 / 503ServiceUnavailable本模式暂无可用服务稍后重试查询;创建请求结果不明确时先核对
503SubmissionUnconfirmed创建请求提交结果无法确认不要重新提交,保留 X-Request-Id 联系管理员

注意事项

  • 创建请求超时或未返回任务 ID → 不要重新提交,先按查询视频中的说明保留 X-Request-Id 核对。
  • 素材 asset:// 引用 → 只能用本模式返回的素材,只有 Active 状态可用于生成;其他模式不能使用。
  • 视频产物 URL 与素材临时链接 → 有时效,及时下载转存。
  • /api/v3 任务与本模式任务 → 互不可见,查询范围仅最近 7 天。

本页内容