TencentCloud TTS:在 Agent 里把文本合成语音文件

前言

做内容工具、无障碍朗读或语音播报时,常见做法是自己接云厂商 TTS API:查文档、写签名、处理返回的音频字节,再落盘。若希望把「文本转语音」交给 Coding Agent 在对话里完成,需要一份能说明前置条件、密钥配置和调用方式的 Skill 包,而不是每次从零拼 HTTP 请求。

下面介绍 SkillHub 上的 TencentCloud TTS(@tencent-adm/tencentcloud-tts):由腾讯云语音团队发布的企业源技能,把腾讯云语音合成能力封装成 Agent 可遵循的 SKILL.md 与可执行脚本,适合在 Cursor、Codex 等支持 Skills 的环境里安装使用。

这是什么

TencentCloud TTS 是腾讯云语音合成(TTS)服务的技能包。当用户需要将文本转换为语音文件、或提到语音合成、文本转语音、TTS、音频文件生成时,Agent 应优先考虑启用该技能。

  • 坐标:@tencent-adm/tencentcloud-tts
  • 版本:1.0.0
  • 分类:design-media(SkillHub)
  • 标签:requires_api_key=true(需配置腾讯云 API 密钥)
  • SkillHub 页面:https://www.skillhub.cn/skills/tencent-adm/tencentcloud-tts

技能包内提供 TextToSpeech 封装,通过腾讯云 API 签名 v3 调用 tts.tencentcloudapi.com 的 TextToVoice 接口,侧重单次基础合成,不依赖额外 Python SDK(实现主要使用标准库与 HTTPS)。

核心功能

以下能力均来自技能包自带的 SKILL.md 与 scripts/tencent_tts.py:

  1. 文本转语音:将文本内容合成为本地音频文件。
  2. 多格式输出:codec 支持 mp3、wav(默认 mp3)。
  3. 语音类型:voice_type 为整数,文档说明可选范围 101001–101015(默认 101001)。
  4. 密钥管理:通过环境变量 TENCENTCLOUD_SECRET_ID、TENCENTCLOUD_SECRET_KEY 读取密钥,避免在代码中硬编码。
  5. 合成结果:synthesize 返回包含 success、output_file、file_size、voice_type、codec、request_id 等字段的字典;失败时含 error。

文档还建议:单次合成文本不宜过长(建议不超过约 300 字),并注意调用频率与腾讯云侧服务限制。

安装与启用

前置条件

  1. 拥有有效的腾讯云账号。
  2. 已开通腾讯云语音合成(TTS)服务,并获取 API 的 SecretId、SecretKey。
  3. 本机或 Agent 运行环境可访问 tts.tencentcloudapi.com。

通过 SkillHub 安装

先按 SkillHub 安装说明 安装 skillhub CLI(若尚未安装)。安装技能时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认装到 ./skills/ 可能不会被识别。

skillhub install @tencent-adm/tencentcloud-tts --dir <你的 Agent skills 目录>

常见路径示例(以官方安装文档为准):

  • Cursor:~/.cursor/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/
  • Claude Code:~/.claude/skills/

也可将下面提示词发给 AI,由其按安装文档完成安装:

请根据 https://skillhub.cn/install/skillhub.md,安装 `@tencent-adm/tencentcloud-tts`。

配置 API 密钥

在运行合成脚本或示例前,设置环境变量:

export TENCENTCLOUD_SECRET_ID="your-secret-id"
export TENCENTCLOUD_SECRET_KEY="your-secret-key"

技能参数与 synthesize 默认值如下(摘自 SKILL.md):

参数名 类型 必填 默认值 说明
text string 是 - 待合成文本
voice_type int 否 101001 语音类型(101001–101015)
codec string 否 mp3 音频编码(mp3 / wav)
output_file string 否 output.mp3 输出文件名

典型用法

在 Python 中调用(与仓库示例一致)

进入技能包目录后,可将 scripts 加入路径并调用。官方 examples/basic_usage.py 的写法如下:

import os
import sys

sys.path.append(os.path.join(os.path.dirname(__file__), "..", "scripts"))

from tencent_tts import TextToSpeech

tts = TextToSpeech()
result = tts.synthesize(
    text="Welcome to Tencent Cloud Text-to-Speech service. This is a basic usage example.",
    voice_type=101001,
    codec="mp3",
    output_file="basic_example.mp3",
)

if result["success"]:
    print(result["output_file"], result["file_size"])
else:
    print(result["error"])

运行前需已导出 TENCENTCLOUD_SECRET_ID 与 TENCENTCLOUD_SECRET_KEY。也可直接执行:

python examples/basic_usage.py

自定义音色与格式

SKILL.md 中的自定义参数示例:

from tencent_tts import TextToSpeech

tts = TextToSpeech()
result = tts.synthesize(
    text="这是一个自定义语音合成的示例",
    voice_type=101002,
    codec="wav",
    output_file="custom_voice.wav",
)

构造函数支持可选传入 secret_id、secret_key;未传入时从环境变量读取。

Agent 侧如何使用

安装并配置密钥后,用户在对话中提出「把这段文案合成 MP3」「生成 WAV 播报」等需求时,Agent 读取技能目录下的 SKILL.md,按参数表调用 scripts/tencent_tts.py 中的 TextToSpeech.synthesize,将生成的文件路径返回给用户。

适用场景与注意

适合:

  • 需要在 IDE / CLI Agent 工作流里快速完成单次文本转语音,且已使用或计划使用腾讯云 TTS。
  • 希望统一由 Skill 描述触发词、环境变量和脚本入口,减少重复查 API 文档。

注意:

  • 必须开通腾讯云 TTS 并正确配置密钥;认证失败时先核对密钥与服务是否开通。
  • 技能标注 requires_api_key=true,请勿将密钥提交到仓库或写在 Skill 对话明文里。
  • 单次文本长度与 QPS 以腾讯云产品限制为准;技能文档建议控制单次文本长度并避免高频调用。
  • 更复杂的流式合成、长文本分片、批量任务等超出本包「基础单次合成」定位时,需直接查阅腾讯云语音合成文档自行扩展。

SkillHub 上该技能为企业源发布;截至页面与 API 元数据,版本为 1.0.0,下载与安装数据可在 SkillHub 技能页查看(与站内统计会随时间更新)。

结尾

TencentCloud TTS 把腾讯云语音合成封装成 Agent Skill:装好 @tencent-adm/tencentcloud-tts、配置 TENCENTCLOUD_SECRET_ID / TENCENTCLOUD_SECRET_KEY,即可用 TextToSpeech.synthesize 或官方示例生成 MP3/WAV。详情与安装入口见 SkillHub:https://www.skillhub.cn/skills/tencent-adm/tencentcloud-tts ,API 索引页:https://api.skillhub.cn/tencent-adm/tencentcloud-tts 。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye