安装
安装包:凭证
从 Soniox 控制台 获取您的 Soniox API 密钥,并将其设置为环境变量:使用方法
基本转录
以下示例演示如何使用SonioxDocumentLoader 转录音频文件,并使用 LLM 生成摘要。
异步转录
对于异步操作,请使用aload() 或 alazy_load():
高级用法
语言提示
Soniox 能够自动检测并转录 60 余种语言 的语音。当您知道音频中可能出现哪些语言时,可提供language_hints 来提高准确性,引导识别偏向这些语言。
语言提示不会限制识别范围——它们只是将模型偏向指定的语言,同时仍允许检测其他语言(如有)。
说话人分离
启用说话人识别以区分不同的说话人:语言识别
启用自动语言检测和识别:提升准确性的上下文
提供特定领域的上下文以提升转录准确性。上下文有助于模型理解您的领域、识别重要术语并应用自定义词汇。context 对象支持以下四个可选部分:
翻译
将任何检测到的语言翻译为目标语言:two_way 翻译类型同时转录两种语言并互译。更多信息请参阅此处。
API 参考
构造函数参数
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
file_path | str | 否* | None | 要转录的本地音频文件路径 |
file_data | bytes | 否* | None | 要转录的音频文件二进制数据 |
file_url | str | 否* | None | 要转录的音频文件 URL |
api_key | str | 否 | SONIOX_API_KEY 环境变量 | Soniox API 密钥 |
base_url | str | 否 | https://api.soniox.com/v1 | API 基础 URL(见区域端点) |
options | SonioxTranscriptionOptions | 否 | SonioxTranscriptionOptions() | 转录选项 |
polling_interval_seconds | float | 否 | 1.0 | 状态轮询间隔(秒) |
timeout_seconds | float | 否 | 300.0(5 分钟) | 等待转录的最长时间 |
http_request_timeout_seconds | float | 否 | 60.0 | 单次 HTTP 请求超时时间 |
file_path、file_data 或 file_url。
转录选项
SonioxTranscriptionOptions 类支持以下参数:
| 参数 | 类型 | 描述 |
|---|---|---|
model | str | 要使用的异步模型(见可用模型) |
language_hints | list[str] | 转录语言提示(ISO 语言代码) |
language_hints_strict | bool | 严格执行语言提示 |
enable_speaker_diarization | bool | 启用说话人识别 |
enable_language_identification | bool | 启用语言检测 |
translation | TranslationConfig | 翻译配置 |
context | StructuredContext | 用于提升准确性的上下文 |
client_reference_id | str | 用于记录的自定义参考 ID |
webhook_url | str | 完成通知的 Webhook URL |
webhook_auth_header_name | str | Webhook 的自定义认证请求头名称 |
webhook_auth_header_value | str | Webhook 的自定义认证请求头值 |
返回值
lazy_load() 和 alazy_load() 方法返回一个 Document 对象:
tokens 数组包含每个转录词的详细信息:
text:转录文本start_ms:开始时间(毫秒)end_ms:结束时间(毫秒)speaker:说话人 ID(若启用了分离),例如"1"、"2"等language:检测到的语言(若启用了识别),例如"en"、"fr"等translation_status:翻译状态("original"、"translated"或"none")
相关资源
将这些文档连接到 Claude、VSCode 等,通过 MCP 获取实时解答。

