doubao-tts

Generate Mandarin narration audio with word-level timestamps using Volcengine Doubao Speech 2.0.

Updated Sep 1, 2026
One-click install
npx skills add https://github.com/zamansepeti43/c-rak-agent --skill doubao-tts-zamansepeti43
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: doubao-tts
Source: https://github.com/zamansepeti43/c-rak-agent/tree/main/video-engine/.agents/skills/doubao-tts
Command: npx skills add https://github.com/zamansepeti43/c-rak-agent --skill doubao-tts-zamansepeti43

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Producing natural-sounding Mandarin voiceovers with accurate subtitle timing is difficult when TTS APIs have confusing authentication schemes and no built-in timing metadata. This Skill standardizes calls to the Volcengine Doubao Speech 2.0 API, handles the correct new-console API key authentication, and returns character-level timestamps needed for subtitle generation. ## Core Features & Use Cases - Mandarin and Multilingual Narration: Generate voiceovers via the async submit/query endpoints of Doubao Speech 2.0, with configurable voice, speech rate, and sample rate. - Word-Level Timestamp Metadata: Retrieve sentences[].words[] timing data from the query response to build accurate subtitles grouped by Chinese semantic phrases. - Safe Approval Workflow: Generate a short sample for user approval of voice, accent, and speed before committing to a full paid narration. - Use Case: You are producing a Chinese explainer video. Use this Skill to generate the narration MP3, keep the query JSON as the timing source of truth, and build captions aligned to the actual spoken words. ## Quick Start Set DOUBAO_SPEECH_API_KEY in your .env file, then ask the agent to generate a short Mandarin narration sample with Doubao TTS and save it to your project's audio assets folder.

Frequently Asked Questions about doubao-tts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate Chinese voiceover audio with Doubao TTS?

Set DOUBAO_SPEECH_API_KEY in your .env file, then call the async submit endpoint at openspeech.bytedance.com with your text, voice_id, and output path. Poll the query endpoint to retrieve the audio URL and timing metadata.

How do I get word-level timestamps from Doubao Speech 2.0 for subtitles?

Set enable_timestamp to true when submitting the TTS request. The query response includes sentences[].words[] timing data, which you should group by Chinese semantic phrases rather than fixed character counts to build accurate captions.

Why does Doubao TTS return load grant: requested grant not found?

This error means the API key type or authentication header is wrong. New-console API keys must use the X-Api-Key header with X-Api-Resource-Id set to seed-tts-2.0, not the older X-Api-App-Id and X-Api-Access-Key headers.

What speech rate should I use for Mandarin narration?

Start with speech_rate 0, which is normal speed, for calm Mandarin explainers. A value of 100 doubles speed and -50 halves it. Generate a short comparison sample at 25 or 50 before regenerating a full narration.

Why does Doubao TTS reject the explicit_language parameter?

Some endpoint and key combinations reject additions.explicit_language with an unsupported language error for zh-cn. Do not pass this parameter by default; the voice selection already determines the spoken language.