Model ID
Put this value in the request body's `model` field — not the display name above.
by other · Lip sync: a source video plus driving audio produce a re-voiced, lip-synced video (async task). HD tier.
POST /v1/videos/generationshttps://api.xxb69.xyz/v1curl https://api.xxb69.xyz/v1/videos/generations \
-H "Authorization: Bearer sk-gpushare-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "dh-lipsync-pro",
"source_video_url": "https://example.com/source.mp4",
"audio_url": "https://example.com/new-voice.mp3",
"duration": 45
}'
# 返回 {"id": "...", "status": "queued"}
# 成片长度跟随驱动音频。源视频与音频都必须是公网可访问直链。
# ⚠️ 外部 key 的预扣取「300 秒地板」与你传的 duration 的较大者curl https://api.xxb69.xyz/v1/videos/generations/$TASK_ID \
-H "Authorization: Bearer sk-gpushare-xxxxxxxx"
# status: queued -> running -> succeeded / failed / expired / cancelled
# 建议 5-10 秒轮询一次。轮询免费。This is an async task: submit for a task ID, then poll until it settles. Polling itself is free.
Billed per second of delivered video; tiered SKUs use the rate for the resolution actually delivered.
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).
404 model_not_foundYou passed the display name instead of the model ID.✗ Digital human lip sync · HD→✓ dh-lipsync-pro
→ 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`resolution` is required on Lite (`-lite`) SKUs and only accepts 720p / 1080p; anything else also returns 400.
→ Check your request body against the sample code above
本页的 Markdown 版本:/models/dh-lipsync-pro.md