stepfun-tts
An agent skill by daymade, from daymade/claude-code-skills. Tags: api, audio, generative, ml, stepfun.
What it does
Generate Chinese / Japanese speech with StepFun's Contextual TTS — default `stepaudio-2.5-tts` (blind-judged better on neutral/emotive preset voices), `stepaudio-3-tts` for whisper & inline-prosody cases (where it won the same blind test). Replaces step-tts-2's `voice_label` with natural-language `instruction` (200 chars on 2.5, 500 on v3) plus inline `()` parentheses for句内 prosody. Use when the user wants emotional / prosody control over voice synthesis (whisper, pause, stress, mood pivot mid-sentence), batch-generates game / app voice lines, migrates from `step-tts-2` or `stepaudio-2.5-tts` (the `voice_label → instruction` breaking change), or needs cloned voices (复刻音色:克隆合成禁用 v3——克隆丢失,走 stepaudio-2.5-tts/step-tts-2). Triggers on 阶跃 TTS, StepAudio 合成, stepaudio-3-tts, stepaudio-2.5-tts, 语音合成, 配音, 文本转语音, TTS 升级, 迁移 step-tts-2. For transcription with the sibling stepaudio-3-asr-max model, use the stepfun-asr skill instead.
Install
With the skills CLI, which installs into Claude Code, Codex, Cursor and other agents:
npx skills add daymade/claude-code-skills --skill stepfun-tts
Or copy the skill folder into Claude Code's skills directory by hand (~/.claude/skills for every project, or .claude/skills inside one):
git clone --depth 1 https://github.com/daymade/claude-code-skills
cp -r claude-code-skills/daymade-audio/stepfun-tts ~/.claude/skills/stepfun-tts
Safety box score
Grade C, moderate risk: 28 of 100 risk points, rated 2026-10-19. The grade rates what the skill and its scripts can reach on the machine of whoever installs it, across eight categories from shell execution to secrets access. How the score works.
This skill generates TTS audio by calling StepFun’s API, so it necessarily sends your text plus an API bearer token off-machine and writes MP3s locally. The main risks are third-party data exposure, plain-text key storage, and a migration workflow that can write files outside the repo and recommends a recursive delete for rollback.
| Category | Level | Why |
|---|---|---|
| Code & shell execution | 1 (low) | Ships runnable helpers (`scripts/tts_generate.py`, `scripts/ab_compare.sh`) that execute locally and invoke standard tools like Python, Bash, and `ffprobe`, but they do not eval downloaded code or run arbitrary commands. |
| Network access | 2 (moderate) | Core function is an API call to `https://api.stepfun.com/v1/audio/speech`, sending the utterance, voice/instruction fields, and `Authorization: Bearer <STEPFUN_API_KEY>` over the network. |
| Filesystem reach | 2 (moderate) | The generator writes audio to caller-chosen `--out`/`--out-dir` paths and the docs tell users to create `${CLAUDE_PLUGIN_DATA}/config.json`; the migration guide also suggests `rm -rf zh_v25/` for rollback. |
| Secrets & credentials | 2 (moderate) | It reads and persists the StepFun API key from `$STEPFUN_API_KEY` or a plain JSON file (`${CLAUDE_PLUGIN_DATA}/config.json`), and the docs explicitly ask the user to paste the key. |
| Privilege & persistence | 0 (none) | No sudo, service install, shell startup edits, or other privilege-changing actions are shipped. |
| Instruction hijack surface | 0 (none) | The files contain usage guidance and model-specific cautions, but nothing that tells the agent to ignore its rules, hide actions, or follow remote instructions. |
| Irreversible actions | 0 (none) | It synthesizes audio files only; it does not post, deploy, pay, book, or delete external resources automatically. |
| Transparency | 0 (none) | All shipped files are plain-text markdown, Python, and shell; there are no binaries, opaque blobs, or unpinned installers. |
Before installing
- Read `scripts/tts_generate.py` and confirm where `--out`/`--out-dir` will write files.
- Decide whether storing the StepFun key in `${CLAUDE_PLUGIN_DATA}/config.json` is acceptable for your machine/account.
- Check that `ffprobe` is already installed before using `scripts/ab_compare.sh`.
- Review the migration guide’s `rm -rf zh_v25/` rollback step before using it on any real corpus.
Rated 2026-10-19 by an automated review of 6 files from the skill's repository.
Source
- Repository
- daymade/claude-code-skills (all skills from this repository)
- Path
- daymade-audio/stepfun-tts/SKILL.md
- Branch
- main
- Updated
- 2026-09-20
Related skills
- stepfun-asr — Transcribe audio with StepFun's stepaudio-3-asr-max — an SSE endpoint (NOT /v1/audio/transcriptions).
- amazon-bedrock — Builds generative AI applications on Amazon Bedrock.
- fine-tuning-expert — Use when fine-tuning LLMs, training custom models, or adapting foundation models for specific tasks.
- add-read-aloud — Use when the user runs /add-read-aloud or wants the app to speak text with Grok text-to-speech: read-aloud button on assistant replies, auto-speak, TTS.
- add-voice — Use when the user runs /add-voice, types Voice Mode, or asks to add Grok realtime voice to an app.
- asr-transcribe-to-text — Transcribe audio/video to speaker-labeled text — who-said-what by default, plain-text opt-out; MLX-local on Apple Silicon or remote; local files, media URLs.