跳到主要内容

文字转语音

Text to speech 让 Anyy 从文本合成音频,并把结果作为 scoped artifact 和 outbound 音频附件投递。

模型可见工具是 tts 工具集中的 text_to_speech。Provider、voice、format 和限制来自用户配置,不来自工具参数。

配置

最小 OpenAI-compatible 配置:

tts:
enabled: true
provider: openai
timeout_ms: 60000
max_chars: 4096
openai:
model: tts-1
voice: alloy
base_url: https://api.openai.com/v1
api_key_ref: env:OPENAI_API_KEY
response_format: mp3

voice:
auto_tts: false

tts.enabled 省略时,只有配置了 provider 才认为 TTS 启用。空的 tts.provider 会禁用服务。

Provider 选项

支持的 provider 路径:

Provider type配置位置说明
Built-in OpenAItts.openai,并设置 provider: openai使用 modelvoicebase_url、credential ref 和 response_format
Named command providertts.providers.<name>.type: command运行本地命令并注册输出音频。
Named OpenAI-compatible providertts.providers.<name>.type: openaiopenai-compatible在命名 provider 下使用和 OpenAI 相同的字段。
Chat audio providertts.providers.<name>.type: openai-chat-audio使用 chat-audio synthesis 选项。

Custom command providers 可以设置 commandargscwdenvoutput_formatcontent_typetimeout_msmax_chars

Provider env 中的 secret refs 会在启动前解析。

Preview

Gateway 运行时,dashboard 和 RPC 层提供 TTS preview 操作。Preview 使用与运行时工具相同的已配置 provider 和 voice 路径。

如果 preview 失败,先检查 provider 凭据和 tts.provider,再排查渠道投递。

Auto TTS

voice.auto_tts 控制 voice/audio 对话是否默认用语音回复。配置 TTS provider 不会自动把每条回复都变成音频。

tts 工具集可见且 provider 已配置时,仍可显式使用 text_to_speech 工具。

消息投递

工具接受一个参数:

参数含义
text要合成的必填文本。Provider-specific 字符上限适用,过长输入会被截断。

成功时返回包含 artifact_ref 的 JSON,也可能包含 artifact_idcontent_typefilename

生成语音通过 artifact store 保存。兼容 provider 和渠道可以把它渲染为 voice bubble;否则会作为普通音频附件发送。

失败模式

Status含义
blocked_unavailableTTS 服务或 provider 不可用。
blocked_invalid必填文本或 session 字段无效。
errorProvider synthesis 失败。

生成音频 artifact 管理见 Artifacts