Install any skill in seconds. Free to start, no credit card required.
Get Started Free →video-production-buddy/doubao-tts
Generate Mandarin and multilingual narration with Volcengine Doubao Speech 2.0.
Passed 19 of 22 test cases with the skill, and 8 of 22 without it.
and 17 more in the full report
12 fixed7 passed either way2 still failing1 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 12 test cases the skill fixed. Same model, same prompt, with and without the skill.
Which environment variable configures the default voice speaker model for Doubao speech generation when no voice parameter is explicitly passed in code?
| Checked | Without skill | With skill |
|---|---|---|
| The response names DOUBAO_SPEECH_VOICE_TYPE as the environment variable. | Missed | Passed |
The instructions your model reads when the skill loads.
Requires DOUBAO_SPEECH_API_KEY in .env.
Set DOUBAO_SPEECH_VOICE_TYPE for the default voice, or pass voice_id to the tool.
Use the new-console API key flow:
X-Api-Key: ${DOUBAO_SPEECH_API_KEY}
X-Api-Resource-Id: seed-tts-2.0
Do not use X-Api-App-Id and X-Api-Access-Key with a new-console API Key. If the API returns load grant: requested grant not found, the key type or auth header is probably wrong.
For long-form video narration, prefer the async endpoint:
POST https://openspeech.bytedance.com/api/v3/tts/submit
POST https://openspeech.bytedance.com/api/v3/tts/query
This returns audio_url plus sentences[].words[] timing metadata that can be used to build subtitles.
Generate with the TTS selector:
from tools.audio.tts_selector import TTSSelector
result = TTSSelector().execute({
"preferred_provider": "doubao",
"text": "如果 AI 真的会改变未来,普通人到底该怎么参与?",
"voice_id": "zh_female_vv_uranus_bigtts",
"output_path": "projects/my-video/assets/audio/narration.mp3",
"speech_rate": 0,
"enable_timestamp": True,
})
test cases passed, vs 8 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.