/install gladia-pre-recorded-transcription
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.
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-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
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install gladia-pre-recorded-transcription - 安装完成后,直接呼叫该 Skill 的名称或使用
/gladia-pre-recorded-transcription触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Gladia Pre Recorded Transcription 是什么?
Transcribe pre-recorded audio files or URLs with Gladia. Use when the user needs batch/async transcription, speaker diarization, subtitles (SRT/VTT), PII red... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 28 次。
如何安装 Gladia Pre Recorded Transcription?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install gladia-pre-recorded-transcription」即可一键安装,无需额外配置。
Gladia Pre Recorded Transcription 是免费的吗?
是的,Gladia Pre Recorded Transcription 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Gladia Pre Recorded Transcription 支持哪些平台?
Gladia Pre Recorded Transcription 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Gladia Pre Recorded Transcription?
由 Gladia(@gladiaio)开发并维护,当前版本 v1.0.1。