Design & media

gladia-pre-recorded-transcription

Try it

Transcribe 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)

EndpointMethodSDK equivalent
/v2/uploadPOSTtranscribe() auto-uploads local files
/v2/pre-recordedPOSTcreate() / transcribe()
/v2/pre-recordedGETlist()
/v2/pre-recorded/:idGETget() / poll() / transcribe()
/v2/pre-recorded/:idDELETEdelete()
/v2/pre-recorded/:id/fileGETgetFile()

Workflow

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.

  1. Upload (if local file): POST /v2/upload with multipart form data → get audio_url
  2. Create job: POST /v2/pre-recorded with audio_url and config → get id
  3. Poll: GET /v2/pre-recorded/:id until status: "done" (or use webhooks/callbacks)
  4. 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:

OptionDescription
language_configExpected languages, code switching
diarizationSpeaker identification (pre-recorded only)
translationTranslate to target languages
summarizationGenerate bullet points or paragraph summary
subtitlesGenerate SRT/VTT files
pii_redactionRedact PII (pre-recorded only)
audio_to_llmRun custom LLM prompts on transcript
callback_urlAsync 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

ConstraintValue
Max file size1000 MB
Max duration135 minutes (120 min for YouTube)
Enterprise max duration4h15
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: true with empty languages triggers 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

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

Run Git operations — commits, branches, merges, rebases, conflict resolution, and recovery — with safety rules enforced.

by Iván535 installs31 stars

More from gladiaio

Browse all skills

Gladia speech-to-text reference: endpoints, workflows, model guidance, and SDK-first integration patterns.

by gladiaio7 installs

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.

by gladiaio5 installs

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.

by gladiaio5 installs

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.

by gladiaio5 installs

Diagnose and fix common Gladia API issues. Use when the user encounters errors (401, 403, 429), unexpected behavior, poor transcription quality, billing conf...

by gladiaio5 installs

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.

by gladiaio