SuperAPI AI 工具集

deepgram-python-text-to-speech

编程与开发

查看项目

更新于 10-16 05:05

技能介绍

用途:在 Python 项目中调用 Deepgram 文本转语音(TTS)v1 接口 /v1/speak,把文本合成为音频。适合需要生成音频文件、预生成提示音,或在 LLM 持续输出 token 时边生成边播放的场景。若还需让智能体同时听与说(全双工),应改用 deepgram-python-voice-agent。

主要能力:REST 方式(speak.v1.audio.generate)为一次性合成,返回音频字节迭代器,响应体是 audio/* 而非 JSON,可用响应头 dg-model-name、dg-char-count、dg-request-id;WebSocket 方式(speak.v1.connect)支持增量文本输入与流式音频输出。认证使用 DEEPGRAM_API_KEY,请求头为 Authorization: Token <api_key>,不是 Bearer。

使用方式:REST 示例中调用 client.speak.v1.audio.generate(text=..., model="aura-2-asteria-en", encoding="linear16", sample_rate=24000),遍历返回的字节块写入文件。WebSocket 需用 SpeakV1Text 发送文本,依次 send_text、send_flush、send_close,再 start_listening;同步模式下 start_listening 会阻塞,需先发完消息或用线程,异步模式可并发发送。常用参数包括 model、encoding(linear16、mulaw、alaw、opus、flac、mp3、aac)、sample_rate、bit_rate、container、callback、tag、mip_opt_out。另有 deepgram.helpers.TextBuilder 辅助构建 Flux 批量请求文本,支持 .text、.pronunciation、.pause、.build,注意没有 .add 方法。

限制与注意:REST 响应是音频字节,不要调用 .json();WSS 关闭前须先 flush,否则可能丢失尾部音频;encoding/sample_rate/container 必须与播放链路匹配,否则可能静默失败或失真;TextBuilder 为手工维护,不应移动到自动生成路径下。仓库内提供 examples/20 至 24 等示例文件及测试文件可供参考。跨语言产品知识可安装 npx skills add deepgram/skills。