universal-2defaultUniversal 2 API — how to connect and pay
Universal-2 — Russian speech recognition. language_code=ru or auto-detect; provider contract options (speaker_labels, keyterms_prompt, etc.). Quoted per minute of input audio, billed per second of the measured file duration.
Channel comparison
last 7 days
| Channel | Price |
|---|---|
Scribe universal-2default | from $0.003333 / min |
Build the result you need
universal-2This model only publishes its minimum price in the catalog.
What is Universal 2
Universal-2 — Russian speech recognition. language_code=ru or auto-detect; provider contract options (speaker_labels, keyterms_prompt, etc.). Quoted per minute of input audio, billed per second of the measured file duration.
Contract at a glance
- Input
- audio
- Output
- audio
- Mode
- async (job + polling)
- Status polling
- every 3 s · up to 90 s
- Maximum file size
- 50 MB
Strengths
- Pricing: per minute
- Inputs: audio
- One API key for media generation
Where it is used
- Video voiceovers
- Voice scripts
- Audio versions of text
- Recording cleanup
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
- audio
- Output
- audio
- Polling
- every 3 s · up to 90 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":"universal-2","opts":{"audio_url":"https://example.com/audio_url.mp3","duration_minutes":1,"speaker_labels":false}}'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": "universal-2",
"opts": {
"audio_url": "https://example.com/audio_url.mp3",
"duration_minutes": 1,
"speaker_labels": false
}
}),
});
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 Universal 2 via the GetVibe API.
audio_urlduration_minuteslanguage_codespeaker_labelskeyterms_promptaudio_file_idaudio_base64| Parameter | Type | Values | Default | Price |
|---|---|---|---|---|
audio_url | URL | Public audio URL | — | — |
duration_minutes | text / number | any value | — | Included in the base price |
language_code | text / number | any value | — | Included in the base price |
speaker_labels | yes/no | Yes · No (default) | No | Included in the base price |
keyterms_prompt | text / number | any value | — | 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 Universal 2
The cost of Universal 2: from $0.003333 per minute. 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.
What a default request costs
With no parameters sent, the request uses these values: Diarization (speakers) — No. That request costs $0.003333.
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.
Scribeuniversal-2from $0.003333 / minexact prices
| Diarization (speakers) | No | Yes |
|---|---|---|
| Scribe | $0.003333 / min | $0.003333 / min |
Price per minute of input audio. The charge is this price × the actual length of the file, per second.
Every combination as JSON: /api/media/price-table?model=universal-2
README
The machine-readable contract for Universal 2 contains the request schema, operations, limits, polling and response examples.
# Universal 2
Public model: universal-2
Create job: POST /api/media/generate
Check status: GET /api/media/jobs/{jobId}
## Input parameters
- `audio_url` (URL): Public audio URL; default: —
- `duration_minutes` (text / number): any value; default: —
- `language_code` (text / number): any value; default: —
- `speaker_labels` (yes/no): Yes · No (default); default: No
- `keyterms_prompt` (text / number): any value; 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
- `universal-2`: ScribeFAQ about the Universal 2 API
How much does Universal 2 cost?
The price of Universal 2: from $0.003333 per minute. 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.