doubao-tts

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

Updated Jul 16, 2026
One-click install
npx skills add https://github.com/X-manist/Cohmira --skill doubao-tts-x-manist
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: doubao-tts
Source: https://github.com/X-manist/Cohmira/tree/main/src/builtin-plugins/openmontage/.agents/skills/doubao-tts
Command: npx skills add https://github.com/X-manist/Cohmira --skill doubao-tts-x-manist

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Producing natural-sounding Chinese voiceovers for videos requires a TTS provider that handles Mandarin well and returns precise timing data for subtitles. This Skill connects to the Volcengine Doubao Speech 2.0 API to generate narration audio along with character-level timestamp metadata, avoiding manual subtitle alignment. ## Core Features & Use Cases - Mandarin and multilingual narration: Generate speech via the Doubao async TTS endpoints (/api/v3/tts/submit and /api/v3/tts/query) with configurable voice, speech rate, and sample rate. - Timestamp metadata for subtitles: Returns sentences[].words[] timing data saved as a JSON sidecar file, which serves as the source of truth for building captions. - Sample-first workflow: Generate a 10-15 second sample for voice approval before committing to a full paid narration. - Use Case: You are producing a Chinese explainer video in OpenMontage. Use this Skill to generate the narration MP3 with zh_female_vv_uranus_bigtts, then build subtitles grouped by Chinese semantic phrases from the returned word timestamps. ## Quick Start Ask the AI to generate a short Mandarin narration sample with the Doubao TTS provider using voice zh_female_vv_uranus_bigtts and timestamps enabled, saving the audio to your project's assets/audio 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 TTS narration with Doubao Speech 2.0?

Call the async endpoints POST /api/v3/tts/submit and /api/v3/tts/query at openspeech.bytedance.com with your text, voice_id, and enable_timestamp set to true. Authenticate with the X-Api-Key header using a new-console API key and resource id seed-tts-2.0.

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

Set enable_timestamp to true when submitting the TTS request. The query response includes sentences[].words[] timing data, which is saved as a JSON metadata file alongside the audio and used as the source of truth for building 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; do not combine them with X-Api-App-Id and X-Api-Access-Key headers.

What does 'speaker permission denied' mean in Doubao TTS?

This error indicates the requested voice_id is incorrect or not authorized for the selected resource id. Verify the speaker value matches a voice available under seed-tts-2.0, such as zh_female_vv_uranus_bigtts.

How do I control speech speed in Doubao TTS?

Use the speech_rate parameter where 0 is normal speed, 100 is 2x, and -50 is 0.5x. For calm Mandarin explainers, start at 0 and test a short comparison sample at 25 or 50 before regenerating the full narration.

Should I split Chinese subtitles by fixed character count?

No. Group captions by Chinese semantic phrases before applying timestamps from the words[] metadata. Splitting by fixed character count can break phrases mid-meaning and hurt comprehension.