agents365-ai/365-skills28 files

Ttscn

Multi-platform Chinese & multilingual TTS text-to-speech via Edge/Doubao/CosyVoice/Qwen3/StepFun/GLM-TTS/Azure/Tencent/Baidu/MiniMax/Xunfei plus ElevenLabs/OpenAI/Google/Atlas Cloud — 15 backends, word-level timestamps, [PAUSE:x] pause markers, pinyin pronunciation overrides

Specification
Skill ID
agents365-ai/365-skills/ttscn
Publisher
agents365-ai
Repository
365-skills
Installs
0
Files
28
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

agents365-ai/365-skills/ttscnInstalls these files
  • SKILL.md
  • data/providers.json
  • docs/providers.html
  • docs/providers.md
  • scripts/backends/__init__.py
  • scripts/backends/atlas.py
  • scripts/backends/azure.py
  • scripts/backends/baidu.py
  • scripts/backends/cosyvoice.py
  • scripts/backends/doubao.py
  • scripts/backends/edge.py
  • scripts/backends/elevenlabs.py
  • scripts/backends/google.py
  • scripts/backends/minimax.py
  • scripts/backends/openai.py
  • scripts/backends/qwen.py
  • scripts/backends/stepfun.py
  • scripts/backends/tencent.py
  • scripts/backends/xunfei.py
  • scripts/backends/zhipu.py
  • scripts/build_docs.py
  • scripts/clone.py
  • scripts/idempotency.py
  • scripts/markers.py
  • scripts/output.py
  • scripts/phonemes.py
  • scripts/tts.py
  • tests/test_atlas_backend.py

What this skill tells the agent

ttscn — Multi-Platform Chinese TTS Skill

Overview

Generate natural speech audio from text. 15 backends — 11 China-friendly clouds plus 4 international or unified APIs (ElevenLabs / OpenAI / Google / Atlas Cloud).

#BackendCostKey strength
1Edge TTS (default)FreeNo API key, works everywhere
2Doubao (ByteDance)~1 RMB/10KBest Chinese naturalness (9/10)
3CosyVoice (Alibaba)~0.2 RMB/1KFast streaming, flexible
4Qwen3-TTS (Alibaba)~1 RMB/10K10 languages, instruction control
5StepFun (阶跃星辰)Low costOpenAI-compatible, ~10s cloning
6GLM-TTS (Zhipu)Low costEmotion control, simple REST
7Azure (Microsoft)~1 USD/M charsEnterprise SSML, eastasia
8Tencent Cloud0.75 RMB/10KLowest cost, 380+ voices
9Baidu AIFlexible30+ voices, emotion + dialects
10MiniMax~$0.10/1KBest quality, 300+ voices, cloning
11iFlytek Xunfei~2 RMB/10KMOS 4.8, 500+ voices, pro grade
12ElevenLabsPaid tiers (from $5/mo)Top voice quality, instant cloning
13OpenAI TTS~$15-30/M chars6 voices, multilingual, simple REST
14Google Cloud TTS~$16/M chars (free tier)220+ voices, 40+ languages
15Atlas Cloud TTSPer-model pricingUnified async API, multilingual voices

New in 1.4–1.6: word-level timestamps (edge/azure/doubao/minimax/cosyvoice — best-effort, degrades to no boundaries), [PAUSE:x] + sound-tag markers (all platforms), --phonemes pronunciation overrides (azure/minimax). New in 1.7: --json flag (JSON envelope independent of --format), idempotency hits report cached: true and re-synthesize if the cached audio was deleted, --input f out.wav positional fixed, chunker never splits inside [PAUSE:x]. New in 1.8: MiniMax defaults to speech-2.8-hd (sound tags voiced out of the box), CosyVoice v3.5-flash supported (custom/cloned voices only — presets need cosyvoice-v3-flash). New in 1.9: Qwen3-TTS (DashScope, reuses DASHSCOPE_API_KEY), StepFun (reuses STEP_API_KEY), GLM-TTS (reuses ZHIPUAI_API_KEY) and Atlas Cloud TTS (asynchronous generation, bounded polling, credential-free media download, multilingual voice presets) backends — 15 backends total.

Cross-platform: Windows, macOS, Linux

All paths in this document are relative to this skill's root directory (the directory containing this SKILL.md) — resolve them against it.

When to Use This Skill

Automatically activate this skill when:

  • User wants to convert Chinese text to speech audio
  • Generating voice narration or voiceover for videos
  • Creating audiobook or podcast audio from text
  • User asks to compare TTS providers, choose a TTS backend, or see what voices are available
  • User asks about TTS pricing, features, or which provider supports cloning/SSML/dialects
  • User mentions any of: TTS, text-to-speech, 语音合成, 文字转语音, Edge TTS, Doubao TTS, CosyVoice, 火山引擎, 阿里云语音, Azure TTS, 腾讯云TTS, 百度语音, MiniMax, 讯飞语音, ElevenLabs, OpenAI TTS, Google Cloud TTS, Atlas Cloud TTS
  • User needs word-level timestamps/subtitles, pause control, or fixing mispronounced Chinese characters (多音字)
  • Any task where Chinese text-to-speech would be helpful

