Model ID
Put this value in the request body's `model` field — not the display name above.
by other · Create a digital human: upload a photo or a video and clone a reusable custom avatar (async task) that you can drive again and again.
POST /v1/videos/avatarshttps://api.xxb69.xyz/v1curl https://api.xxb69.xyz/v1/videos/avatars \
-H "Authorization: Bearer sk-gpushare-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "我的主播",
"source_url": "https://example.com/portrait.jpg",
"source_kind": "image"
}'
# source_url 必须是公网可访问直链(平台不提供上传端点)
# source_kind: image(默认) / videocurl https://api.xxb69.xyz/v1/videos/avatars/$AVATAR_ID \
-H "Authorization: Bearer sk-gpushare-xxxxxxxx"
# 上游通常 5-10 分钟,建议 15-30 秒轮询一次
# ready 后把这个 id 填进 /v1/videos/generations 的 avatar 字段出片This is an async task: submit for a task ID, then poll until it settles. Polling itself is free.
Billed per call: a one-off fee to register an avatar, which you can then reuse indefinitely.
Sign in and any personal discount on your account will show up here. Sign in
Models like this bill for real per image / per second / per call and are mostly async tasks, so there is no one-click test here. Use the sample code above, or generate in the matching workbench (which has a parameter panel and a cost estimate).
Open the workbench404 model_not_foundYou passed the display name instead of the model ID.✗ Create digital human→✓ dh-avatar-create
→ Copy the Model ID at the top of this page
402 quota_exceededInsufficient account balance. All your API keys share one balance.
401 / 403The API key is invalid, or it has a model allowlist that doesn't include this ID.
→ Check the key's status and allowed models
400 invalid_request`source_url` is not a publicly reachable direct link, or `name` exceeds 20 characters.
→ Check your request body against the sample code above
本页的 Markdown 版本:/models/dh-avatar-create.md