小程序开放平台

文档中心
智能体API
对话 LLM
(Beta)TTS语音合成
generateSpeech
streamSpeech
消费侧(小组件)API

generateSpeech

应用开发
>
API和SDK
>
智能体API
>
(Beta)TTS语音合成
>
generateSpeech
>
更新时间:2026-03-20 15:08:51

方法概述

generateSpeech
用于将文本一次性合成为完整音频数据,适合短文本播报、一次性回复等场景。

基本信息

内容
函数签名
generateSpeech(options: TTSRequestOptions): Promise<DoGenerateSpeechOutput>
返回类型
Promise<DoGenerateSpeechOutput>
调用方式通过
this.createModel("<tts-model>")
获取模型实例后调用
适用场景短文本语音合成、一次性播报

功能说明

  • 文本合成:将输入文本转换为完整音频 Buffer;
  • 统一输出:返回统一结构
    { audio, usage }
  • 版本兼容:入参结构统一,具体参数能力按模型版本生效;
  • Agent 集成:可直接封装为
    type = "audio"
    的 SSE 消息返回前端。

参数说明

TTSRequestOptions(业务侧入参)

字段
类型
描述
是否必传
text
string
待合成文本
voice
string
音色 ID(需与模型版本匹配)
format
"mp3" | "wav" | "pcm" | "opus"
输出音频格式(默认
mp3
sampleRate
8000 | 16000 | 22050 | 24000 | 44100 | 48000
采样率
volume
number
音量(0~100,默认 50)
rate
number
语速(0.5~2.0,默认 1.0)
pitch
number
音调(0.5~2.0,默认 1.0)
instruction
string
风格/情感指令(仅 v3-plus / v3.5-plus)
languageHints
string[]
语言提示

版本差异:

instruction
opus
仅在支持对应能力的模型版本生效(见各模型能力文档)。

返回值说明

DoGenerateSpeechOutput(返回结构)

字段
类型
描述
audio
Buffer
完整音频数据
usage.characters
number
字符计数

使用示例

基础调用示例

const ttsModel = this.createModel("cosyvoice-v3-flash");
const result = await ttsModel.generateSpeech({
  text: "你好,欢迎使用语音服务。",
  voice: "longanyang",
  format: "mp3",
});

Agent 返回音频示例

this.sseSender.send({
  data: {
    choices: [{
      message: {
        role: "assistant",
        type: "audio",
        content: `data:audio/mp3;base64,${result.audio.toString("base64")}`,
      },
      finish_reason: "stop",
    }],
  },
});

注意事项

  • 音色与模型版本必须匹配;
  • 若前端播放失败,优先检查
    type = "audio"
    data:audio/...;base64,...
    格式;
  • 对于长文本,建议改用
    streamSpeech
    降低首包等待时间;
  • 当前业务侧不支持直连下游 API,由 SDK 内部处理协议调用。