The Transcribe skill converts audio and video files to text using the OpenAI transcription API, with optional speaker diarization for interviews and meetings. It defaults to fast plain-text output viaDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/openai/skills/llms.txt
Use this file to discover all available pages before exploring further.
gpt-4o-mini-transcribe and switches to labeled speaker segments when you request diarization. All runs use the bundled scripts/transcribe_diarize.py CLI for deterministic, repeatable results, and outputs land in output/transcribe/.
When to trigger this skill
This skill activates when you ask Codex to:- Transcribe speech from an audio or video file
- Extract text from recordings (podcasts, lectures, interviews, meetings)
- Label speakers in multi-person conversations or interviews
- Convert voice memos to written notes
- Process batch recordings from
--out-dir
Defaults
| Setting | Value |
|---|---|
| Model | gpt-4o-mini-transcribe |
| Response format | text |
| Chunking strategy | auto |
| Max file size | 25 MB per request |
Standard vs diarized transcription
| Need | Model | --response-format |
|---|---|---|
| Fast plain text | gpt-4o-mini-transcribe | text |
| Structured JSON | gpt-4o-mini-transcribe | json |
| Speaker-labeled segments | gpt-4o-transcribe-diarize | diarized_json |
Prompting (
--prompt) is not supported for gpt-4o-transcribe-diarize. Known-speaker references are only effective with that model (up to 4 speakers).Workflow
Collect inputs
Gather: audio file path(s), desired response format (
text, json, or diarized_json), optional language hint, and any known-speaker reference audio files.Verify OPENAI_API_KEY
Confirm the key is exported in your shell. If missing, set it locally — never paste the full key into chat.
Run the bundled CLI
Use
transcribe_diarize.py with appropriate flags (see examples below). Default to gpt-4o-mini-transcribe + text for fast runs; switch to gpt-4o-transcribe-diarize + diarized_json when speaker labels are needed.Installing
Environment
OPENAI_API_KEY must be exported before any live API call.
The bundled CLI
Set a stable path to the CLI once per session:CLI flags
| Flag | Default | Description |
|---|---|---|
audio (positional) | — | Required. One or more audio file paths |
--model | gpt-4o-mini-transcribe | Transcription model |
--response-format | text | Output format: text, json, or diarized_json |
--chunking-strategy | auto | Chunking strategy for long audio |
--language | — | Optional language hint (e.g. en) |
--prompt | — | Optional prompt to guide transcription (not for diarize model) |
--known-speaker | — | Known speaker as NAME=PATH (repeatable, max 4) |
--out | — | Output file path (single audio only) |
--out-dir | — | Output directory for multiple files |
--stdout | false | Write transcript to stdout instead of a file |
--dry-run | false | Validate inputs and print payload without calling the API |
Supported audio formats
mp3, mp4, mpeg, mpga, m4a, wav, webm
CLI examples
Plain text transcription (default, fast):Response format options
text
Plain UTF-8 transcript. Fast and readable. Saved as
.txt.json
Structured JSON with segments and timestamps. Saved as
.json.diarized_json
Speaker-labeled segments. Requires
gpt-4o-transcribe-diarize. Saved as .json.Output conventions
| Path | Purpose |
|---|---|
output/transcribe/ | Default output location for final transcripts |
output/transcribe/<job-id>/ | Isolated output for evaluation runs |
--out-dir when processing multiple files to avoid overwriting earlier results.
Dependencies
References included with this skill
| File | Contents |
|---|---|
references/api.md | Supported formats, file limits, response format notes, known-speaker guidance |