YingTu Logo
正在检查 Google 登录…
返回 Seedance 工作台
REST API 参考

虚拟人素材 API

创建私域 AIGC 虚拟人素材。成功后返回 asset:// URI,素材变为 Active 后才能用于视频生成。

端点

Base URL

https://yingtu.ai
POST /api/seedance-assets/virtual-humans
GET /api/seedance-assets/virtual-humans/{id}

认证

调用者无需登录 YingTu 或 Google。接口使用 LaoZhang API Key,并仅接受 Authorization: Bearer <LAOZHANG_API_KEY>。

请求头必填说明
AuthorizationLaoZhang API Key,使用 Bearer 认证。
Content-Type仅 POST创建类 POST 请求固定使用 application/json。

请求

字段必填说明
name可选。素材名称,最多 64 个字符。
image_url必填。可公开访问的 HTTPS 图片;官方 CreateAsset 只接收 URL。

创建请求

cURL
curl --request POST \
  --url https://yingtu.ai/api/seedance-assets/virtual-humans \
  --header "Authorization: Bearer $LAOZHANG_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "image_url": "https://cdn.example.com/avatar.webp",
    "name": "brand-avatar"
  }'
HTTP request
POST /api/seedance-assets/virtual-humans
Content-Type: application/json
Authorization: Bearer $LAOZHANG_API_KEY

{
  "image_url": "https://cdn.example.com/avatar.webp",
  "name": "brand-avatar"
}

响应示例

HTTP/1.1 202 Accepted
Content-Type: application/json

{
	  "request_id": "req_01JZEXAMPLE",
	  "id": "ast_eyJvcGFxdWUiOiJleGFtcGxlIn0",
	  "object": "seedance.asset",
	  "kind": "virtual_human",
	  "name": "brand-avatar",
	  "status": "Processing",
	  "uri": "asset://asset-20260729-example"
	}

代码示例

JavaScript · Node.js
const response = await fetch("https://yingtu.ai/api/seedance-assets/virtual-humans", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.LAOZHANG_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    image_url: "https://cdn.example.com/avatar.webp",
    name: "brand-avatar",
  }),
});

if (!response.ok) throw new Error(await response.text());
console.log(await response.json());
Python · requests
import os
import requests

response = requests.post(
    "https://yingtu.ai/api/seedance-assets/virtual-humans",
    headers={"Authorization": f"Bearer {os.environ['LAOZHANG_API_KEY']}"},
    json={
        "image_url": "https://cdn.example.com/avatar.webp",
        "name": "brand-avatar",
    },
    timeout=60,
)

response.raise_for_status()
print(response.json())

查询素材状态

curl --request GET \
	  --url https://yingtu.ai/api/seedance-assets/virtual-humans/ast_eyJvcGFxdWUiOiJleGFtcGxlIn0 \
	  --header "Authorization: Bearer $LAOZHANG_API_KEY"
状态响应
HTTP/1.1 200 OK
Content-Type: application/json

{
	  "request_id": "req_01JZEXAMPLE",
	  "id": "ast_eyJvcGFxdWUiOiJleGFtcGxlIn0",
  "object": "seedance.asset",
  "kind": "virtual_human",
  "status": "Active",
  "uri": "asset://asset-20260729-example",
	  "created_at": "2026-07-29T05:00:00Z",
	  "updated_at": "2026-07-29T05:01:00Z"
}
Failed · HTTP 200
{
  "request_id": "req_01JZEXAMPLE",
  "id": "ast_eyJvcGFxdWUiOiJleGFtcGxlIn0",
  "object": "seedance.asset",
  "kind": "virtual_human",
  "status": "Failed",
  "uri": "asset://asset-20260729-example",
  "failure": {
    "code": "InvalidImage",
    "message": "The image did not pass upstream validation."
  }
}

错误码

HTTP 状态错误代码说明可重试
400invalid_request请求体、字段或参数值无效。
401invalid_api_keyAPI Key 缺失、无效或已停用。
403resource_not_owned认证或素材不属于当前 API Key,或公开 ID 无效。
403capability_unavailable当前服务账号尚未开通私域人物素材权益。
413payload_too_largeJSON 请求体超过 16 KB。
415unsupported_media_typePOST 请求的 Content-Type 不是 application/json。
429rate_limit_exceeded当前 API Key 已达到调用限制。
500internal_error服务无法完成当前请求。
502upstream_error上游素材或认证服务返回错误。
503authentication_unavailableAPI Key 验证服务暂时不可用。
503service_unavailable素材 API 的服务端配置暂时不可用。
Error object
{
  "error": {
    "code": "invalid_request",
	    "message": "image_url is required.",
    "request_id": "req_01JZEXAMPLE",
    "retryable": false
  }
}

限流与追踪

每个 API Key 每小时最多 12 次创建类 POST 请求;GET 查询不计入。上游权益可能另有限制。达到限制时返回 429,并通过 Retry-After 指示建议等待秒数。

所有成功和错误响应都返回 request_id。向技术支持反馈问题时请提供该值,不要提供完整 API Key。

X-RateLimit-Limit: <limit>
X-RateLimit-Remaining: <remaining>
X-RateLimit-Reset: <unix-seconds>
Retry-After: <seconds>