# Speech

> Use when the user wants text-to-speech narration, voiceover, accessibility reads, or batch speech generation via the OpenAI Audio API; prefer the bundled `scripts/text_to_speech.py` and require `OPENAI_API_KEY` for live calls.

- Skill: `hebertzhu/speech` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add hebertzhu/speech`
- Raw SKILL.md: https://api.skillmd.com/api/skills/hebertzhu/speech/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: hebertzhu (https://skillmd.com/u/hebertzhu)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/hebertzhu/speech

---


# Speech

## Intent
- Use for text-to-speech generation, narration, voiceover, accessibility reads, and batch spoken-audio creation.

## Default operating pattern
1. Clarify whether the user wants a single clip or a batch, and capture the exact text before touching any voice settings.
2. Gather the delivery constraints that materially affect output quality: voice, tone, pacing, pronunciation notes, and output format.
3. Prefer the bundled `scripts/text_to_speech.py` so the run is reproducible and easy to adjust.
4. Keep the spoken content faithful to the source text; tune only delivery unless the user asks to rewrite.
5. Validate intelligibility and pronunciation, then iterate with a single targeted change if needed.

## Bundled helper
- `scripts/text_to_speech.py` provides deterministic OpenAI Audio API speech generation.

## Pack fit
- Included in: `docs-media`
- Useful for media, docs, demos, accessibility, and narration workflows.

## Boundary
- Do not request the raw API key in chat.
- Do not claim the output is human narration; keep the AI-generated nature explicit when that matters to the task.

