All skills
openai avatar

/transcribe

@0ed635a official
by openaiopenai/skills28k stars
1,891

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.

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

This session only. Nothing lands on disk.

SKILL.md

≈57 tokens always: the name and description. ≈643 when used: this file. ≈218 more on demand in 2 files.

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.

Source: SKILL.md on GitHub

1 warning16d5 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    This skill provides functionality to transcribe audio files with optional speaker diarization using the official OpenAI API. The implementation follows standard practices for dependency management and credential safety.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer7mo

    5/5 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 0ed635a. 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

README badge

README badge for openai/skills/transcribe

Transcribes audio files to text using OpenAI's Whisper API, with optional speaker diarization and known-speaker hints via a bundled Python CLI. Use when extracting speech-to-text from recordings, interviews, or meetings where speaker labels are needed.

Generated from the current SKILL.md.

What transcription models does this skill use?
By default, gpt-4o-mini-transcribe for fast text transcription. For speaker diarization and labeling, use gpt-4o-transcribe-diarize, which does not support prompting.
Does this skill support speaker diarization?
Yes. Pass --model gpt-4o-transcribe-diarize and --response-format diarized_json. You can also provide known-speaker audio references to label specific speakers in interviews or meetings.
What audio formats are supported?
The skill supports common formats including WAV, M4A, and MP3. See references/api.md for the full list of supported formats and size limits.
What do I need to set up before using this skill?
Set the OPENAI_API_KEY environment variable by creating a key in the OpenAI platform UI and exporting it in your shell. The skill requires the openai Python package, installed via uv or pip.

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