| name | deepgram-rust-audio-intelligence |
| description | Use when implementing Deepgram audio intelligence from the Rust SDK, especially when intelligence features are attached to STT Options and batch responses instead of a separate audio-intelligence module. |
Using Deepgram Audio Intelligence (Rust SDK)
Use this skill when the user wants transcript plus enrichment from audio, not a standalone text analysis request.
When to use this product
- Running summarization, topics, intents, sentiments, entity detection, paragraphs, search, diarization, or utterances against audio.
- Explaining that the Rust crate exposes these features through STT
Options, not a separate audio_intelligence module.
Authentication
Audio intelligence rides on the listen feature because it is implemented through prerecorded transcription.
[dependencies]
deepgram = { version = "0.10.0", default-features = false, features = ["listen"] }
tokio = { version = "1", features = ["full"] }
let dg = deepgram::Deepgram::new(std::env::var("DEEPGRAM_API_KEY")?)?;
Quick start
Quick start: prerecorded audio + intelligence flags
use deepgram::{
common::{
audio_source::AudioSource,
options::{Language, Options},
},
Deepgram,
};
use tokio::fs::File;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let api_key = std::env::var("DEEPGRAM_API_KEY")?;
let dg = Deepgram::new(&api_key)?;
let file = File::open("examples/audio/bueller.wav").await?;
let source = AudioSource::from_buffer_with_mime_type(file, "audio/wav");
let options = Options::builder()
.language(Language::en_US)
.punctuate(true)
.detect_entities(true)
.intents(true)
.sentiment(true)
.topics(true)
.summarize(true)
.paragraphs(true)
.utterances(true)
.diarize(true)
.build();
let response = dg.transcription().prerecorded(source, &options).await?;
println!("transcript: {}", response.results.channels[0].alternatives[0].transcript);
println!("summary: {:?}", response.results.summary);
println!("topics: {:?}", response.results.topics);
println!("intents: {:?}", response.results.intents);
println!("sentiments: {:?}", response.results.sentiments);
println!("entities: {:?}", response.results.channels[0].alternatives[0].entities);
Ok(())
}
Key parameters
- Intelligence flags on
common::options::OptionsBuilder: detect_entities, intents, sentiment, topics, summarize, paragraphs, utterances, diarize, search, keywords, keyterms, multichannel.
- Result locations:
response.results.summary
response.results.topics
response.results.intents
response.results.sentiments
response.results.channels[0].alternatives[0].entities
response.results.channels[0].alternatives[0].paragraphs
response.results.utterances
response.results.channels[0].search
API reference (layered)
- In-repo
src/common/options.rs
src/common/batch_response.rs
src/listen/rest.rs
examples/transcription/rest/prerecorded_from_file.rs
- OpenAPI
- Raw spec:
https://developers.deepgram.com/openapi.yaml
- Endpoint reference:
https://developers.deepgram.com/reference/speech-to-text/listen-pre-recorded
- AsyncAPI
- Usually not the primary source for full audio-intelligence response shapes in this crate
- Raw spec:
https://developers.deepgram.com/asyncapi.yaml
- Context7
/llmstxt/developers_deepgram_llms_txt
- Product docs
https://developers.deepgram.com/docs/audio-intelligence
Gotchas
- No separate Rust module exists. Audio intelligence is expressed as STT options plus prerecorded response fields.
- Use prerecorded for full coverage. The richest typed results live in
common::batch_response; live StreamResponse does not expose the same intelligence objects.
- Response fields are nested. Some features live on
results, others under channels[...].alternatives[...].
- Feature availability varies by API mode. The crate shares one
Options builder, but not every flag is equally meaningful for live streaming.
Example files in this repo
examples/transcription/rest/prerecorded_from_file.rs
examples/transcription/rest/prerecorded_from_url.rs
examples/transcription/rest/callback.rs
Central product skills
For cross-language Deepgram product knowledge — the consolidated API reference, documentation finder, focused runnable recipes, third-party integration examples, and MCP setup — install the central skills:
npx skills add deepgram/skills
This SDK ships language-idiomatic code skills; deepgram/skills ships cross-language product knowledge (see api, docs, recipes, examples, starters, setup-mcp).