OmniHuman 2.0
ByteDance's newest talking-human model: one picture and a voice track (4 seconds to 5 minutes) become a 720p video of that person speaking, with natural lip sync, gestures and camera moves.
Pricing per second of video
| Resolution | Per second |
|---|---|
| All settings | $0.099 credits |
Billed in credits per second of video (100 credits = $1, rounded up to a whole credit). Charged once, only for the route that succeeds. Failed attempts cost $0.00.
Request
# One Idempotency-Key per request, made once and sent again with every resend of it
KEY=$(uuidgen)
# 1. Submit. max_cost_usd is your cap: the most this may cost ($0.09 a second: $0.90 for a 10 s clip).
# No id after a timeout, a 429 or a 5xx? Run step 1 again: the same $KEY never makes a second one.
RESP=$(curl -s https://api.revana.si/v1/generations \
-H "Authorization: Bearer $REVANA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $KEY" \
-d '{
"model": "omnihuman-2.0",
"input": {
"prompt": "A slow dolly shot through a neon-lit night market in the rain, steam rising from food stalls",
"image_url": "https://example.com/start-frame.jpg",
"audio_url": "https://example.com/voice.mp3"
},
"max_cost_usd": 1.4
}')
ID=$(echo "$RESP" | jq -r '.id // empty')
echo "${ID:-no id: ${RESP:-no answer}}"
# 2. Poll it until status is "succeeded" or "failed". A failed one is free; to try it again,
# make a new key first (KEY=$(uuidgen)): the old one answers with the failure.
curl -s https://api.revana.si/v1/generations/${ID:?no id from step 1} \
-H "Authorization: Bearer $REVANA_API_KEY"
# 3. Download the file once it has succeeded
curl -L https://api.revana.si/v1/generations/${ID:?no id from step 1}/content \
-H "Authorization: Bearer $REVANA_API_KEY" \
-o out.mp4Set REVANA_API_KEY to your key. Full reference in the quickstart.
Options
omnihuman-2.01 route
One route today. If it fails you are not charged.
About the OmniHuman 2.0 API
How much does the OmniHuman 2.0 API cost?
OmniHuman 2.0 costs $0.09 per second of video on Revana. You pay in prepaid credits, 100 credits to the dollar, with no subscription or monthly minimum. A generation that fails costs nothing.
How do I call OmniHuman 2.0 from code?
Send POST https://api.revana.si/v1/generations with {"model": "omnihuman-2.0", "input": {...}} and your Revana API key as a Bearer token, poll GET /v1/generations/{id} until it succeeds, then download GET /v1/generations/{id}/content. Every model on Revana takes the same request shape.
What happens if a OmniHuman 2.0 generation fails?
You are charged once, only for the route that delivers. A failed generation costs $0.00.
What can OmniHuman 2.0 do on Revana?
OmniHuman 2.0 supports image to video and generated audio. A value it does not offer is refused with 422 before anything is charged.
Can my AI agent use OmniHuman 2.0?
Yes. Connect the Revana MCP server (https://revana.si/api/mcp) to Claude, ChatGPT, Cursor or Codex, or have the agent call the REST API. The agent can list models, get a free quote and generate on your credits.
Compare with similar models
- Seedance 2.5 ByteDance, from $0.06 per second of video
- Seedance 2.0 ByteDance, from $0.08 per second of video
- Seedream 4.5 ByteDance, from $0.04 per image
- Seedream 5.0 Pro ByteDance, from $0.04 per image
- ByteDance Lip Sync ByteDance, from $0.05 per second of video
- OmniHuman 1.5 ByteDance, from $0.17 per second of video
Also as markdown for agents. Every model and price: models.json.