{"skill":{"slug":"day253-volcengine-ai-audio-tts","displayName":"Volcengine TTS Audio Synthesis","summary":"Text-to-speech generation on Volcengine (ByteDance) speech services. Use when users need narration, multi-language speech output, voice selection, or TTS tro...","description":"---\nname: volcengine-ai-audio-tts\ndescription: Text-to-speech generation on Volcengine (ByteDance) speech services. Use when users need narration, multi-language speech output, voice selection, or TTS troubleshooting. Supports online one-shot HTTP API (openspeech.bytedance.com).\n---\n\nCategory: provider\n\n# Volcengine 语音合成 TTS\n\n## Validation\n\n```bash\nmkdir -p output/volcengine-ai-audio-tts\npython -m py_compile skills/ai/audio/volcengine-ai-audio-tts/scripts/generate_tts.py && echo \"py_compile_ok\" > output/volcengine-ai-audio-tts/validate.txt\n```\n\nPass criteria: command exits 0 and `output/volcengine-ai-audio-tts/validate.txt` is generated.\n\n## Output And Evidence\n\n- Save generated audio files, request payloads, and response metadata to `output/volcengine-ai-audio-tts/`.\n- Keep one validation log per execution.\n\n## Prerequisites\n\n- Python 3.8+. No extra SDK required (uses `requests` and stdlib).\n- Install: `pip install requests`\n- Set environment variables (from Volcengine 豆包语音控制台):\n  - `VOLCENGINE_TTS_APP_ID` — 应用 ID\n  - `VOLCENGINE_TTS_TOKEN` — 应用 Token（用于 Authorization: Bearer;${token}）\n  - `VOLCENGINE_TTS_CLUSTER` — 业务集群，如 `volcano_tts`（标准音色）\n\nOptional: use `.env` in repo root or script directory; script will load them.\n\n## Normalized interface (tts.generate)\n\n### Request\n- `text` (string, required) — 合成文本，UTF-8，单次建议 ≤1024 字节\n- `voice_type` (string, required) — 音色，见 [发音人参数列表](https://www.volcengine.com/docs/6561/79824)，如 `BV700_streaming`\n- `encoding` (string, optional) — 编码格式：`pcm` | `wav` | `mp3` | `ogg_opus`，默认 `mp3`\n- `rate` (int, optional) — 采样率 8000/16000/24000，默认 24000\n- `speed_ratio` (float, optional) — 语速 [0.2, 3]，默认 1.0\n- `volume_ratio` (float, optional) — 音量 [0.1, 3]，默认 1.0\n- `pitch_ratio` (float, optional) — 音高 [0.1, 3]，默认 1.0\n- `language` (string, optional) — 语言，如 `cn`\n\n### Response\n- `audio_path` (string) — 本地保存的音频文件路径\n- `sample_rate` (int)\n- `format` (string)\n- `duration_ms` (string, when returned by API)\n- `code` (int) — 3000 表示成功\n\n## Quick start (Python script)\n\n```bash\n# 使用内联 JSON 请求\npython skills/ai/audio/volcengine-ai-audio-tts/scripts/generate_tts.py \\\n  --request '{\"text\":\"你好，这是一段测试语音。\",\"voice_type\":\"BV700_streaming\"}' \\\n  --output output/volcengine-ai-audio-tts/audio/out.mp3\n\n# 使用请求文件\npython skills/ai/audio/volcengine-ai-audio-tts/scripts/generate_tts.py \\\n  --file request.json \\\n  --output output/volcengine-ai-audio-tts/audio/out.wav \\\n  --print-response\n```\n\n## Operational guidance\n\n- 每次请求的 `reqid` 需唯一，脚本内使用 UUID。\n- 长文本请分段多次调用或使用异步长文本接口。\n- 音色与 `cluster` 需与控制台一致；复刻音色使用 speaker id 作为 `voice_type`。\n- 遇 429 请降低并发或增加间隔。\n\n## Output location\n\n- Default output: `output/volcengine-ai-audio-tts/audio/`\n- Override base dir with `OUTPUT_DIR`.\n\n## Workflow\n\n1) Confirm user intent, text, voice, and output format.\n2) Run one minimal request to verify credentials and cluster/voice_type.\n3) Execute the target synthesis with explicit parameters.\n4) Verify results and save output/evidence files.\n\n## References\n\n- `references/api_reference.md` — 请求/响应参数与错误码\n- [在线语音合成 API - HTTP 一次性合成](https://www.volcengine.com/docs/6561/79820)\n- [参数基本说明](https://www.volcengine.com/docs/6561/79823)\n- [发音人参数列表](https://www.volcengine.com/docs/6561/79824)\n- Source list: `references/sources.md`\n","topics":["Audio","Text-to-Speech"],"tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":675,"installsAllTime":25,"installsCurrent":0,"stars":1,"versions":1},"createdAt":1772975320619,"updatedAt":1778491777153},"latestVersion":{"version":"1.0.0","createdAt":1772975320619,"changelog":"Initial release: Volcengine TTS HTTP API with generate_tts.py script","license":null},"metadata":null,"owner":{"handle":"day253","userId":"s170z6k70w1gyh8xnp8k8t3g1583jz84","displayName":"day253","image":"https://avatars.githubusercontent.com/u/9634619?v=4"},"moderation":null}