Back to Skills

transcribe

Transcribe audio files to text with optional diarization and known-speaker hints. Use when a user asks to transcribe speech from audio/video, extract text from recordings, or label speakers in interviews or meetings.

22,706stars1,544forksUpdated 6/22/2026

Security Assessment

Safe(100/100)
Security Score100/100

About transcribe

The transcribe skill converts audio files to text using OpenAI's transcription models. It solves the problem of manually transcribing speech from recordings by automating the process through a bundled CLI script (`transcribe_diarize.py`). The skill handles everything from simple text extraction to complex multi-speaker scenarios, and is designed to be deterministic and repeatable through its CLI-first approach.

The skill offers two primary modes: fast plain-text transcription using `gpt-4o-mini-transcribe` for quick results, and speaker-diarized transcription using `gpt-4o-transcribe-diarize` which labels who said what in a conversation. It supports known-speaker hints — up to 4 reference audio samples — so it can identify specific people by name rather than generic labels. Long audio is handled automatically via chunking, and outputs can be organized into job-specific directories to avoid overwriting previous results. Supported output formats include plain text and structured JSON.

This skill is well-suited for journalists transcribing interviews, teams documenting meeting recordings, researchers processing oral history audio, and developers building transcription pipelines. Anyone working with audio or video content who needs accurate, labeled text output will benefit from this skill. It requires an OpenAI API key and Python with the `openai` package installed, making it accessible to users with basic technical familiarity.

FAQ

Do I need an OpenAI API key to use this skill?

Yes. You must set the `OPENAI_API_KEY` environment variable before making any API calls. If it is missing, create an API key in the OpenAI platform UI and export it in your shell. Never paste your full key into chat.

How do I enable speaker diarization?

Pass `--model gpt-4o-transcribe-diarize` and `--response-format diarized_json` to the CLI. You can optionally provide known-speaker reference audio files using `--known-speaker "Name=path/to/ref.wav"` (up to 4 speakers).

What is the default behavior when no options are specified?

The skill defaults to fast plain-text transcription using `gpt-4o-mini-transcribe` with `--response-format text` and `--chunking-strategy auto` for audio longer than ~30 seconds.

Can I use custom prompts with the diarization model?

No. Prompting is not supported for `gpt-4o-transcribe-diarize`. Prompts are only available with the standard transcription model.

How do I install the required dependencies?

Use `uv pip install openai` if `uv` is available, otherwise fall back to `python3 -m pip install openai`. The skill itself installs under `$CODEX_HOME/skills` (default: `~/.codex/skills`).

All Files

6 files
assets/transcribe-small.svg0.7 KB
View
LICENSE.txt10.5 KB
View
scripts/transcribe_diarize.py8.5 KB
View
SKILL.md2.8 KB
View
agents/openai.yaml0.4 KB
View
references/api.md0.4 KB
View

Install transcribe

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

openai/skills