OpenAI: Whisper Large V3
Whisper large-v3 is OpenAI’s open-weight multilingual speech-recognition checkpoint for transcription and speech translation into English. It converts recorded speech into text, with documented language selection, timestamps and long-form processing beyond its 30-second acoustic window.
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 is a released OpenAI speech-recognition checkpoint with approximately 1.55 billion parameters. It is a multilingual encoder-decoder model: audio enters the encoder and the decoder predicts text and task-related tokens. The principal tasks are speech transcription in the source language and translation of speech into English. It is an open-weight model identity, kept separate from a hosted service's model identifier or that service's upload and response-format rules.
Large-v3 retains the architecture of earlier large Whisper checkpoints with two stated changes: its spectrogram input uses 128 Mel-frequency bins instead of 80, and it adds a Cantonese language token. The producer's model card describes training on one million hours of weakly labelled audio and four million hours of pseudo-labelled audio prepared with Whisper large-v2. This mixture was used for two training epochs. The release is a specific large-v3 checkpoint rather than a generic name for every model in the Whisper family.
The documented inference workflow performs transcription by default, preserving the language spoken in the recording. It can detect the source language automatically, or accept a known language selection. For translation, the multilingual large model provides an English text result from non-English speech. Choose that task explicitly: a same-language transcript and an English translation are different artifacts. For an interview, retain the original-language wording; for an English reference document, specify that the desired result is a translation of the spoken content.
Audio preparation is part of the input path. OpenAI's loader decodes a recording to a mono waveform and resamples it to 16 kHz. The model's acoustic receptive field is 30 seconds. That is a processing window, not a maximum length for an entire interview or lecture. Long-form inference can advance sequentially through sliding windows, or split a long recording into overlapping chunks and join their transcripts. The producer's model card describes sequential processing when accuracy is the priority and chunked processing when the turnaround of a single long recording matters more.
The released configuration lists 448 decoder positions for an individual decoding sequence. Longer recordings are handled by the long-form process rather than by treating that number as a universal transcript limit. The documented workflow can return segment-level or word-level timestamps alongside recognized text. Those timing outputs are useful for navigating recordings and preparing captions, while any final subtitle container or transcript-file format is a separate output-formatting choice. Preserve the recording's timing when preparing audio if the transcript will be aligned with the original material.
Whisper's intended role is recognizing and translating speech. A lecture transcript, an interview record or a searchable collection of spoken material is a practical output; summarization or interpretation can follow as another step over the text. The model card does not establish robust automatic speaker classification or diarization as a standard output of the base checkpoint. If a task needs speaker labels, that requirement must be handled separately from claiming an accurate transcript. A useful brief identifies the source language, whether transcription or English translation is needed, and whether timing information is required.
Substantive limitations include invented text that was never spoken and repetitive text, associated with weakly supervised training on noisy data and the sequence-to-sequence design. Recognition quality varies across languages, accents and dialects, with weaker results where less training material exists. Noise, specialist vocabulary and overlapping speech should therefore be represented in the sample used to judge suitability. Compare names, quantities and important statements with the recording, and inspect non-speech passages or repeated lines rather than treating a fluent transcript as proof that every word was heard.
A complete result retains recognized text, its language and any requested timing with a reference to the original recording. Keep transcription separate from later editing: a corrected publication transcript may remove fillers, while the recognized transcript preserves what the model actually returned. Large-v3's identity and translation capability should also remain separate from the faster Turbo edition. Actual processing speed depends on the language, speaking rate, hardware and inference method; no particular hosted latency, maximum upload size or enabled application route follows from the checkpoint name alone.
Ailoot Ultra · Speech recognition POST /v1/audio/transcriptions openai/whisper-large-v3
openai/whisper-large-v3Overview
Whisper large-v3 is OpenAI’s open-weight multilingual speech-recognition checkpoint for transcription and speech translation into English. It converts recorded speech into text, with documented language selection, timestamps and long-form processing beyond its 30-second acoustic window.
- Accepted inputs
- Audio
- Results
- transcription
Available in Ailoot · inputs & methods
Ailoot Ultra · Speech recognition POST /v1/audio/transcriptions
- Input types
audio- Output types
transcription- Output format
- json
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits openai/whisper-large-v3 | Default— |
Fieldinput_audio | Typeobject | RequirementRequired | Values & limits | Default— |
Fieldlanguage | Typestring | RequirementOptional | Values & limits | Default— |
Fieldtemperature | Typenumber | RequirementOptional | Values & limits Minimum: 0 Maximum: 1 | Default— |
Fieldresponse_format | Typestring | RequirementOptional | Values & limits json, verbose_json | Defaultjson |
Fieldtimestamp_granularities | Typearray | RequirementOptional | Values & limits | Default— |
Fieldprovider | Typeobject | RequirementOptional | Values & limits | Default— |
Input material combinations
speech_to_text · Required: actual matching-format audio file
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametercontent_types | Contractapplication/json, multipart/form-data |
Parameterrequired | Contractmodel, input_audio |
Parametermaterial_types | Contractaudio |
ParameterJSON_audio | Contractactual raw audio bytes in base64 plus matching format |
Parametermultipart_required | Contractmodel, file |
Parametermultipart_cap_bytes | Contract26214400 |
Parameteroptional_controls | Contractlanguage, temperature, response_format, timestamp_granularities, provider |
Parameterdefault_response_format | Contractjson |
Parameteroptional_features | ContractVerbose output, diarize/keyterms and URL/larger inline audio require the exact model/provider capability and tariff. |
Lifecycle: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · actual returned task_id or media library record
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Use the exact model and documented input fields.
Keep the complete response, every actual output and original returned IDs.
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 |
| ConfigurationUltra | Rate schedule— | Billing unitper audio input second | Charge Input · audio input second $0.000015 per audio input 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 →
Reference tariff details
Model-level reference schedules do not change method selection, quotes or charges. Active charges use the selected Ailoot method rates.
OpenAI: Whisper Large V3
Prices by configuration
| Configuration | Billing conditions | Charge |
|---|---|---|
| ConfigurationOpenAI: Whisper Large V3 · Default configuration | Billing conditionsDefault configuration | Charge Input · Input audio seconds $0.000015 per input audio second |
Example requests
Ailoot Ultra · Speech recognition
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set the path to your actual WAV recording}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
import base64
audio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()
if not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')
if len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')
request={'model': 'openai/whisper-large-v3', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}
request['input_audio']['data']=base64.b64encode(audio).decode('ascii')
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
# Keep the complete original response and headers. Read every returned segment, word and usage field.
# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.
Receive and save results
Ailoot Ultra · Speech recognition
json
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.
Complete original JSON, all available text/segments/words/speakers/timestamps and usage.
If the original response needs checking
Retain original operation_id/X-Client-Request-ID and original response. Read actual owned task/asset records without resubmitting; no dedicated audio poll URL is constructed.
Response fields
| Field | Type |
|---|---|
Fieldtext | Typestring |
Fieldusage | Typeobject |
Fieldsegments[] | Typeobject |
Fieldwords[] | Typeobject |
Aliases
Model aliases
Ailoot Ultra openai/whisper-large-v3
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · OpenAI: Whisper Large V3
- What inputs and results are available?
POST /v1/audio/transcriptions·openai/whisper-large-v3:audio→transcription- Which fields does the request use?
POST /v1/audio/transcriptions·openai/whisper-large-v3:model,input_audio,language,temperature,response_format,timestamp_granularities,provider- What limits apply?
POST /v1/audio/transcriptions·openai/whisper-large-v3:temperature.minimum:0;temperature.maximum:1