Provider Comparison Page

When the user wants to browse, compare, or choose a TTS provider, ALWAYS open the local HTML comparison page in their browser FIRST — it's a visual, filterable table that is much faster to scan than reading text output.

# Cross-platform (path relative to this skill's directory)
python3 -m webbrowser docs/providers.html

# …or the platform-native opener: open (macOS) / xdg-open (Linux) / start (Windows)

The comparison page includes:

  • Filterable table — filter by free, SSML, voice cloning, streaming, dialects, multilingual
  • Per-provider detail panels — cost, max chars/duration, clone method, emotion, languages
  • Voice cards — recommended voices with style descriptions and best-use labels
  • API key links — direct links to each provider's console for key acquisition

This page is auto-generated from data/providers.json (the single source of truth for all provider/voice data). Run python3 scripts/build_docs.py to regenerate it after editing the JSON. The same data is queryable on the CLI via python3 scripts/tts.py schema backends|voices (see Schema Introspection).

After opening the page, ask the user which backend and voice they'd like to use, then proceed to Step 2.

Workflow

Step 0 — Show the comparison page (when comparing/choosing)

If the user is browsing, comparing providers, or unsure which backend to use, open docs/providers.html as shown above. Let them explore, then ask which backend + voice they want.

Step 1 — Understand the request

Clarify what the user needs:

  • Text: inline text or a file? Short or long-form?
  • Voice style: male/female, young/mature, warm/energetic? (see voice guide below)
  • Speed: normal, faster (+10-20%), slower (-10-20%)?
  • Format: WAV (lossless) or MP3 (compressed)?

Step 2 — Pick a backend & voice

Choose based on the use case (see Backend Selection Guide). Default to Edge TTS with zh-CN-XiaoxiaoNeural (female, warm, standard) if unsure. Mention your choice.

Step 3 — Synthesize

Run scripts/tts.py with the text and chosen options.

Step 4 — Report

Confirm: output path, file size, audio duration.

Backend Selection Guide

Quick Pick

Use caseBackendVoiceWhy
Default / generaledgezh-CN-XiaoxiaoNeuralFree, no setup
Short video / DouyindoubaoBV001_streamingNative short-video style
Audiobook / long-formcosyvoicelongxiaochun_v3Fast synthesis, natural
Enterprise / SSMLazurezh-CN-XiaoxiaoNeuralRich prosody control
Bulk / lowest costtencent1010010.75 RMB/10K chars
Emotion / dialectsbaidu3 or 4Emotion synthesis, Cantonese
Best quality / cloningminimaxfemale-shaonvspeech-2.8-hd, voice design
Education / proxunfeixiaoyanMOS 4.8, 500+ voices
Male narrationedgezh-CN-YunxiNeuralEnergetic male voice
Documentaryazurezh-CN-YunyangNeuralDeep, professional male
Children's contentedgezh-CN-XiaomengNeuralBright, youthful female
Cost-sensitiveedgezh-CN-XiaoxiaoNeuralCompletely free
English, top qualityelevenlabs21m00Tcm4TlvDq8ikWAM (Rachel)Best-in-class English voices
English, simple/cheapopenaialloytts-1-hd, one env var
English, enterprisegoogleen-US-Neural2-F220+ voices, free tier
Multilingual / instructqwenCherry10 languages, natural-language style control, reuses your DASHSCOPE key
Marketing / faststepfuncixingnanshengOpenAI-compatible, reuses your STEP key
Simple / emotionzhiputongtongMinimal REST, reuses your ZHIPUAI key

Full capability & voice data

The complete capability matrix (cost, max chars/duration per chunk, SSML, cloning method + cost, emotion, dialects, languages, streaming, setup difficulty) and the per-backend voice lists live in one place: data/providers.json. View them via:

  • The comparison page (docs/providers.html) — best for humans
  • python3 scripts/tts.py schema backends --full — full capability fields per backend
  • python3 scripts/tts.py schema voices — every voice preset with style descriptions
  • python3 scripts/tts.py --list — human-readable terminal summary

Do not maintain copies of these tables elsewhere — regenerate from the JSON.

Voice Cloning (clone command)

Create a custom voice from reference audio, store it under a name, then use

Use this skill in a project

Open any RiverX project, search the Skills panel for agents365-ai/365-skills/ttscn, and install it in one click.

Use this skill