技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
dreamina-video【数据与研究】Generate talking-photo digital human videos with Dreamina (ByteDance OmniHuman) via AceDataCloud API. Use when animating a portrait image with a driving audio track to produce a lip-synced video where the person speaks. Supports mask-based multi-person targeting and async task polling.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Generate audio-driven digital human videos through AceDataCloud's Dreamina API (powered by ByteDance OmniHuman 1.5). Provide a portrait image and driving audio to produce a lip-synced talking-photo video.
Setup: See authentication for token setup.
curl -X POST https://api.acedata.cloud/dreamina/videos \
-H "Authorization: ******" \
-H "Content-Type: application/json" \
-d '{
"image_url": "https://example.com/portrait.jpg",
"audio_url": "https://example.com/voiceover.mp3",
"async": true
}'
The response contains a task_id. Poll for the result:
curl -X POST https://api.acedata.cloud/dreamina/tasks \
-H "Authorization: ******" \
-H "Content-Type: application/json" \
-d '{"action": "retrieve", "id": "<task_id>"}'
Async: See async task polling. Poll
POST /dreamina/tasksuntilresponse.data.statusequals"done".
| Model | Description |
|---|---|
omnihuman-1.5 | ByteDance OmniHuman 1.5 — audio-driven lip-sync digital human (default and only available model) |
Generate a video where a portrait person speaks a given audio track.
POST /dreamina/videos
{
"model": "omnihuman-1.5",
"image_url": "https://example.com/portrait.jpg",
"audio_url": "https://example.com/speech.mp3",
"prompt": "Natural expression, steady head movement, warm tone",
"async": true
}
To target a specific person in a group image, provide mask_url array with subject mask URLs.
POST /dreamina/videos
{
"image_url": "https://example.com/group-photo.jpg",
"audio_url": "https://example.com/speech.wav",
"mask_url": ["https://example.com/person-mask.png"],
"async": true
}
| Parameter | Required | Values | Description |
|---|---|---|---|
image_url | ✓ | URL | Portrait image URL (public, clear frontal face works best) |
audio_url | ✓ | URL | Driving audio URL (mp3/wav, publicly reachable, keep under 60s) |
model | "omnihuman-1.5" | Model to use (default: omnihuman-1.5) | |
prompt | string | Steers expression, emotion, stability, and style | |
mask_url | array of URLs | Subject mask URLs to target a specific person in a multi-person image | |
callback_url | URL | Webhook for result delivery | |
async | boolean | Return task ID immediately for polling |
Retrieve one task:
POST /dreamina/tasks
{"action": "retrieve", "id": "<task_id>"}
You can also query by trace_id:
POST /dreamina/tasks
{"action": "retrieve", "trace_id": "<trace_id>"}
Retrieve several tasks:
POST /dreamina/tasks
{"action": "retrieve_batch", "ids": ["<id1>", "<id2>"]}
A completed response contains response.data.video_url when response.data.status is "done".
image_url and audio_url are requiredasync: true or callback_url for longer jobs — synchronous mode may time outmask_url is only needed for multi-person images when you want to target one specific personresponse.data.status when polling — the terminal state is "done"MCP: See MCP servers for tool-use integration.