What is OmniHuman Image to Video API?
Generate incredibly accurate videos of human beings speaking a dialogue using ByteDance's OmniHuman model.
Technical Specifications
- Supported inputs: Image, Text, Video
- Output: Video
Performance Benchmarks
[embed]
OmniHuman Image to Video API Pricing
- Pricing on request
Where to Use OmniHuman Image to Video
Short-form video generation
Create clips for social, ads, and product demos from text or image prompts.
Previsualization and storyboards
Rapidly prototype motion concepts before committing to production.
Social media content is a documented use case, with the model described as suitable for creating engaging talking-head clips and spokesperson-style videos.
Product demos with presenters are another documented use case, where the model is used to generate presenter-led videos for product announcements and demonstrations.
Educational video production is also documented, with examples including teaching content and engaging instructional videos.
Marketing and brand content is documented as well, including personalized ads and brand messaging featuring virtual ambassadors or digital spokespeople.
import requests, time headers = {"Authorization": "Bearer " + AIMLAPI_KEY} job = requests.post( "https://api.aimlapi.com/v2/video/generations", headers=headers, json={ "model": "bytedance/omnihuman", "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", "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","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 | |
OmniHuman Image to Video takes image, text, video as input and returns video.
OmniHuman Image to Video is priced at $0.182 / sec.
OmniHuman Image to Video is billed per generation — a fixed charge per output rather than by prompt length.
Yes, OmniHuman Image to Video accepts image input as well as a text prompt.
OmniHuman Image to Video was built by ByteDance.
Use bytedance/omnihuman as the model id on AI/ML API.
Yes. OmniHuman Image to Video is served through AI/ML API, so the same key and endpoint format used for other models applies.
It generates videos of human beings speaking dialogue, animating a person based on the provided image and text.