transcribe

Transcrivez des fichiers audio en texte avec diarisation optionnelle et indices sur les locuteurs connus. À utiliser lorsqu'un utilisateur souhaite transcrire de la parole depuis un fichier audio/vidéo, extraire du texte d'enregistrements, ou identifier les locuteurs dans des interviews ou des réunions.

npx skills add https://github.com/openai/skills --skill transcribe

Audio Transcribe

Transcrire de l'audio avec OpenAI, avec diarisation optionnelle des locuteurs si demandée. Préférez le CLI fourni pour des exécutions déterministes et reproductibles.

Workflow

  1. Collecter les entrées : chemin(s) du fichier audio, format de réponse souhaité (text/json/diarized_json), indice de langue optionnel, et références de locuteurs connues le cas échéant.
  2. Vérifier que OPENAI_API_KEY est défini. S'il manque, demander à l'utilisateur de le définir localement (ne pas lui demander de coller la clé).
  3. Exécuter le CLI transcribe_diarize.py fourni avec des valeurs par défaut sensées (transcription texte rapide).
  4. Valider la sortie : qualité de transcription, libellés des locuteurs, limites des segments ; itérer avec un seul changement ciblé si nécessaire.
  5. Enregistrer les sorties sous output/transcribe/ en travaillant dans ce repo.

Règles de décision

  • Par défaut, utiliser gpt-4o-mini-transcribe avec --response-format text pour une transcription rapide.
  • Si l'utilisateur souhaite des libellés de locuteurs ou une diarisation, utiliser --model gpt-4o-transcribe-diarize --response-format diarized_json.
  • Si l'audio dure plus de ~30 secondes, conserver --chunking-strategy auto.
  • Le prompting n'est pas supporté pour gpt-4o-transcribe-diarize.

Conventions de sortie

  • Utiliser output/transcribe/<job-id>/ pour les exécutions d'évaluation.
  • Utiliser --out-dir pour plusieurs fichiers afin d'éviter les écrasements.

Dépendances (installer si manquantes)

Préférez uv pour la gestion des dépendances.

uv pip install openai

Si uv est indisponible :

python3 -m pip install openai

Environnement

  • OPENAI_API_KEY doit être défini pour les appels API en direct.
  • Si la clé manque, indiquer à l'utilisateur d'en créer une dans l'interface OpenAI et de l'exporter dans son shell.
  • Ne jamais demander à l'utilisateur de coller la clé complète dans le chat.

Chemin de la skill (à définir une seule fois)

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

Les skills d'utilisateur s'installent sous $CODEX_HOME/skills (par défaut : ~/.codex/skills).

Démarrage rapide du CLI

Fichier unique (défaut texte rapide) :

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

Diarisation avec locuteurs connus (jusqu'à 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

Sortie texte brut (explicite) :

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

Carte de référence

  • references/api.md : formats supportés, limites, formats de réponse, et notes sur les locuteurs connus.

Skills similaires