API Free WeekHundreds of APIs are free to call this week.Browse free APIs

ByteDance OmniHuman 2.0

bytedance/omnihuman/2.0

OmniHuman 2.0 by ByteDance turns a single image and an audio track into a talking or performing video that follows the audio.

Base price
$0.53USD / run
Execution
async
Model type
video
Input fields
3
Production route

Try the model

Playground

Open playground
Input

PNG, JPEG, WebP, or GIF · 20 MiB maximum

Person or character to animate. 300-6000 px per side, aspect ratio 0.4-2.5, up to 30 MB.
Speech or song that drives the performance. WAV or MP3, 4-300 seconds, up to 15 MB.
Optional direction for scene, gestures and camera.
OutputExample

Examples

Select an example to load its inputs and result into the playground.

Model card

Specifications

Pricing

Base price
$0.53 / run

Context & modalities

Input
Schema-defined
Output
video

Capabilities

Chat
Not supported
Vision
Not supported
Reasoning
Not supported
Structured output
Not supported
Function calling
Not supported
Audio input
Not supported

Access

Provider
ByteDance
Model ID
bytedance/omnihuman/2.0
Execution
async
Base URL
https://api.sandbase.ai
API
Unified Run API
Endpoint
/v1/run

API README

ByteDance OmniHuman 2.0

OmniHuman 2.0 turns a single image and an audio track into a talking or performing video, with lip sync, gestures and expressions that follow the audio.

Fields

FieldTypeDefaultNotes
imageimage URL, required—Person or character to animate. 300–6000 px per side, aspect ratio 0.4–2.5, up to 30 MB.
audioaudio URL, required—Speech or song, WAV or MP3, 4–300 seconds, up to 15 MB.
promptstring—Optional direction for scene, gestures and camera.

Billing

$0.105 per output second; the output is as long as the audio. The quote before submission assumes 5 seconds when the audio length cannot be read.

AudioPrice
5s audio$0.525
30s audio$3.15
60s audio$6.30
Failed runs are not charged.

Prompting

  • Describe gestures and camera; the lips follow the audio automatically.

Limits

  • Audio must be 4–300 seconds.

Also on SandBase

Previous version: bytedance/omnihuman/1.5.

Start building

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

Production API
Unified Run API endpoint
https://api.sandbase.ai/v1/run
Model ID
bytedance/omnihuman/2.0
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/run" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "model": "bytedance/omnihuman/2.0",
  "audio": "https://storage.googleapis.com/falserverless/example_inputs/omnihuman_v15_input_audio.mp3",
  "image": "https://storage.googleapis.com/falserverless/example_inputs/omnihuman_v15_input_image.png"
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
  status=$(printf '%s' "$result" | jq -r .status)
  case "$status" in completed|failed|timeout) break ;; esac
  sleep 2
  result=$(curl --fail-with-body --silent \
    -H "Authorization: Bearer $SANDBASE_API_KEY" \
    "https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"

Choose your model

Compare models

All image & video models
ModelTypeDefault priceReleased
ByteDanceVideo$0.53 / runOct 15, 2026
ByteDanceVideo$1.80 / runJul 1, 2026
ByteDanceVideo$1.80 / runJul 1, 2026
ByteDanceVideo$1.80 / runJul 1, 2026
ByteDanceVideo$0.60 / runJun 24, 2026
ByteDanceVideo$0.60 / runJun 24, 2026

Questions

FAQ

How do I call ByteDance OmniHuman 2.0 through SandBase?

Create a SandBase API key, then send requests with the model ID "bytedance/omnihuman/2.0" to Unified Run API (/v1/run) at https://api.sandbase.ai. The request examples on this page show the exact payload.

Do I need a separate ByteDance account?

No. One SandBase API key and balance gives you access to ByteDance OmniHuman 2.0 and the other models in the catalog; you do not need to sign up with ByteDance separately.