New to Claude Skills? Learn how to install them →

openai on GitHub

Audio Transcribe

OfficialFree

Efficiently convert audio files to text with speaker labels.

by openai24.8k stars on openai/skills
Updated Jun 24, 2026
Get this skill

Free · Opens the source repo

What Audio Transcribe does

The Audio Transcribe skill allows users to convert audio recordings into text format, facilitating the extraction of spoken content from various media. It supports optional speaker diarization, which helps in identifying and labeling different speakers in conversations, making it particularly useful for interviews and meetings. The skill is designed to work seamlessly with OpenAI's transcription capabilities, ensuring high-quality results in a user-friendly manner.

To use the skill, users provide audio file paths along with their preferences for output format, language hints, and known speaker references. The bundled command-line interface (CLI) script, transcribe_diarize.py, is the primary tool for executing transcriptions. It operates with sensible defaults for fast text transcription but can be customized for more complex needs, such as diarization and speaker identification.

The skill is particularly suited for developers, researchers, and professionals who frequently work with audio data and need to convert it into text for documentation, analysis, or record-keeping. By automating the transcription process, it saves time and enhances productivity, allowing users to focus on interpreting the content rather than transcribing it manually.

The installation and setup process is straightforward, requiring the OpenAI API key for live API calls. Users can run the CLI with various options to cater to their specific transcription needs, ensuring flexibility and efficiency in handling audio files.

When to use it

Use this skill when you need to transcribe audio files, especially in scenarios involving multiple speakers, such as interviews or meetings.

When not to use it

This skill may not be suitable for real-time transcription needs or for audio files with poor quality or excessive background noise.

What you can build with it

Transcribing Interviews

Use the skill to convert recorded interviews into text, making it easier to analyze responses and extract key insights.

Meeting Notes

Transcribe meeting recordings to create accurate notes, including speaker labels for clarity on who said what.

Podcast Transcription

Convert podcast episodes into text format for accessibility, SEO, or content repurposing.

How to install Audio Transcribe

View source

1. Install with the skills CLI

npx skills add openai/skills/transcribe --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by openai

Audio Transcribe

Transcribe audio using OpenAI, with optional speaker diarization when requested. Prefer the bundled CLI for deterministic, repeatable runs.

Workflow

  1. Collect inputs: audio file path(s), desired response format (text/json/diarized_json), optional language hint, and any known speaker references.
  2. Verify OPENAI_API_KEY is set. If missing, ask the user to set it locally (do not ask them to paste the key).
  3. Run the bundled transcribe_diarize.py CLI with sensible defaults (fast text transcription).
  4. Validate the output: transcription quality, speaker labels, and segment boundaries; iterate with a single targeted change if needed.
  5. Save outputs under output/transcribe/ when working in this repo.

Decision rules

  • Default to gpt-4o-mini-transcribe with --response-format text for fast transcription.
  • If the user wants speaker labels or diarization, use --model gpt-4o-transcribe-diarize --response-format diarized_json.
  • If audio is longer than ~30 seconds, keep --chunking-strategy auto.
  • Prompting is not supported for gpt-4o-transcribe-diarize.

Output conventions

  • Use output/transcribe/<job-id>/ for evaluation runs.
  • Use --out-dir for multiple files to avoid overwriting.

Dependencies (install if missing)

Prefer uv for dependency management.

uv pip install openai

If uv is unavailable:

python3 -m pip install openai

Environment

  • OPENAI_API_KEY must be set for live API calls.
  • If the key is missing, instruct the user to create one in the OpenAI platform UI and export it in their shell.
  • Never ask the user to paste the full key in chat.

Skill path (set once)

export CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
export TRANSCRIBE_CLI="$CODEX_HOME/skills/transcribe/scripts/transcribe_diarize.py"

User-scoped skills install under $CODEX_HOME/skills (default: ~/.codex/skills).

CLI quick start

Single file (fast text default):

python3 "$TRANSCRIBE_CLI" \
  path/to/audio.wav \
  --out transcript.txt

Diarization with known speakers (up to 4):

python3 "$TRANSCRIBE_CLI" \
  meeting.m4a \
  --model gpt-4o-transcribe-diarize \
  --known-speaker "Alice=refs/alice.wav" \
  --known-speaker "Bob=refs/bob.wav" \
  --response-format diarized_json \
  --out-dir output/transcribe/meeting

Plain text output (explicit):

python3 "$TRANSCRIBE_CLI" \
  interview.mp3 \
  --response-format text \
  --out interview.txt

Reference map

  • references/api.md: supported formats, limits, response formats, and known-speaker notes.

Frequently asked questions about Audio Transcribe

Similar skills