omnihuman-v2:flowdefaultOmniHuman v2 API — how to connect and pay
OmniHuman v2 — the new OmniHuman generation (October 2026) and the recommended version: realistic animation of a person from a photo and a voice track — lips, facial expression, gestures and body motion follow your audio. Requires image_url and audio_url (wav or mp3, 4 seconds to 5 minutes); the clip is as long as the audio. An optional prompt (in English) steers the scene and camera. Cheaper than OmniHuman 1.5. Priced per second of finished video.
Channel comparison
last 7 days
| Channel | Price |
|---|---|
Flow omnihuman-v2:flowdefault | from $0.15 / s |
Build the result you need
omnihuman-v2:flowThis model only publishes its minimum price in the catalog.
What is OmniHuman v2
OmniHuman v2 — the new OmniHuman generation (October 2026) and the recommended version: realistic animation of a person from a photo and a voice track — lips, facial expression, gestures and body motion follow your audio. Requires image_url and audio_url (wav or mp3, 4 seconds to 5 minutes); the clip is as long as the audio. An optional prompt (in English) steers the scene and camera. Cheaper than OmniHuman 1.5. Priced per second of finished video.
Contract at a glance
- Input
- image, audio, text
- Output
- video
- Mode
- async (job + polling)
- Status polling
- every 3 s · up to 600 s
Strengths
- Pricing: per second
- Inputs: image, audio, text
- One API key for media generation
Where it is used
- Social media clips
- Promos and title sequences
- Still-image animation
- Storyboards and animatics
API contract
Generation runs asynchronously: create a job, then poll its status until completion.
- Create job
- POST /api/media/generate
- Check status
- GET /api/media/jobs/{jobId}
- Input
- image, audio, text
- Output
- video
- Polling
- every 3 s · up to 600 s
- Authentication
- Authorization: Bearer sk-pv-…
Example request
Pass your key in the Bearer header. The API returns jobId for polling the status.
curl -sS https://getvibeapi.com/api/media/generate \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary '{"model":"omnihuman-v2:flow","prompt":"a beautiful landscape","opts":{"image_url":"https://example.com/image_url.png","audio_url":"https://example.com/audio_url.mp3"}}'JavaScript
const response = await fetch('https://getvibeapi.com/api/media/generate', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.GETVIBE_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"model": "omnihuman-v2:flow",
"prompt": "a beautiful landscape",
"opts": {
"image_url": "https://example.com/image_url.png",
"audio_url": "https://example.com/audio_url.mp3"
}
}),
});
if (!response.ok) throw new Error(`GetVibe API: ${response.status}`);
const { jobId } = await response.json();
console.log(jobId);API request parameters
Parameters for requests to OmniHuman v2 via the GetVibe API.
promptreq.image_urlaudio_urlimage_file_idimage_base64audio_file_idaudio_base64| Parameter | Type | Values | Default | Price |
|---|---|---|---|---|
promptreq. | text | text description | required | — |
image_url | URL | Public image URL | — | — |
audio_url | URL | Public audio URL | — | — |
image_file_id | text | Alternative to image_url: the id of your own file from POST /v1/files (file-pv-…) | — | Included in the base price |
image_base64 | text | Alternative to image_url: the file inline, as base64 or a data: URI | — | Included in the base price |
audio_file_id | text | Alternative to audio_url: the id of your own file from POST /v1/files (file-pv-…) | — | Included in the base price |
audio_base64 | text | Alternative to audio_url: the file inline, as base64 or a data: URI | — | Included in the base price |
Request: POST https://getvibeapi.com/api/media/generate. Prices in USD.
Price of OmniHuman v2
The cost of OmniHuman v2: from $0.15 per second. The price is calculated dynamically at the current exchange rate, and the final charge is shown in the API response (priceRub). Payment in USD, no subscriptions.
Channels and prices for every parameter combination
For every channel, the price of every parameter combination. It is exactly the amount a successful generation is charged, and the same figure as in the machine-readable table linked below.
Flowomnihuman-v2:flowfrom $0.15 / sexact prices
| Price | Price |
|---|---|
| Flow | $0.15 / s |
Price per second of the generated video. The charge is this price × the actual length of the result.
Every combination as JSON: /api/media/price-table?model=omnihuman-v2%3Aflow
README
The machine-readable contract for OmniHuman v2 contains the request schema, operations, limits, polling and response examples.
# OmniHuman v2
Public model: omnihuman-v2:flow
Create job: POST /api/media/generate
Check status: GET /api/media/jobs/{jobId}
## Input parameters
- `prompt` (text): text description; default: required
- `image_url` (URL): Public image URL; default: —
- `audio_url` (URL): Public audio URL; default: —
- `image_file_id` (text): Alternative to image_url: the id of your own file from POST /v1/files (file-pv-…); default: —
- `image_base64` (text): Alternative to image_url: the file inline, as base64 or a data: URI; default: —
- `audio_file_id` (text): Alternative to audio_url: the id of your own file from POST /v1/files (file-pv-…); default: —
- `audio_base64` (text): Alternative to audio_url: the file inline, as base64 or a data: URI; default: —
## Public variants
- `omnihuman-v2:flow`: FlowFAQ about the OmniHuman v2 API
How much does OmniHuman v2 cost?
The price of OmniHuman v2: from $0.15 per second. The price is calculated dynamically at the current exchange rate.
Is it compatible with the OpenAI SDK?
Yes, the API is fully OpenAI-compatible. Just change base_url to https://getvibeapi.com/v1 and set your key — the rest of the code stays the same.