← All playgrounds
Video generation playground

OmniHuman 1.5 API

ByteDance's audio-driven human video: a portrait speaks, sings and moves to the audio, with expression and body motion to match. 720p or 1080p.

OmniHuman 1.5 is a video generation model from ByteDance, available on OttoPort's OpenAI-compatible API as the model ID omnihuman-1.5 at $0.20 / second as of 2026-10-14.

Provider

ByteDance

Price

$0.20 / second

Model ID

omnihuman-1.5

Type

video generation model

Creative conceptsCampaign assetsDeveloper workflows

Create with OmniHuman 1.5

video
ExampleSelect to edit
Duration

Your result appears here

Start with the example prompt or make it your own. Your OttoPort account is used securely for generation.

Pricing

OmniHuman 1.5 API pricing

What OttoPort bills for OmniHuman 1.5, and what that works out to per unit. Rates are read from the same catalog the gateway meters against, and were current on 2026-10-14.

Per second$0.20
5-second clip$1.00
8-second clip$1.60
Seconds per $1050of generated video

No subscription and no minimum — OttoPort bills prepaid credits against usage. See the full rate card.

Quickstart

Call OmniHuman 1.5 in three lines

Send "model": "omnihuman-1.5" to POST https://ottoport.ai/api/v1/videos/generations with an OttoPort key. No ByteDance account, no waitlist, no separate SDK.

curl https://ottoport.ai/api/v1/videos/generations \
  -H "Authorization: Bearer $OTTOPORT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "omnihuman-1.5",
    "prompt": "cinematic product reveal, slow dolly, black background",
    "duration": 5,
    "aspect_ratio": "16:9"
  }'

Before you start

  1. 1. Create a key at /api-keys.
  2. 2. Top up credits — the smallest pack is $25.
  3. 3. Paste the request. It returns a job ID; poll it or pass a webhook_url.

Full reference at /docs, or drive it from an agent with the MCP server and CLI.

Reference

Request parameters

The body POST https://ottoport.ai/api/v1/videos/generations accepts for OmniHuman 1.5.

FieldTypeRequiredNotes
modelstringYesAlways omnihuman-1.5 for OmniHuman 1.5.
promptstringYesSubject, action, and camera movement.
durationintegerNoSeconds of output. This is the billed unit.
resolutionstringNoOne of: 720p, 1080p. Tiers above this model's base rate bill at a multiplier.
aspect_ratiostringNoe.g. 16:9 or 9:16.
image_urlstringNoThe first frame, for image-to-video.
webhook_urlstringNoCalled when the job settles, so you need not poll.
webhook_secretstringNoSigns the webhook so you can verify it came from OttoPort.
Comparison

OmniHuman 1.5 direct vs through OttoPort

OmniHuman 1.5 is the same model either way — what changes is how many accounts, keys, and integrations you carry to reach it.

ByteDance directVia OttoPort
Accounts and keysA ByteDance account, plus one more for every other model you addOne OttoPort account and one key for the whole catalog
Request shapeByteDance's own SDK and response formatOpenAI-compatible — point baseURL at OttoPort and change the model string
Switching modelsA new integration per providerReplace omnihuman-1.5 with any other model ID in the catalog
BillingA separate invoice and contract per providerPrepaid credits, no subscription, one usage ledger
Provider outagesYour call failsConfigured backup routes are tried in order on provider failure
01

Describe the subject and action.

02

Add a camera movement.

03

Specify your output format.

FAQ

OmniHuman 1.5 API questions

Cost, keys, and model IDs for OmniHuman 1.5 on OttoPort.

How much does the OmniHuman 1.5 API cost?

On OttoPort, OmniHuman 1.5 costs $0.20 / second as of 2026-10-14. For scale, 5-second clip: $1.00. Billing is prepaid usage with no subscription and no minimum, and the current rate is always published at ottoport.ai/pricing.

How do I get an OmniHuman 1.5 API key?

You do not need a ByteDance key. Create an OttoPort account, generate a key at ottoport.ai/api-keys, and send it as "Authorization: Bearer <key>" to POST https://ottoport.ai/api/v1/videos/generations with "model": "omnihuman-1.5". The same key reaches every other model in the catalog.

What is the model ID for OmniHuman 1.5?

The OttoPort model ID for OmniHuman 1.5 is omnihuman-1.5. Pass it as the model field on POST https://ottoport.ai/api/v1/videos/generations, or list it programmatically from GET https://ottoport.ai/api/v1/models.

Is OmniHuman 1.5 generation synchronous?

No. POST https://ottoport.ai/api/v1/videos/generations returns a job ID immediately. Poll GET https://ottoport.ai/api/v1/videos/generations/{id} for status, or pass webhook_url and webhook_secret and OttoPort will call you when the job settles. You are billed per second of output, so a failed job costs nothing.

Do I need a ByteDance account to use OmniHuman 1.5?

No. OttoPort connects to ByteDance on your behalf, so one OttoPort account covers OmniHuman 1.5 and every other model in the catalog — no per-provider contracts, keys, or invoices.

Alternatives

Other video generation models on the same API

Same endpoint, same key — swapping model is a one-string change from omnihuman-1.5.

Browse the full catalog — every model with its provider and per-unit price.