Gemini 3.5 Transcribe
A Google model for speech recognition, language detection, speaker diarization and word-level timestamps.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
Gemini 3.5 Transcribe converts an audio file into text. Alongside transcription, it supports language detection, identification of speakers, timestamps for individual words, a custom vocabulary and smart text preparation.
Languages and duration
More than 85 languages are supported, including Russian, as well as switching between languages within a recording. Language is detected automatically. An ordinary request processes audio of up to one hour. With speaker diarization or word-level timestamps enabled, the limit drops to 30 minutes.
Output includes the complete transcript and, for the relevant modes, individual word annotations. The model is intended for file processing; continuous real-time recognition belongs to the separate gemini-3.5-transcribe-live version.
Transcription modes
Verbatim transcription is used by default. Smart mode removes filler words, accounts for speakers' self-corrections and formats the text. This mode cannot be combined with speaker diarization or word-level timestamps.
Speaker diarization supports up to eight speakers. Identifying who spoke a line has experimental status for three or more speakers. Timestamps help connect the text to the recording, but enabling them may reduce recognition accuracy.
Terms and files
The custom term vocabulary holds up to 1000 entries; Google notes that it is usually better to limit it to around one hundred. This vocabulary is incompatible with speaker diarization and word-level timestamps. Mode selection therefore needs to account for what matters more: specialized terms or detailed speaker and time annotations.
Supported audio formats include WAV, MP3, AIFF, AAC, OGG, FLAC, MPEG, M4A, L16, Opus, A-law, mu-law and WebM. Duration limits and permitted mode combinations are published for file processing. The Transcribe family description also specifies 96K tokens of context and 32K tokens of text output; these family characteristics do not replace file limits in the selected method.
Context caching, code execution, file search, function calling, image creation and Thinking are not supported. The model specializes in obtaining text and annotations from audio, not generating new speech.
Ailoot · Speech-to-text POST /v1/audio/transcriptions gemini-3.5-transcribe
gemini-3.5-transcribeOverview
A Google model for speech recognition, language detection, speaker diarization and word-level timestamps.
- Accepted inputs
- Audio
- Results
- Text
Available in Ailoot · inputs & methods
Ailoot · Speech-to-text POST /v1/audio/transcriptions
- Input types
audio- Output types
text- Output format
- json
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits gemini-3.5-transcribe | Default— |
Fieldfile | Typefile | RequirementRequired | Values & limits Maximum bytes: 67,108,864 File formats: wav, mp3, m4a, ogg, webm, flac Content type: multipart/form-data Maximum duration, seconds: 600 | Default— |
Fieldresponse_format | Typestring | RequirementOptional | Values & limits json | Default— |
Input material combinations
speech_to_text · Required: actual audio file
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametermaterial_types | Contractaudio |
Parameterrequired | Contractnull |
Parameteroptional_controls | Contractnull |
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}
Method shapes and IDs are exact; supplier capability is separate from admission.
Pricing
Ailoot method rates
POST /v1/audio/transcriptions- Input
- $0.01 per minute or part thereof
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 · Speech-to-text
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_AUDIO_FILE:?Set your actual MP3 recording}"
export AILOOT_AUDIO_FILE
python3 - <<'PY_REQUEST'
import os
from pathlib import Path
f=Path(os.environ["AILOOT_AUDIO_FILE"])
if not f.is_file() or f.suffix.lower()!=".mp3":raise SystemExit("Choose your actual MP3 recording")
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \
-H "Authorization: Bearer $AILOOT_API_KEY" \
--form-string model=gemini-3.5-transcribe -F "file=@$AILOOT_AUDIO_FILE" \
-D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
Receive and save results
Ailoot · Speech-to-text
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.
Retain complete JSON, not only text; preserve every available segment/speaker/timestamp and actual task/asset identity.
If the original response needs checking
Retain original operation_id/X-Client-Request-ID for reconciliation without resubmission; no dedicated audio poll route.
Response fields
| Field | Type |
|---|---|
Fieldtext | Typestring |
Fieldsegments[] | Typeobject |
Fieldtask_id | Typestring |
Fieldasset_url | Typestring |
Fieldusage | Typeobject |
Errors and next steps
| Response | Condition | Next step |
|---|---|---|
Response400 · invalid_request_error | ConditionInvalid required fields, material representation or parameter value | Next stepCorrect the indicated fields before a new creation request. |
Responseserver_error | ConditionThe returned response says the operation or result requires a check | Next stepKeep the original returned operation/task ID, request headers and response; continue supported reads of that original operation. Do not resubmit the creation request. |
Aliases
Model aliases
Ailoot gemini-3.5-transcribe
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · Gemini 3.5 Transcribe
- What inputs and results are available?
POST /v1/audio/transcriptions·gemini-3.5-transcribe:audio→text- Which fields does the request use?
POST /v1/audio/transcriptions·gemini-3.5-transcribe:model,file,response_format