← Back to Skills Marketplace
gladiaio

Gladia Troubleshooting

by Gladia · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ✓ Security Clean
33
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install gladia-troubleshooting
Description
Diagnose and fix common Gladia API issues. Use when the user encounters errors (401, 403, 429), unexpected behavior, poor transcription quality, billing conf...
README (SKILL.md)

Troubleshooting

Common issues, gotchas, and their solutions when working with the Gladia API.

SDK-first diagnostics: first verify the user is on the official SDK — many issues (polling, reconnection, retries) are solved automatically. See gladia-sdk-integration for setup and policy.

When to Use

  • User encounters errors (401, 403, 429, invalid format, timeout) when calling the Gladia API
  • Unexpected behavior: poor transcription quality, missing words, wrong language
  • WebSocket disconnections, polling failures, or session hangs
  • Billing confusion (multi-channel, concurrency limits, plan restrictions)
  • Verifying that an integration is correctly configured before going to production

When NOT to use: For initial SDK setup and configuration, use gladia-sdk-integration. For feature-specific guidance (options, parameters, response structure), use gladia-pre-recorded-transcription or gladia-live-transcription.

References

Consult these resources as needed:

  • ../gladia-sdk-integration/SKILL.md -- SDK setup, client config (retry, timeouts), and SDK vs raw API decision guide
  • ../gladia-sdk-integration/references/sdk-versions.md -- Current SDK versions (auto-synced by CI)
  • ../gladia-pre-recorded-transcription/SKILL.md -- Pre-recorded config options and limits
  • ../gladia-live-transcription/SKILL.md -- Live session config and WebSocket event handling
  • ../gladia-audio-intelligence/SKILL.md -- Audio intelligence feature configs and availability matrix

Authentication Errors

401 Unauthorized

  • Cause: Invalid or missing API key
  • Fix (SDK): Verify the key is passed via the apiKey (JS) / api_key (Python) constructor option, or set the GLADIA_API_KEY environment variable
  • Fix (raw REST): Verify the key is passed in the x-gladia-key header
  • Check: Go to app.gladia.io → API keys → verify the key is active

403 Forbidden

  • Cause: Key doesn't have access to the requested feature or region
  • Fix: Check your plan tier; some features are plan-restricted

Rate Limiting and Concurrency

429 Too Many Requests

Concurrency limits by plan:

Plan Pre-recorded Live Notes
Free 3 1 10 hrs/month total
Starter 25 30
Growth 25 30
Enterprise Unlimited Unlimited

Fix: Wait for in-progress jobs to complete before starting new ones, or upgrade your plan.

Common Gotchas

1. Code switching without language list

Problem: Enabling code_switching: true with an empty languages array causes evaluation across 100+ languages and frequent misdetections.

Fix: Always provide 3-5 expected languages:

{
  "language_config": {
    "languages": ["en", "fr", "es"],
    "code_switching": true
  }
}

2. Custom vocabulary intensity too high

Problem: intensity values above 0.6 cause false positives where unrelated words get replaced by vocabulary entries.

Fix: Keep intensity at 0.4-0.6. Use pronunciations for better recognition instead of raising intensity:

{
  "vocabulary": [
    { "value": "Gladia", "pronunciations": ["gla-dee-ah"], "intensity": 0.5 }
  ]
}

3. Audio exceeding duration limits silently

Problem: Pre-recorded files over 135 minutes may fail without a clear error message.

Fix: Split long audio into chunks of ~60 minutes before uploading. For enterprise (4h15 limit), contact support.

4. Multi-channel billing surprise

Problem: Sending 2-channel (stereo) audio is billed as 2x the duration.

Fix: Merge to mono if you don't need per-channel speaker identification. Only use multi-channel intentionally for distinct audio sources.

5. WebSocket disconnection without recovery

Problem: If the WebSocket drops, creating a new session loses context.

Fix (SDK — recommended): The SDK handles reconnection automatically with configurable wsRetry. No action needed if using the SDK.

Fix (raw WebSocket): Reconnect to the same WebSocket URL to resume the session. Do NOT call /v2/live again.

6. Polling without backoff

Problem: Rapidly polling /v2/pre-recorded/:id wastes requests and may trigger rate limits.

Fix (SDK — recommended): The SDK handles polling automatically. Use transcribe() which includes built-in backoff, or configure poll() directly:

const result = await client.preRecorded().transcribe(audio, options, {
  interval: 5000, // 5 seconds between polls
});
result = client.prerecorded().transcribe(
    "audio.mp3",
    options,
    {"interval": 5000},  # 5 seconds between polls
)

Fix (raw REST): Implement exponential backoff (start at 3s, max 30s), or use webhooks/callbacks instead.

7. Forgetting to stop recording

Problem: Leaving a WebSocket open without sending stop_recording keeps the session hanging until the 3-hour timeout.

Fix: Always explicitly call session.stopRecording() (or session.stop_recording() in Python) when done. Implement cleanup in error handlers.

8. Partial transcripts not appearing

