OpenAI: Whisper Large V3 Turbo
Whisper large-v3-turbo is OpenAI’s faster open-weight transcription edition derived from large-v3, with four decoder layers and 809 million parameters. It targets multilingual speech-to-text; the official maker documentation excludes speech translation into English from Turbo’s trained task.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
Whisper large-v3-turbo, also called Turbo, is OpenAI's optimized transcription model derived from Whisper large-v3. Its decoder is reduced from 32 layers to four while the encoder remains at 32 layers. The released model has approximately 809 million parameters. The manufacturer's purpose is faster speech recognition with a modest accuracy tradeoff, not a different audio-generation mode. Recorded speech is the input and recognized text is the result.
The release announcement distinguishes Turbo's preparation from a separately distilled Whisper model: Turbo was fine-tuned for two additional epochs on multilingual transcription data, excluding translation data. This distinction is operationally important. OpenAI's repository states that Turbo is not trained for translating non-English speech into English and can return the original language even when a translation task is requested. Use this edition for a same-language transcript; a translation requirement belongs to a different suitable model or a separate step after transcription.
Source-language detection and explicit language selection remain useful transcription choices. If the recording language is already known, identify it in the brief; otherwise the documented workflow can detect it. Preserve names, quantities and the words spoken before requesting any editorial cleanup. A meeting record, interview transcript or lecture text can then be searched, annotated or summarized in a later operation. Turbo's recognition task should not be confused with voice synthesis, speaker imitation or a semantic judgment about the people in the recording.
OpenAI's audio loader decodes input files into mono samples at 16 kHz, and the model uses a 30-second acoustic window with 128 Mel-frequency bins. Longer recordings require long-form inference. Sequential processing moves through windows in order; a chunked approach transcribes overlapping pieces and joins their boundaries. The model card presents the latter as useful when processing a single long file with turnaround as the main priority, while sequential handling is the accuracy-oriented alternative. Neither the window nor the model name establishes a fixed maximum file size for a hosted upload.
The exact Turbo configuration lists 448 decoder positions for one decoding sequence. The documented inference workflow can include segment or word timing alongside the transcript; timing supports navigation and later caption formatting. It does not automatically add a subtitle file format or reliable speaker labels. State whether a plain transcript or timed segments are needed, and keep the original recording available for checking disputed passages. Long-form processing and any final formatting are separate from the checkpoint's identity.
Turbo reduces decoding work, but the actual time needed depends on hardware, recording length, language, speaking pace and inference choices. The producer notes larger quality degradation for some languages, including Thai and Cantonese, rather than uniform behaviour everywhere. Compare a representative excerpt in the intended language before treating the speed-oriented tradeoff as suitable for all material. For an archive-processing task, include difficult vocabulary, pauses and noisy or overlapping passages in the review sample, not only a clean opening sentence.
The published card carries Whisper's substantive recognition limitations: predicted text can include words that were not spoken, and repetitive text can occur. Results vary across languages, accents and dialects, especially where training coverage is limited. The card does not establish base-model diarization or speaker classification as robust standard capabilities. A practical review focuses on source fidelity: important names and numbers, omitted speech, unexpected text during silence and repetitions. A readable transcript remains a result to compare with the recording, not a guarantee of exact recognition.
The useful finished artifact is a source-language transcript with any requested timing and a clear link to its recording. Keep a recognized version separate from an edited publication version so changes are traceable. Preserve the large-v3-turbo name when comparing editions: it is not the full large-v3 model and should not silently inherit large-v3's English translation task. This open-weight identity also does not carry the hosted whisper-1 service's upload limits, response containers or live-streaming promises. Choose Turbo when the documented transcription tradeoff fits the actual material and desired turnaround.
Ailoot Ultra · Transcription POST /v1/audio/transcriptions openai/whisper-large-v3-turbo
openai/whisper-large-v3-turboOverview
Whisper large-v3-turbo is OpenAI’s faster open-weight transcription edition derived from large-v3, with four decoder layers and 809 million parameters. It targets multilingual speech-to-text; the official maker documentation excludes speech translation into English from Turbo’s trained task.
- Accepted inputs
- Audio
- Results
- Text
Available in Ailoot · inputs & methods
Ailoot Ultra · Transcription POST /v1/audio/transcriptions
- Input types
audio- Output types
text
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits openai/whisper-large-v3-turbo | Default— |
Fieldinput_audio | Typeobject | RequirementRequired | Values & limits | Default— |
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, input_audio |
Parametermaterial_types | Contractaudio |
Parametermaterial_conditions | ContractThe example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav. |
Lifecycle: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · exact task_id from an existing owned media record
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Pricing
Tariff references do not add request options. Supported parameters are listed for the selected method.
- Fast mode
- Not specified When fast mode is selected
- Flex mode
- Not specified When flex mode is selected
- Maximum reasoning effort
- Not specified When maximum reasoning effort uses the default adjustment
Ailoot rates
Prices by configuration
Match each charge to the conditions shown. Use one rate for each set of alternative configurations.
| Configuration | Rate schedule | Billing unit | Charge |
|---|---|---|---|
| ConfigurationBase token rates | Rate scheduleBase rate | Billing unit— | Charge Input · Input tokens — / 1K tokens Output · Output tokens — / 1K tokens Input · Cache read — / 1K tokens Input · Cache write — / 1K tokens Input · Cache write, 1 hour — / 1K tokens |
| Configurationinput audio second | Rate schedule— | Billing unitper input audio second | Charge Input · input audio second $0.00000666 per input audio second |
Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →
Example requests
Ailoot Ultra · Transcription
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}"
export AILOOT_AUDIO_FILE
python3 - <<'PY_REQUEST'
import base64, io, json, os, wave
from pathlib import Path
audio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()
if not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):
raise SystemExit('Supply your actual PCM WAV audio file')
with wave.open(io.BytesIO(audio), 'rb') as recording:
if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:
raise SystemExit('Supply a nonempty PCM WAV recording')
request = {'model': 'openai/whisper-large-v3-turbo', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}
Path('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o response.bin
# Retain the complete original response, headers and actual X-Client-Request-ID.
# Read existing owned records for recovery; do not resubmit an uncertain operation.
Receive and save results
Ailoot Ultra · Transcription
Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler.
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Keep all completed results
Keep every complete returned response, file and content part.
Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.
If the original response needs checking
Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation.
Response fields
| Field | Type |
|---|---|
Fieldtext (when present) | Type |
Fieldusage (when present) | Type |
Errors and next steps
| Response | Condition | Next step |
|---|---|---|
Response400 · invalid_request_error | ConditionThe JSON body or explicit canonical model ID is invalid. | Next stepRetain the response and correct the indicated request field. |
Response401 · authentication_error | ConditionThe Ailoot API key is invalid. | Next stepUse your authorized Ailoot API key. |
Response403 · permission_error | ConditionThe key group does not admit this method. | Next stepRetain the returned error details. |
Response404 · not_found_error | ConditionThe selected method has no admitted route. | Next stepRetain the returned error details. |
Response422 · price_unavailable | ConditionThe accepted tariff cannot obtain its required input quantity or bound. | Next stepRetain the response; use the input representation required by the accepted tariff. |
Response503 · | ConditionRequired storage, route, method price or reservation is unavailable. | Next stepKeep the complete original response. An uncertain reservation is not permission to resubmit. |
Response502 · server_error | ConditionThe original result, usage or settlement requires checking. | Next stepRetain the actual request ID and original response. Read the existing owned record; do not resubmit creation. |
Aliases
Model aliases
Ailoot Ultra openai/whisper-large-v3-turbo
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · OpenAI: Whisper Large V3 Turbo
- What inputs and results are available?
POST /v1/audio/transcriptions·openai/whisper-large-v3-turbo:audio→text- Which fields does the request use?
POST /v1/audio/transcriptions·openai/whisper-large-v3-turbo:model,input_audio