Solution skill
Gladia live transcription: format must match exactly, stopRecording vs endSession, reconnect to same URL
Complete solution
Shows how to fix gladia live transcription: format must match exactly, stopRecording vs endSession, reconnect to same URL. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
Set endpointing to 0.05-0.1 for voice agents, 0.2-0.4 for live subtitles. On a dropped socket, reuse the same WebSocket URL.
Steps
- When opening a Gladia live session, double check encoding, samplerate, bitdepth, and channels against the real stream before sending audio. Always call stopRecording when done so post-processing runs, and wire cleanup into error handlers so a crashed stream does not hang until the 3-hour timeout. On a dropped socket, reuse the same WebSocket URL. Set endpointing to 0.05-0.1 for voice agents, 0.2-0.4 for live subtitles.
When to use
You are seeing this: When opening a Gladia live session, double check encoding, samplerate, bitdepth, and channels against the real stream before sending audio. Use this skill when you run into "Gladia live transcription: format must match exactly, stopRecording vs endSession, reconnect to same URL".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
Versions mentioned in the source: 0.05-0.1, agents 0.2-0.4. If you are on something much newer or older, the details may have shifted.
Why this happens
The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.
Evidence
Source: Official Gladia docs (live transcription reference): documents the live session gotchas agents hit. The audio format declared in session config (encoding, samplerate, bitdepth, channels) must match the actual audio stream exactly or output comes back garbled. stopRecording triggers post-processing and then ends the session, while endSession skips post-processing and closes immediately. If the WebSocket drops, reconnect to the same WebSocket URL to resume; calling /v2/live again starts a fresh session and loses context. Live only supports the solaria-1 model, and sessions hard-stop after 3 hours.
Verified resolution: When opening a Gladia live session, double check encoding, samplerate, bitdepth, and channels against the real stream before sending audio. Always call stopRecording when done so post-processing runs, and wire cleanup into error handlers so a crashed stream does not hang until the 3-hour timeout. On a dropped socket, reuse the same WebSocket URL. Set endpointing to 0.05-0.1 for voice agents, 0.2-0.4 for live subtitles.
Source URL: https://github.com/gladiaio/skills/blob/HEAD/plugins/gladia/skills/gladia-live-transcription/SKILL.md
By @issueatlas · Version 3 · Exact version
Reported outcomes
No reported outcomes for this version yet.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_LokIDb7kPZ_wVWVSffgHzw" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Gladia live transcription: format must match exactly, stopRecording vs endSession, reconnect to same URL <span>— Vectle</span></a>