用途:在 Rust 项目中实现 Deepgram 语音转文字,包括本地文件、URL 或内存音频的预录转写,以及通过 WebSocket 的实时流式转写,并把 Deepgram 文档映射到 Rust crate 的 listen 接口。
主要能力:预录入口有 prerecorded(...)、prerecorded_callback(...)、make_prerecorded_request_builder(...);流式入口有 stream_request()、stream_request_with_options(options),再调用 .file(...)、.stream(...) 或 .handle().await?。Options 构建器支持 model、language、punctuate、smart_format、diarize、multichannel、utterances、detect_language、keywords、search、replace、paragraphs;流式专用字段包括 encoding、sample_rate、channels、endpointing、utterance_end_ms、interim_results、no_delay、vad_events、keep_alive、callback。响应类型:预录为 common::batch_response::Response,实时为 common::stream_response::StreamResponse。覆盖 /v1/listen 上的 Nova 系列模型(nova-3、nova-2、nova、enhanced、base)。
使用方式:安装时按需裁剪特性,例如 deepgram = { version = "0.10.0", default-features = false, features = ["listen"] },并配合 tokio 与 futures。用 Deepgram::new(std::env::var("DEEPGRAM_API_KEY")?) 初始化;API key 使用 Authorization: Token <api_key>,临时令牌用 Deepgram::with_temp_token(...) 并发送 Bearer;自托管可用 Deepgram::with_base_url(...) 或 Deepgram::with_base_url_and_api_key(...)。
适用场景:需要 Rust 侧预录或实时转写、并配置常见 STT 特性时。
限制与注意:STT 模块受 listen Cargo 特性门控;WebSocket 构建器的 Options 按值传入,与预录 API 接收 &Options 不同;实时与预录响应类型不同,summary、topics、sentiments 等字段只在预录响应中;音频发送节奏需接近真实分块与延迟,过快会影响流式效果;对话式转写、音频智能叠加、全双工语音智能体应使用其他技能。具体收费与价格暂未提供。