Problem: Real-time results come only as final transcripts by default.

Fix: Enable partial transcripts in session config:

{
  "messages_config": {
    "receive_partial_transcripts": true
  }
}

9. Expecting diarization in live mode

Problem: Speaker diarization is only available for pre-recorded transcription.

Fix: For live multi-speaker scenarios, use multi-channel audio with one speaker per channel and track by channel number.

10. PII redaction in live mode

Problem: pii_redaction: true is silently ignored in live transcription.

Fix: PII redaction only works for pre-recorded. For live compliance needs, implement client-side redaction on the transcript text.

Audio Format Issues

"Invalid audio format" error

Transcription Quality Issues

Poor accuracy

  1. Check audio quality: Background noise, low volume, or heavy compression degrades results
  2. Enable audio enhancer: pre_processing.audio_enhancer: true (live)
  3. Specify languages: Always provide expected languages rather than relying on auto-detection
  4. Use custom vocabulary: For domain-specific terms (medical, legal, technical)
  5. Check sample rate: Higher sample rates (16kHz+) give better results than 8kHz

Wrong language detected

  1. Provide explicit languages list
  2. If multi-language, enable code_switching with 3-5 expected languages
  3. For single-language content, specify exactly one language and disable code switching

Missing words or gaps

  1. Check for silence or very low volume sections
  2. Verify audio isn't corrupted (try playing it back)
  3. For live: ensure chunks are sent continuously without large gaps

Webhook/Callback Issues

Callbacks not received

  1. Verify callback_url is publicly reachable (not localhost)
  2. Check your server returns 2xx within timeout
  3. Verify no firewall/WAF blocking incoming requests
  4. Test with a service like webhook.site first

Webhook signature verification

Webhooks are powered by Svix. Verify using the Svix libraries:

import { Webhook } from "svix";
const wh = new Webhook(webhookSecret);
wh.verify(payload, headers);

Verification Checklist

Before submitting transcription work:

  • Using the official Gladia SDK (if not, confirm there is a valid reason for raw API calls)
  • API key is valid and passed correctly (SDK constructor or GLADIA_API_KEY env var)
  • Audio file is under 1000 MB and within duration limits
  • Audio format is supported
  • If using code switching, languages list has 3-5 entries
  • If using custom vocabulary, intensity is 0.4-0.6
  • For live: session properly closed with stopRecording() / stop_recording()
  • For live: audio format config matches actual stream
  • Callbacks/webhooks are reachable if configured
  • Multi-channel audio is intentional
  • Error responses are handled (SDK throws typed errors; raw API returns status, error_message)

Further Reading

Support Resources

Usage Guidance
Install only if you want Gladia API troubleshooting guidance. Treat API keys and webhook payloads carefully: use test data with public webhook tools and do not paste real secrets into chats or logs.
Capability Tags
requires-sensitive-credentials
Capability Assessment
Purpose & Capability
The skill provides troubleshooting guidance for Gladia authentication, rate limits, audio formats, transcription quality, webhooks, and SDK usage; these capabilities match its stated purpose.
Instruction Scope
Instructions are scoped to diagnosing Gladia API problems and advising normal configuration checks; no prompt overrides, role changes, hidden instructions, or unrelated agent behavior were found.
Install Mechanism
The artifact contains a single markdown SKILL.md file and no scripts, dependencies, symlinks, package installs, or executable components.
Credentials
The metadata marks API key use as required, and the skill discusses GLADIA_API_KEY and webhook testing; this is expected for Gladia API troubleshooting but users should avoid exposing real secrets or sensitive transcript data.
Persistence & Privilege
No persistence, background execution, privilege escalation, local indexing, credential-store access, destructive actions, or file mutation instructions were found.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install gladia-troubleshooting
  3. After installation, invoke the skill by name or use /gladia-troubleshooting
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release — provides diagnostics and solutions for common Gladia API issues. - Covers troubleshooting for authentication errors, rate limiting, billing, audio format, API limits, and unexpected behavior. - Prioritizes use of the official SDK for automatic resolution of many issues (reconnection, polling, retries). - Offers targeted advice for fixing poor transcription quality, language detection errors, and feature-specific pitfalls. - Includes billing/concurrency guidance and plan-based limits. - Reference links guide users to related skills for SDK setup and advanced configuration.
Metadata
Slug gladia-troubleshooting
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Gladia Troubleshooting?

Diagnose and fix common Gladia API issues. Use when the user encounters errors (401, 403, 429), unexpected behavior, poor transcription quality, billing conf... It is an AI Agent Skill for Claude Code / OpenClaw, with 33 downloads so far.

How do I install Gladia Troubleshooting?

Run "/install gladia-troubleshooting" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Gladia Troubleshooting free?

Yes, Gladia Troubleshooting is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Gladia Troubleshooting support?

Gladia Troubleshooting is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Gladia Troubleshooting?

It is built and maintained by Gladia (@gladiaio); the current version is v1.0.0.

💬 Comments