doubao-tts

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

1|Updated Aug 28, 2026
One-click install
npx skills add https://github.com/mooch10/mochiptos --skill doubao-tts-mooch10
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: doubao-tts
Source: https://github.com/mooch10/mochiptos/tree/main/frontend/.agents/doubao-tts
Command: npx skills add https://github.com/mooch10/mochiptos --skill doubao-tts-mooch10

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Producing natural-sounding Mandarin voiceovers with accurate subtitle timing usually requires manual recording and caption alignment. This Skill generates speech audio via the Volcengine Doubao Speech 2.0 API and returns character-level timestamp metadata for building subtitles directly. ## Core Features & Use Cases - Mandarin and Multilingual TTS: Calls the Doubao Speech 2.0 async submit/query endpoints to produce narration audio with configurable voice, speech rate, and sample rate. - Timestamp Metadata for Subtitles: Returns sentences[].words[] timing data saved as JSON, enabling precise caption generation without estimating text length. - Sample-First Workflow: Guides generating a short approval sample before committing to a full paid narration, with troubleshooting for auth, quota, and voice permission errors. - Use Case: You are producing a Chinese explainer video. Generate a 10-second sample voiceover for approval, then render the full narration and build subtitles from the returned word-level timestamps. ## Quick Start Ask the AI to generate a Mandarin narration of your script using the Doubao TTS provider with timestamps enabled and save the audio to your project's 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 text-to-speech audio with Doubao?▼

Set DOUBAO_SPEECH_API_KEY in your .env file, then call the Doubao TTS provider with your text, a voice_id such as zh_female_vv_uranus_bigtts, and an output path. The async submit/query endpoints return the audio file plus timing metadata.

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

Enable the enable_timestamp parameter when calling the Doubao Speech 2.0 API. The query response contains sentences[].words[] timing data, saved as a JSON file next to the audio, which you use to build captions instead of estimating by character count.

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

This error means the wrong key type or auth header is being used. New-console API keys require 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. A value of 100 doubles speed and -50 halves it. If the narration is too long, generate a short comparison sample at 25 or 50 before regenerating the full audio.

Why is the Doubao TTS speaker permission denied error happening?▼

The speaker permission denied error occurs when the voice_id is incorrect or not authorized for the selected resource. Verify the voice type matches a Doubao Speech 2.0 voice and that your API key has access to the seed-tts-2.0 resource.