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 。

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

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

小夜