doubao-tts
Doubao TTS Skill(V3)
使用火山引擎豆包语音合成 V3 HTTP SSE 单向流式接口将文本转为音频文件。
获取 AppID 和 Token
- 登录 火山引擎控制台
- 进入 豆包语音 → 语音合成大模型 → 应用管理
- 创建应用(或使用已有应用),点击应用名称进入详情
- 在应用详情页底部可看到:
- APP ID → 对应
DOUBAO_TTS_APPID - Access Token → 对应
DOUBAO_TTS_TOKEN
- APP ID → 对应
若尚未开通服务,需先在 语音合成大模型 页面开通后才能创建应用。
环境变量
| 变量名 | 说明 |
|---|---|
DOUBAO_TTS_APPID |
控制台申请的 AppID(即 X-Api-App-Id) |
DOUBAO_TTS_TOKEN |
Access Token(即 X-Api-Access-Key) |
DOUBAO_TTS_RESOURCE_ID |
资源 ID,留空由服务端自动匹配,或指定 seed-tts-2.0 等 |
检查是否已配置:
[ -n "$DOUBAO_TTS_APPID" ] && echo "set" || echo "not set"
[ -n "$DOUBAO_TTS_TOKEN" ] && echo "set" || echo "not set"
未配置时告知用户设置: Set DOUBAO_TTS_APPID | Set DOUBAO_TTS_TOKEN | Set DOUBAO_TTS_RESOURCE_ID
使用方式
调用脚本:/var/minis/skills/doubao-tts/scripts/tts.py
# 基础用法
uv run --script --cache-dir /root/.cache/uv \
/var/minis/skills/doubao-tts/scripts/tts.py \
--text "你好,欢迎使用豆包语音合成" \
--output /var/minis/workspace/output.mp3
# 指定音色和语速
uv run --script --cache-dir /root/.cache/uv \
/var/minis/skills/doubao-tts/scripts/tts.py \
--text "今天天气真好" \
--speaker zh_female_cancan_uranus_bigtts \
--speech-rate 10 \
--output /var/minis/workspace/output.mp3
# 英文
uv run --script --cache-dir /root/.cache/uv \
/var/minis/skills/doubao-tts/scripts/tts.py \
--text "Hello! Nice to meet you." \
--speaker en_female_dacey_uranus_bigtts \
--output /var/minis/workspace/output.mp3
API 说明
- 接口:
https://openspeech.bytedance.com/api/v3/tts/unidirectional/sse(SSE 流式) - 鉴权:Header
X-Api-App-Id+X-Api-Access-Key(即 AppID + Token,非 API Key) - Resource ID:指定调用的模型版本(见下表)
| Resource ID | 说明 |
|---|---|
seed-tts-1.0 |
豆包语音合成模型 1.0 字符版(默认,兼容所有 BV*_streaming 音色) |
seed-tts-1.0-concurr |
豆包语音合成模型 1.0 并发版 |
seed-tts-2.0 |
豆包语音合成模型 2.0(仅支持 2.0 音色) |
参数说明
| 参数 | 说明 |
|---|---|
--text |
要合成的文本(必填) |
--output |
输出文件路径(必填) |
--speaker |
音色,默认 BV700_streaming(灿灿) |
--encoding |
格式:mp3/pcm/ogg_opus,默认 mp3 |
--speech-rate |
语速 [-50, 100],0 为默认,100 为 2 倍速 |
--loudness |
音量 [-50, 100],0 为默认 |
--sample-rate |
采样率,默认 24000 |
--emotion |
情感(如 happy/sad/angry/narrator 等) |
--emotion-scale |
情绪强度 [1, 5](配合 --emotion 使用) |
--resource-id |
Resource ID(覆盖环境变量) |
--json |
JSON 格式输出结果 |
常用音色速查
豆包语音合成模型 2.0(seed-tts-2.0,推荐)
| speaker | 名称 | 场景 |
|---|---|---|
zh_female_shuangkuaisisi_uranus_bigtts |
爽快思思 2.0 ⭐默认 | 通用 |
zh_female_cancan_uranus_bigtts |
知性灿灿 2.0 | 角色扮演 |
zh_female_tianmeixiaoyuan_uranus_bigtts |
甜美小源 2.0 | 通用 |
zh_female_vv_uranus_bigtts |
Vivi 2.0 | 通用,支持中/日/印尼/西语 |
zh_female_xiaohe_uranus_bigtts |
小何 2.0 | 通用 |
zh_male_m191_uranus_bigtts |
云舟 2.0 | 通用 |
zh_male_taocheng_uranus_bigtts |
小天 2.0 | 通用 |
zh_female_kefunvsheng_uranus_bigtts |
暖阳女声 2.0 | 客服 |
en_female_dacey_uranus_bigtts |
Dacey | 美式英语 |
en_male_tim_uranus_bigtts |
Tim | 美式英语 |
豆包语音合成模型 1.0(seed-tts-1.0,需改 --resource-id)
| speaker | 名称 | 场景 |
|---|---|---|
BV700_streaming |
灿灿 | 通用,支持22种情感 |
BV001_streaming |
通用女声 | 通用 |
BV002_streaming |
通用男声 | 通用 |
BV701_streaming |
擎苍 | 有声阅读 |
BV503_streaming |
活力女声-Ariana | 英语 |
⚠️ 1.0 和 2.0 音色不能混用,
seed-tts-2.0只支持*_uranus_bigtts结尾的音色
常见情感值
pleased(愉悦) / sorry(抱歉) / happy(开心) / sad(悲伤) / angry(愤怒) / scare(害怕) / surprise(惊讶) / hate(厌恶) / tear(哭腔) / narrator(旁白) / storytelling(讲故事)
完整工作流
- 检查环境变量是否配置(APPID + TOKEN)
- 调用
tts.py脚本生成音频文件到/var/minis/workspace/ - 以
minis://workspace/xxx.mp3链接形式返回给用户,可直接点击播放
More from openminis/minisskills
douyin-downloader
Download Douyin (抖音) videos from share links. Parse Douyin share text/links, download watermark-free videos, and transcribe audio to text using Volcano Engine ASR (Doubao Speech). Uses Python for iSH compatibility.
11web-search
>
7twitter-x-hub
>
7exa-search
Search the web, read webpages as markdown, and run filtered web retrieval with Exa MCP. Use this skill whenever the user asks for current web information, web research, domain/date/category-filtered search, company or people lookup via search filters, or extracting clean page content from one or more URLs.
6bilibili-hub
>
6twitter-downloader
Download text, images, GIFs, and videos from Twitter/X posts via fxtwitter API. Trigger when users share any twitter.com or x.com link, or ask to download or see media from a tweet (e.g., '下载推特视频', '把这条推文的图存下来', 'what's in this tweet').
5