Dreamina is an **AI digital human (talking-photo)** service powered by ByteDance **OmniHuman 1.5**: upload one portrait photo plus an audio clip, and the person in the photo **speaks with lip movement synced to the audio**. No modeling, no green screen, no on-camera talent — one frontal portrait plus a voice track is enough to produce a natural digital-human narration video. Great for digital-human narration, memorial videos, virtual hosts, talking-head marketing, education and brand spokespeople.
## Key Features
- **Audio-driven lip sync**: the character speaks the audio with synchronized lips, expression and head/shoulder motion — no fake "talking PPT" feel.
- **Single image**: one clear frontal portrait + a driving audio is all you need — no multi-angle assets or training.
- **Controllable emotion & style**: optional `prompt` steers expression, emotion, stability and style.
- **Multi-person targeting**: use `mask_url` to drive a specific person in a group photo.
- **HD output + CDN hosting**: ~1664×1248, automatically re-hosted on our CDN — ready to use and download.
- **Sync / async modes**: get the result inline for short jobs; for long ones use `callback_url` or `async: true` + polling.
## Use Cases
- **Digital-human narration / virtual hosts**: produce talking-head videos from a single photo instead of filming.
- **Memorial videos**: let a person in an old photo "speak" for heartfelt, commemorative moments.
- **Talking-head marketing**: quickly generate spokesperson content for products and brands.
- **Education & training**: pair lecture audio with an instructor portrait to mass-produce course videos.
- **Multilingual broadcasts**: drive the same portrait with audio in different languages.
## Input Requirements
| Input | Requirement |
|---|---|
| `image_url` | Publicly reachable; a clear, well-lit **frontal portrait** works best — face unobstructed and reasonably large |
| `audio_url` | Publicly reachable mp3/wav; keep under 60s (≤30s for 1080p, ≤60s for 720p) |
## API Overview
| Endpoint | Description | Billing |
|---|---|---|
| `POST /dreamina/videos` | Generate a talking-photo video (sync; async via `callback_url` or `async:true`) | By video duration |
| `POST /dreamina/tasks` | Retrieve a task result by `task_id` / `trace_id` | Free |
## Quickstart
```bash
curl -X POST https://api.acedata.cloud/dreamina/videos \
-H "Authorization: Bearer $ACEDATACLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "omnihuman-1.5",
"image_url": "https://cdn.acedata.cloud/4hfydw.jpg",
"audio_url": "https://your.cdn/voice.mp3",
"prompt": "gentle, calm, natural, subtle head movement"
}'
```
`data.video_url` in the response is the generated video. In async mode (`async: true`), take the returned `task_id` and poll:
```bash
curl -X POST https://api.acedata.cloud/dreamina/tasks \
-H "Authorization: Bearer $ACEDATACLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "action": "retrieve", "id": "" }'
```
## Pricing
Billed by **generated video duration** — about **¥1/second** at the largest package (e.g. a 10s video ≈ ¥10). The `/dreamina/tasks` retrieval endpoint is free. A single API Token works across every service on the platform, and new accounts receive free credits.
## FAQ
- **What image works best?** A clear frontal portrait with even lighting and an unobstructed face; side profiles, blur or low light degrade lip-sync and expression quality.
- **How long can the audio be?** Keep it under 60s; longer audio may be truncated or reduce stability.
- **Can I target one person in a group photo?** Yes — pass a subject mask via `mask_url`.
- **How long does generation take?** It depends on audio length; for long jobs use `callback_url` or `async:true` + `/dreamina/tasks` polling to avoid request timeouts.
- **Are results stored?** The video is re-hosted on our CDN and returned via `video_url`; download and save it to your own storage promptly.
Introduction
APIs
Pricing
