canonical: https://jentic.com/apis/gladia.io/gladia

# Gladia API

The Gladia API provides speech-to-text and audio intelligence over both pre-recorded audio files and live streams. Agents can submit a hosted audio URL or an uploaded file for transcription, then poll a job ID to retrieve the transcript along with optional translation, summarisation, sentiment analysis, and speaker diarisation. A live endpoint exposes a session-token flow for streaming audio in real time. Authentication is an x-gladia-key API key.

## For AI agents

Transcribe pre-recorded audio files and live audio streams with optional translation, summarisation, and speaker diarisation via Gladia.

## Scope

Does not handle text-to-speech, voice cloning, or audio generation - use for transcribing and analysing speech audio only.

## Capabilities

- Submit a hosted audio URL for asynchronous transcription via POST `/v2/pre-recorded`
- Upload an audio file directly to Gladia via POST `/v2/upload` before submitting it
- Poll a transcription job for completion via GET `/v2/pre-recorded/{id}`
- Retrieve the original audio file used for a transcription via GET `/v2/pre-recorded/{id}/file`
- Generate translation, summary, sentiment, and speaker diarisation alongside the transcript
- Initialise a live streaming transcription session via POST `/v2/live`

## Use cases

### Meeting Recording Transcription

Transcribe Zoom, Google Meet, or in-person meeting recordings into searchable text with speaker labels. Upload the file via POST `/v2/upload`, submit the returned audio URL to POST `/v2/pre-recorded` with diarization=true and summarization=true, and poll GET `/v2/pre-recorded/{id}` until status is done to retrieve the transcript and per-speaker summary.

Example prompt: Upload meeting.mp4 via `/v2/upload`, call `/v2/pre-recorded` with the returned URL plus diarization=true and summarization=true, poll the job, and return the final transcript

### Podcast Translation Pipeline

Translate podcast episodes into a target language for international distribution. Submit each episode URL to POST `/v2/pre-recorded` with translation enabled and the desired target_language, then read the translated transcript and original transcript side by side from the result payload.

Example prompt: Submit https://example.com/ep12.mp3 to `/v2/pre-recorded` with translation=true target_language=es, poll the job, return the Spanish transcript

### Live Captioning for Webinars

Provide live captions for a webinar by opening a streaming session with POST `/v2/live` and connecting an audio source. The endpoint returns a session token that the client uses to stream PCM audio over WebSocket, receiving partial and final transcript chunks back in real time for on-screen display.

Example prompt: Open a `/v2/live` session with language=en and encoding=wav, return the websocket_url and session token to the client for audio streaming

### AI Agent Voice Memo Capture

Use Jentic to let an AI agent transcribe ad-hoc voice memos a user uploads via chat. The agent issues an intent like 'transcribe an audio file', Jentic resolves POST `/v2/upload` then POST `/v2/pre-recorded`, executes both with the API key from the vault, and returns the polished transcript plus summary.

Example prompt: Through Jentic, upload memo.m4a, submit the resulting URL with summarization=true, poll until done, and return transcript and summary

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v2/pre-recorded` | Submit a pre-recorded audio URL for transcription |
| GET | `/v2/pre-recorded/{id}` | Poll a transcription job for results |
| GET | `/v2/pre-recorded/{id}/file` | Retrieve the original audio file for a job |
| POST | `/v2/upload` | Upload an audio file to Gladia hosting |
| POST | `/v2/live` | Open a live transcription session and return a websocket token |

## Key resources

- **Pre-recorded** — Submit, poll, and retrieve transcription jobs for stored audio
- **Upload** — Upload an audio file to Gladia and receive a hosted URL
- **Live** — Open a real-time streaming transcription session

## Why Jentic

- **Setup:** Wiring Gladia by hand means learning its x-gladia-key header auth and juggling the upload, pre-recorded, and live transcription steps yourself. Through Jentic you install once, import the Gladia API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Gladia takes the audio target in the request body and returns a transcription id in the path, so scope the agent to the operations it needs, such as submitting a pre-recorded transcription and reading its result. You choose that operation set, so it transcribes and fetches without gaining unrelated calls unless you add them.
- **Credential handling:** Your Gladia key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'transcribe an audio file' or 'run live transcription', and Jentic returns the matching Gladia operation with its input schema so the agent calls the right endpoint with the correct diarisation and translation flags without browsing the reference docs.

## Related APIs

- **AssemblyAI API** — Speech-to-text platform with broad audio intelligence features
- **Deepgram API** — Streaming-first speech-to-text with very low live latency
- **OpenAI API** — Whisper-based audio transcription with broad language coverage
- **Rev AI API** — Asynchronous and streaming speech-to-text with human review options

## FAQ

### What authentication does the Gladia API use?

Gladia uses an x-gladia-key API key sent as a request header. Generate the key from the Gladia dashboard. Through Jentic the key is stored encrypted in your Jentic One instance and the raw value never enters the agent's prompt context.

### Can I transcribe an audio file with the Gladia API?

Yes. Either upload the file via POST `/v2/upload` to receive a hosted URL, or pass an existing URL directly to POST `/v2/pre-recorded` with optional flags such as diarization, translation, and summarization. Poll GET `/v2/pre-recorded/{id}` until status=done to read the transcript.

### What are the rate limits for the Gladia API?

Gladia rate-limits by plan: the free tier allows up to 10 hours of pre-recorded transcription per month and lower concurrency on `/v2/live`, while paid plans raise both quotas. Concurrent jobs are also capped per workspace; check the dashboard usage panel for the live counter.

### How do I run live transcription through Jentic with Gladia?

Search Jentic for 'start a live transcription session', load POST `/v2/live`, and execute with language and encoding. The response returns a websocket URL and session token that your client connects to for streaming PCM audio and receiving transcript chunks.

### Does the Gladia API support speaker diarisation and translation?

Yes. Pass diarization=true on POST `/v2/pre-recorded` to label each speaker (speaker_0, speaker_1, etc.) and translation=true with target_language to return both the original and translated transcript in the result payload. Both can be combined on a single job.

### What audio formats does Gladia accept?

Gladia accepts common formats including mp3, mp4, m4a, wav, flac, ogg, and webm for pre-recorded jobs, and PCM-encoded audio over WebSocket for live sessions. The `/v2/upload` endpoint streams the raw bytes; large files are supported but uploads time out after a few minutes if connection is slow.

### Can I limit what my agent is allowed to do with the Gladia API?

Yes. Because you self-host Jentic One, your own rules decide which Gladia operations and credentials the agent may use, so you can grant only the calls it needs. For example, you can allow POST `/v2/pre-recorded` to submit a transcription and GET `/v2/pre-recorded/{id}` to read the result, while withholding POST `/v2/upload`, POST `/v2/live`, or GET `/v2/pre-recorded/{id}/file.` The agent transcribes and fetches within that set and gains no unrelated calls unless you add them.
