elevenlabs-transcribe

Par elevenlabs · skills

Transcrit de l'audio en texte à l'aide d'ElevenLabs Scribe. Prend en charge la transcription par lots, le streaming en temps réel depuis des URLs, l'entrée microphone et les fichiers locaux.

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

ElevenLabs Speech-to-Text

Skill officiel ElevenLabs pour la transcription parole-texte.

Convertissez l'audio en texte avec une précision de pointe. Supporte 90+ langues, la diarisation des locuteurs et le streaming en temps réel.

Prérequis

  • ffmpeg installé (brew install ffmpeg sur macOS)
  • Variable d'environnement ELEVENLABS_API_KEY définie
  • Python 3.8+ (les dépendances s'installent automatiquement au premier lancement)

Utilisation

{baseDir}/scripts/transcribe.sh <audio_file> [options]
{baseDir}/scripts/transcribe.sh --url <stream_url> [options]
{baseDir}/scripts/transcribe.sh --mic [options]

Exemples

Transcription par lot

Transcrire un fichier audio local :

{baseDir}/scripts/transcribe.sh recording.mp3

Avec identification des locuteurs :

{baseDir}/scripts/transcribe.sh meeting.mp3 --diarize

Obtenir la réponse JSON complète avec horodatages :

{baseDir}/scripts/transcribe.sh interview.wav --diarize --json

Streaming en temps réel

Streamer depuis une URL (ex. radio en direct, podcast) :

{baseDir}/scripts/transcribe.sh --url https://npr-ice.streamguys1.com/live.mp3

Transcrire depuis le microphone :

{baseDir}/scripts/transcribe.sh --mic

Streamer un fichier local en temps réel (utile pour les tests) :

{baseDir}/scripts/transcribe.sh audio.mp3 --realtime

Mode silencieux pour les agents

Supprimer les messages d'état sur stderr :

{baseDir}/scripts/transcribe.sh --mic --quiet

Options

Option Description
--diarize Identifier les différents locuteurs dans l'audio
--lang CODE Indice de langue ISO (ex. en, pt, es, fr)
--json Sortie JSON complète avec horodatages et métadonnées
--events Étiqueter les événements audio (rires, musique, applaudissements)
--realtime Streamer le fichier local au lieu d'un traitement par lot
--partials Afficher les transcriptions intermédiaires en mode temps réel
-q, --quiet Supprimer les messages d'état (recommandé pour les agents)

Format de sortie

Mode texte (par défaut)

Transcription en texte brut :

The quick brown fox jumps over the lazy dog.

Mode JSON (--json)

{
  "text": "The quick brown fox jumps over the lazy dog.",
  "language_code": "eng",
  "language_probability": 0.98,
  "words": [
    {"text": "The", "start": 0.0, "end": 0.15, "type": "word", "speaker_id": "speaker_0"}
  ]
}

Mode temps réel

Les transcriptions finales s'impriment au fur et à mesure. Avec --partials :

[partial] The quick
[partial] The quick brown fox
The quick brown fox jumps over the lazy dog.

Formats supportés

Audio : MP3, WAV, M4A, FLAC, OGG, WebM, AAC, AIFF, Opus Vidéo : MP4, AVI, MKV, MOV, WMV, FLV, WebM, MPEG, 3GPP

Limites : Jusqu'à 3 Go de taille fichier, 10 heures de durée

Gestion des erreurs

Le script se termine avec un statut non-zéro en cas d'erreur :

  • Clé API manquante : Définir la variable d'environnement ELEVENLABS_API_KEY
  • Fichier non trouvé : Vérifier que le chemin du fichier existe
  • ffmpeg manquant : Installer via votre gestionnaire de paquets
  • Erreurs API : Vérifier la validité de la clé API et les limites de taux

Quand utiliser chaque mode

Scénario Commande
Transcrire un enregistrement ./transcribe.sh file.mp3
Réunion avec plusieurs locuteurs ./transcribe.sh meeting.mp3 --diarize
Stream radio en direct/podcast ./transcribe.sh --url <url>
Entrée vocale de l'utilisateur ./transcribe.sh --mic --quiet
Besoin d'horodatages au mot ./transcribe.sh file.mp3 --json

Skills similaires