OmniHuman v1.5 is an advanced AI model designed to transform static human portraits and audio tracks into hyper-realistic talking videos. By combining multimodal deep learning in vision, speech, and motion synthesis, it delivers lifelike facial expressions, natural lip synchronization, and emotion-aware gestures that match the input voice with remarkable precision.
vs Synthesia: OmniHuman produces more realistic facial expressions and emotional alignment with audio, while Synthesia focuses on faster video generation with simpler lip-sync. OmniHuman supports a broader range of emotions and subtle movements, making it better for high-fidelity avatar interactions.
vs Hour One: OmniHuman excels at fine-grained emotional and facial synchronization, while Hour One prioritizes rapid avatar creation for business use cases. OmniHuman produces more natural transitions and supports richer audio diversity across languages.
vs DeepBrain AI: DeepBrain AI specializes in news-anchor style video synthesis with limited emotional range. OmniHuman surpasses it by enabling dynamic emotional expressions and interactive avatar movements synchronized tightly with diverse audio content.
import requests, time headers = {"Authorization": "Bearer " + AIMLAPI_KEY} job = requests.post( "https://api.aimlapi.com/v2/video/generations", headers=headers, json={ "model": "bytedance/omnihuman/v1.5", "prompt": "A serene timelapse of clouds over a mountain range" }, ).json() gid = job["id"] while True: res = requests.get(f"https://api.aimlapi.com/v2/video/generations?generation_id={gid}", headers=headers).json() if res.get("status") in ("completed", "error"): break time.sleep(5) print(res["video"]["url"])
const headers = { Authorization: `Bearer ${process.env.AIMLAPI_KEY}`, "Content-Type": "application/json", }; const job = await (await fetch("https://api.aimlapi.com/v2/video/generations", { method: "POST", headers, body: JSON.stringify({ "model": "bytedance/omnihuman/v1.5", "prompt": "A serene timelapse of clouds over a mountain range" }), })).json(); let res; do { await new Promise((r) => setTimeout(r, 5000)); res = await (await fetch(`https://api.aimlapi.com/v2/video/generations?generation_id=${job.id}`, { headers })).json(); } while (!["completed", "error"].includes(res.status)); console.log(res.video.url);
# submit the generation — the response contains the job "id" curl -X POST https://api.aimlapi.com/v2/video/generations \ -H "Authorization: Bearer $AIMLAPI_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"bytedance/omnihuman/v1.5","prompt":"A serene timelapse of clouds over a mountain range"}' # then poll until status is "completed" — video.url holds the result curl "https://api.aimlapi.com/v2/video/generations?generation_id={id}" -H "Authorization: Bearer $AIMLAPI_KEY"
OpenAI-compatible — swap the base URL and it works with your existing SDK.
| Type | Price |
|---|---|
| Output | |
| Model | Input | Output | Context | Best for |
|---|---|---|---|---|
OmniHuman v1.5 This page | Video generation |
OmniHuman v1.5 takes image, text, video as input and returns video.
OmniHuman v1.5 is priced at $0.208 / sec.
OmniHuman v1.5 is billed per generation — a fixed charge per output rather than by prompt length.
Yes, OmniHuman v1.5 accepts image input as well as a text prompt.
OmniHuman v1.5 was built by ByteDance.
Send a request to v2/video/generations with bytedance/omnihuman/v1.5 as the model id.
Yes. OmniHuman v1.5 is served through AI/ML API, so the same key and endpoint format used for other models applies.
It generates videos of human figures with more natural motion and more accurate facial detail than prior versions.