推荐使用
step-audio-2 或 step-audio-2-mini 模型,这些模型具备最新的语音理解和生成能力。step-audio-r1.5 具有出色的声音理解与推理能力,能够并行边想边说,适合需要高精度语音理解的场景。能力概述
- 语音输入理解:支持用户通过语音提问,模型可以理解语音中的内容和语调
- 语音输出生成:模型可以直接生成语音回复,无需额外的 TTS 步骤
- 多种声音选择:支持多种预置声音风格,满足不同场景需求
- 流式输出:支持流式返回音频数据,实现低延迟的语音交互
- 工具调用:支持用户自定义函数调用(
step-audio-r1.5模型不支持)
核心参数
在调用 chat completions 接口时,指定 model 为以下模型,可以获得语音回复能力。| 模型名称 | 说明 |
|---|---|
step-audio-r1.5 | 超强语音理解与推理模型,理解各类声音与文字,边想边说,推理能力出众 |
step-audio-2 | 最新的端到端语音模型,支持语音输入输出、toolcall,支持音色复刻(realtime 接口) |
step-audio-2-mini | 轻量版端到端语音模型,轻便快速 |
step-1o-audio | 上一代语音模型,音色多样 |
audio 参数
audio 参数用于控制音频输出,只在端到端语音模型下生效。
-
voicestringrequired
指定生成音频的声音 ID。对于step-audio-2系列模型,可用以下声音:wenrounansheng(温柔男声)qingchunshaonv(青春少女)livelybreezy-female(活力少女)elegantgentle-female(高雅女声)
step-1o-audio和step-audio-r1.5模型,可通过获取声音列表接口查询可用的声音 ID。 -
formatstringrequired
指定生成音频的格式:wav:在非流式场景下(stream=false)支持pcm:在流式场景下(stream=true)使用,格式为 24kHz、单声道、16bit
modalities 参数
modalities 参数指定输出的模态类型,支持 text、audio 两种类型。
如果需要模型输出音频,则需要将 audio 添加到该参数中,例如:["text", "audio"]。
快速开始
文本输入,语音输出
最简单的使用方式是发送文本消息,让模型返回语音回复。- python
- js
- curl
copy
语音输入,语音输出
支持用户通过语音提问,模型返回语音回复,实现端到端的语音对话。- python
- js
copy
流式语音输出
当stream=true 时,API 会以流式方式返回音频数据,实现超低延迟的语音交互体验。
- python
- js
copy
多轮语音对话
支持在多轮对话中保持语音上下文。你可以将用户的语音历史放入 messages 中,AI 的输出推荐将文字部分作为 assistant 回复填入 content。copy
上下文限制说明:
step-audio-2/step-audio-r1.5支持上下文传入 wav 格式音频- 请求最大支持 10MB(指 base64 后的总大小,大致能传 7.5MB 的 wav 文件)
- 最多支持 30 段声音(如果单段声音超过 25s,会被自动分段,每 25s 视为一段)
step-1o-audio目前不支持上下文中传入 wav(但支持语音输出)
结合 Tool Call 使用
step-audio-2 / step-1o-audio 语音模型支持 Tool Call 功能,可以在语音对话中调用外部工具。完整流程包括:检测函数调用、执行函数、返回结果并获取最终语音回复。
copy
Tool Call 返回示例
第一次调用返回(text+audio 模态,带 tool_call 字段):注意:模型可能会在返回 tool_calls 的同时输出语音(如”让我帮您查一下”),你可以在等待函数执行时播放这段语音,提升用户体验。
音频格式说明
输入音频格式
- 支持 mp3 和 wav 格式
- Base64 编码格式示例:
data:audio/mpeg;base64,${base64_string}或data:audio/wav;base64,${base64_string}
输出音频格式
| 场景 | 格式 | 规格 |
|---|---|---|
| 非流式(stream=false) | wav | 标准 wav 文件格式 |
| 流式(stream=true) | pcm | 24kHz,单声道,16bit |
Chat Completions vs Realtime API
阶跃星辰提供两种语音对话方案,适用于不同的场景需求:| 特性 | Chat Completions API | Realtime API |
|---|---|---|
| 连接方式 | HTTP 请求 | WebSocket 长连接 |
| 语音识别 (ASR) | 需自行实现或使用第三方服务 | 内置,自动识别用户语音 |
| 上下文管理 | 需自行维护 messages 列表 | 内置,自动管理对话历史 |
| 语音活动检测 (VAD) | 需自行实现 | 内置,自动检测用户说话 |
| 联网搜索 | 需自行实现搜索接口 | 内置 web_search 工具 |
| 知识库检索 | 需自行实现 | 内置 retrieval 工具 |
| 延迟 | 较低(流式输出) | 极低(双向流式交互) |
| 适用场景 | 离线处理、批量任务、简单集成 | 实时对话、语音助手、客服机器人 |
| 音色复刻 | 不支持 | step-audio-2 支持音色复刻 |
使用 Realtime API 的优势
如果你需要构建实时语音对话应用,推荐使用 Realtime API:- 开箱即用:内置 ASR、VAD、上下文管理,无需额外集成
- 超低延迟:基于 WebSocket 的实时双向通信
- 内置工具:支持
web_search联网搜索和retrieval知识库检索 - 自定义 Tool Call:同样支持自定义函数调用
- 音色复刻:支持使用自定义音色进行语音生成
实时语音互动开发指南
常见问题
流式播放 PCM 音频
在浏览器环境中播放流式 PCM 音频,需要使用 Web Audio API。以下是一个简单的播放器示例:优化首字延迟
如果需要更低的首字延迟:- 使用
step-audio-2-mini模型,它的响应速度更快 - 使用流式输出(stream=true),可以边生成边播放
- 考虑使用 Realtime API 获得最低延迟体验