Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.
Design & media
gladia-pre-recorded-transcription
Try itTranscribe pre-recorded audio files or URLs with Gladia. Use when the user needs batch/async transcription, speaker diarization, subtitles (SRT/VTT), PII redaction, translation, NER, summarization, audio-to-LLM, or any audio intelligence on pre-recorded content. Always prefer the official SDK; fall back to raw REST only when SDK cannot satisfy the requirement.
What it does
Gladia's pre-recorded API transcribes audio and video files asynchronously.
The skill document
Pre-Recorded Transcription
Gladia's pre-recorded API transcribes audio and video files asynchronously.
SDK-first: always use the official SDK — see gladia-sdk-integration for policy, setup, and fallback criteria.
When to Use
- Existing audio/video files or URLs (including social/video links)
- Batch or asynchronous transcription workflows
- Pre-recorded-only features: diarization, PII redaction, subtitles
When NOT to use: If the user needs real-time / live transcription of a stream, microphone, or ongoing audio feed, use the gladia-live-transcription skill instead. Live transcription uses WebSocket sessions, not the pre-recorded API. If the user has gladia-cli installed and wants a quick terminal workflow without writing code, use gladia-using-cli instead.
References
Consult these resources as needed:
- ./references/transcription-options.md -- Full options (JS + Python)
- ./references/managing-jobs.md --
get,list,getFile,delete - ./references/delivery-and-response.md -- Response shape and events
- ../gladia-audio-intelligence/SKILL.md -- Feature availability and config
- ../gladia-using-cli/SKILL.md -- Terminal workflow with gladia-cli
- ../gladia-sdk-integration/SKILL.md -- Setup, config, SDK vs raw API
- ../gladia-sdk-integration/references/sdk-versions.md -- Current SDK versions
- ../gladia-troubleshooting/SKILL.md -- Errors and diagnostics
API Endpoints (reference — prefer SDK methods instead)
| Endpoint | Method | SDK equivalent |
|---|---|---|
/v2/upload | POST | transcribe() auto-uploads local files |
/v2/pre-recorded | POST | create() / transcribe() |
/v2/pre-recorded | GET | list() |
/v2/pre-recorded/:id | GET | get() / poll() / transcribe() |
/v2/pre-recorded/:id | DELETE | delete() |
/v2/pre-recorded/:id/file | GET | getFile() |
Workflow
Recommended (SDK)
The SDK transcribe() method handles upload, job creation, and polling in one call. Use this by default.
const result = await client.preRecorded().transcribe("./audio.mp3", {
language_config: { languages: ["en"] },
diarization: true,
});
console.log(result.result?.transcription?.full_transcript);
result = client.prerecorded().transcribe(
"audio.mp3",
{"language_config": {"languages": ["en"]}, "diarization": True},
)
print(result.result.transcription.full_transcript)
Audio input can be a local file path, HTTP(S) URL, social/video URL, or binary file object. For full input types, see gladia-sdk-integration.
Fallback (raw REST — only when SDK is not feasible)
Use raw REST only when SDK use is not possible.
- Upload (if local file):
POST /v2/uploadwith multipart form data → getaudio_url - Create job:
POST /v2/pre-recordedwithaudio_urland config → getid - Poll:
GET /v2/pre-recorded/:iduntilstatus: "done"(or use webhooks/callbacks) - Parse results: Extract
transcription,diarization,translation, etc. from response
Managing Jobs
Use SDK methods for post-processing operations:
- JavaScript:
client.preRecorded().get(id),.list(filters),.getFile(id),.delete(id) - Python:
client.prerecorded().get(id),.list(filters),.get_file(id),.delete(id)
For full JS/Python examples, pagination filters, and REST equivalents, see ./references/managing-jobs.md.
Transcription Options
All options are passed as the second argument to transcribe(). Key options:
| Option | Description |
|---|---|
language_config | Expected languages, code switching |
diarization | Speaker identification (pre-recorded only) |
translation | Translate to target languages |
summarization | Generate bullet points or paragraph summary |
subtitles | Generate SRT/VTT files |
pii_redaction | Redact PII (pre-recorded only) |
audio_to_llm | Run custom LLM prompts on transcript |
callback_url | Async webhook delivery |
For full option details, see ./references/transcription-options.md. For audio intelligence config, see gladia-audio-intelligence. For client-level retry/timeouts, see gladia-sdk-integration.
Response and Delivery
For full response JSON and event names, see ./references/delivery-and-response.md.
Limits and Specifications
| Constraint | Value |
|---|---|
| Max file size | 1000 MB |
| Max duration | 135 minutes (120 min for YouTube) |
| Enterprise max duration | 4h15 |
| Concurrency (paid) | 25 concurrent jobs |
| Concurrency (free) | 3 concurrent jobs |
Polling Best Practices
The SDK handles polling automatically — transcribe() polls until the job completes with configurable interval and timeout:
const result = await client.preRecorded().transcribe(audio, options, {
interval: 5000, // Poll every 5s
timeout: 600000, // Timeout after 10 minutes
});
If using raw REST instead of the SDK:
- Use webhooks or callbacks instead of polling when possible
- If polling, implement exponential backoff (start at 3s, max 30s)
Common Mistakes
- Code switching without language list: enabling
code_switching: truewith emptylanguagestriggers 100+ language evaluation. Always provide 3-5 expected languages. - Polling without backoff: rapid polling wastes requests and may trigger 429s. The SDK handles this; for raw REST, use webhooks or exponential backoff.
- Expecting live-only features: diarization, PII redaction, and subtitles are pre-recorded only — not available in live mode.
- Wrong audio file path: the audio download endpoint is
/v2/pre-recorded/:id/file, not/v2/pre-recorded/:id/audio.
For the full list of gotchas and diagnostics, see the gladia-troubleshooting skill.
Further Reading
Related skills
Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.
Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.
Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.
Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.
Run Git operations — commits, branches, merges, rebases, conflict resolution, and recovery — with safety rules enforced.
More from gladiaio
Browse all skillsGladia speech-to-text reference: endpoints, workflows, model guidance, and SDK-first integration patterns.
Install and configure the official Gladia SDKs (@gladiaio/sdk for JS/TS, gladiaio-sdk for Python). Use when the user asks about SDK setup, client initialization, API key configuration, choosing between JS and Python, browser usage, retry/timeout settings, error handling, or SDK vs raw API decisions. The SDK is the recommended default for all Gladia integrations.
Real-time speech-to-text streaming with Gladia via WebSocket. Use when the user needs live transcription, builds a voice agent, meeting recorder, call center integration, live subtitles, or any application streaming audio for low-latency partial and final transcripts. Always prefer the official SDK; fall back to raw WebSocket/REST only when SDK cannot satisfy the requirement.
Configure and use Gladia audio intelligence features: speaker diarization, translation, sentiment analysis, named entity recognition (NER), PII redaction, subtitles (SRT/VTT), summarization, custom vocabulary, and audio-to-LLM. Use when the user asks about any audio intelligence feature, enabling features on pre-recorded or live transcription, understanding which features are available in each mode, or combining multiple features. Always prefer the official SDK; fall back to raw REST only when SDK cannot satisfy the requirement.
Diagnose and fix common Gladia API issues. Use when the user encounters errors (401, 403, 429), unexpected behavior, poor transcription quality, billing conf...
Terminal transcription of audio files and URLs with the Gladia CLI (gladia speech-to-text). Use when the user has gladia-cli installed, wants shell-based transcription, or asks an agent to transcribe audio then answer questions about the content. For audio intelligence features not available as CLI flags, use the SDK skills instead.