Install
openclaw skills install audio-intelligenceConfigure and use Gladia audio intelligence features: speaker diarization, translation, sentiment analysis, named entity recognition (NER), PII redaction, subtitles (SRT/VTT), summarization, chapterization, 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.
openclaw skills install audio-intelligenceGladia's audio intelligence features extract structured data and insights from transcripts. They work on top of the base transcription — most are enabled by adding options to the transcribe() call (pre-recorded) or the startSession() config (live).
SDK-first: always use the official SDK — see sdk-integration for policy, setup, and fallback criteria.
When NOT to use: For basic transcription without audio intelligence features, go directly to pre-recorded-transcription or live-transcription. For gotchas and errors related to specific features, see troubleshooting.
Consult these resources as needed:
| Feature | Pre-recorded | Live | Config key |
|---|---|---|---|
| Speaker diarization | Yes | No | diarization |
| Translation | Yes | Yes | translation |
| Sentiment analysis | Yes | Yes | sentiment_analysis |
| Named entity recognition | Yes | Yes | named_entity_recognition |
| Subtitles (SRT/VTT) | Yes | No | subtitles |
| Custom vocabulary | Yes | Yes | custom_vocabulary |
| PII redaction | Yes | No | pii_redaction |
| Chapterization | Yes | Yes | chapterization (post-process) |
| Summarization | Yes | Yes | summarization (post-process) |
| Audio-to-LLM | Yes | No | audio_to_llm |
| Custom spelling | Yes | Yes | custom_spelling |
| Custom metadata | Yes | Yes | custom_metadata |
Live features split into two groups: real-time (results stream during the session) and post-processing (results arrive after stopRecording()). See ./references/live-audio-intelligence.md for details.
Code examples assume GladiaClient is already initialized — see sdk-integration for setup.
const result = await client.preRecorded().transcribe("audio.mp3", {
diarization: true,
diarization_config: { number_of_speakers: 2 },
});
// Each utterance includes a `speaker` field (0-indexed integer)
result = client.prerecorded().transcribe("audio.mp3", {
"diarization": True,
"diarization_config": {"number_of_speakers": 2},
})
Pre-recorded:
const result = await client.preRecorded().transcribe("audio.mp3", {
translation: true,
translation_config: { target_languages: ["fr", "es"] },
});
result = client.prerecorded().transcribe("audio.mp3", {
"translation": True,
"translation_config": {"target_languages": ["fr", "es"]},
})
Live (result streams as translation WebSocket events — see live-audio-intelligence.md):
const session = client.liveV2().startSession({
// ... audio format options ...
realtime_processing: {
translation: true,
translation_config: { target_languages: ["fr"] },
},
});
from gladiaio_sdk import LiveV2InitRequest, LiveV2RealtimeProcessing
session = client.live().start_session(
LiveV2InitRequest(
# ... audio format options ...
realtime_processing=LiveV2RealtimeProcessing(
translation=True,
translation_config={"target_languages": ["fr"]},
),
)
)
Pre-recorded:
const result = await client.preRecorded().transcribe("audio.mp3", {
summarization: true,
summarization_config: { type: "bullet_points" },
});
Live (arrives after stopRecording() as post_summarization event):
const session = client.liveV2().startSession({
// ... audio format options ...
post_processing: {
summarization: true,
summarization_config: { type: "bullet_points" },
},
});
session.on("message", (msg) => {
if (msg.type === "post_summarization") console.log(msg.data.results);
});
For full per-feature config options and response structures, see:
code_switching: true with empty languages: triggers evaluation across 100+ languages and causes frequent misdetections. Always provide 3-5 expected languages.intensity above 0.6: values over 0.6 cause false positives where unrelated words get replaced. Keep at 0.4-0.6 and use pronunciations for better results.diarization + summarization + translation only when all are required.For the full gotcha list, see troubleshooting.