All skills
openai avatar

/speech

@33a75a7 official
by openaiopenai/skills28k stars
1,891

Use when the user asks for text-to-speech narration or voiceover, accessibility reads, audio prompts, or batch speech generation via the OpenAI Audio API; run the bundled CLI (`scripts/text_to_speech.py`) with built-in voices and require `OPENAI_API_KEY` for live calls. Custom voice creation is out of scope.

Use this Skill: https://skilld.dev/gh/openai/skills/speech

This session only. Nothing lands on disk.

referencescodex-network.md

≈287 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Codex network approvals / sandbox notes

This guidance is intentionally isolated from SKILL.md because it can vary by environment and may become stale. Prefer the defaults in your environment when in doubt.

Why am I asked to approve every speech generation call?

Speech generation uses the OpenAI Audio API, so the CLI needs outbound network access. In many Codex setups, network access is disabled by default (especially under stricter sandbox modes), and/or the approval policy may require confirmation before networked commands run.

How do I reduce repeated approval prompts (network)?

If you trust the repo and want fewer prompts, enable network access for the relevant sandbox mode and relax the approval policy.

Example ~/.codex/config.toml pattern:

approval_policy = "never"
sandbox_mode = "workspace-write"

[sandbox_workspace_write]
network_access = true

Or for a single session:

codex --sandbox workspace-write --ask-for-approval never

Safety note

Use caution: enabling network and disabling approvals reduces friction but increases risk if you run untrusted code or work in an untrusted repository.

Source: SKILL.md on GitHub

1 warning16d5 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    This skill enables text-to-speech generation using the OpenAI Audio API through a bundled Python script. It supports both single and batch audio synthesis tasks, requiring an API key for execution. The skill is documented with clear usage instructions and security considerations regarding environment configuration.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer7mo

    9/14 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 33a75a7. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 months ago.

Activeupdated 8 months ago
  • API
  • text-to-speech
  • openai
  • audio
  • accessibility
  • voiceover
  • tts
  • batch-processing

README badge

README badge for openai/skills/speech

Generates spoken audio from text using the OpenAI Audio API, supporting single clips or batch jobs via a bundled Python CLI. Includes built-in voices (cedar, marin) and instruction templates for narration, demo voiceovers, IVR prompts, and accessibility reads; requires OPENAI_API_KEY and limits input to 4096 characters per request.

Generated from the current SKILL.md.

What models and voices does this skill support?
The skill defaults to gpt-4o-mini-tts-2025-12-15 and built-in OpenAI voices (cedar and marin are the defaults). Custom voice creation is out of scope. Other models can be used but instructions are only supported on GPT-4o mini TTS, not tts-1 or tts-1-hd.
Do I need an API key to use this skill?
Yes. You must set OPENAI_API_KEY as an environment variable before making any live API call. The skill will guide you through creating a key in the OpenAI platform UI if needed.
What are the input limits and rate limits?
Text input is capped at 4096 characters per request (longer text must be split into chunks). The skill enforces a 50 requests/minute rate limit.
Can I generate speech in batch?
Yes. For multiple lines or files, the skill supports batch mode by writing a temporary JSONL file, running it once, then cleaning up. Single clips use the single-clip workflow.
Where are output files saved?
Final outputs are written to output/speech/ by default. Intermediate batch files are created in tmp/speech/ and deleted after processing.

Generated from the current SKILL.md. These answers refresh after source changes.