Passer à la navigation

Transcription

Découvrez comment convertir de l’audio parlé en texte avec ElevenLabs.

Vue d’ensemble

L’API Speech to Text (STT) d’ElevenLabs convertit l’audio parlé en texte avec une précision de pointe. Notre modèle Scribe v2 s’adapte aux indices textuels dans plus de 90 langues et à plusieurs styles de voix. Pour essayer une démonstration en direct, consultez notre page de présentation Speech to Text.

Les entreprises soumises à la conformité HIPAA doivent contacter le service commercial d’ElevenLabs afin de signer un accord de partenariat commercial (BAA). Assurez-vous de finaliser cette étape avant toute intégration ou tout déploiement lié à HIPAA.

Modèles

Exemple de réponse API

L’exemple suivant montre la sortie de l’API Speech to Text utilisant le modèle Scribe v2 pour un fichier audio d’exemple.

{
"language_code": "en",
"language_probability": 1,
"text": "With a soft and whispery American accent, I'm the ideal choice for creating ASMR content, meditative guides, or adding an intimate feel to your narrative projects.",
"words": [
{
"text": "With",
"start": 0.119,
"end": 0.259,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 0.239,
"end": 0.299,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "a",
"start": 0.279,
"end": 0.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 0.339,
"end": 0.499,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "soft",
"start": 0.479,
"end": 1.039,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.019,
"end": 1.2,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "and",
"start": 1.18,
"end": 1.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.339,
"end": 1.44,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "whispery",
"start": 1.419,
"end": 1.979,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 1.959,
"end": 2.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "American",
"start": 2.159,
"end": 2.719,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 2.699,
"end": 2.779,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "accent,",
"start": 2.759,
"end": 3.389,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.119,
"end": 4.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "I'm",
"start": 4.159,
"end": 4.459,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.44,
"end": 4.52,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "the",
"start": 4.5,
"end": 4.599,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 4.579,
"end": 4.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "ideal",
"start": 4.679,
"end": 5.099,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 5.079,
"end": 5.219,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "choice",
"start": 5.199,
"end": 5.719,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 5.699,
"end": 6.099,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "for",
"start": 6.099,
"end": 6.199,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 6.179,
"end": 6.279,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "creating",
"start": 6.259,
"end": 6.799,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 6.779,
"end": 6.979,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "ASMR",
"start": 6.959,
"end": 7.739,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 7.719,
"end": 7.859,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "content,",
"start": 7.839,
"end": 8.45,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 9,
"end": 9.06,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "meditative",
"start": 9.04,
"end": 9.64,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 9.619,
"end": 9.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "guides,",
"start": 9.679,
"end": 10.359,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 10.359,
"end": 10.409,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "or",
"start": 11.319,
"end": 11.439,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 11.42,
"end": 11.52,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "adding",
"start": 11.5,
"end": 11.879,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 11.859,
"end": 12,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "an",
"start": 11.979,
"end": 12.079,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 12.059,
"end": 12.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "intimate",
"start": 12.179,
"end": 12.579,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 12.559,
"end": 12.699,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "feel",
"start": 12.679,
"end": 13.159,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.139,
"end": 13.179,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "to",
"start": 13.159,
"end": 13.26,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.239,
"end": 13.3,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "your",
"start": 13.299,
"end": 13.399,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.379,
"end": 13.479,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "narrative",
"start": 13.479,
"end": 13.889,
"type": "word",
"speaker_id": "speaker_0"
},
{
"text": " ",
"start": 13.919,
"end": 13.939,
"type": "spacing",
"speaker_id": "speaker_0"
},
{
"text": "projects.",
"start": 13.919,
"end": 14.779,
"type": "word",
"speaker_id": "speaker_0"
}
]
}

La sortie est classée en trois types de catégories :

  • word : un mot dans la langue de l’audio
  • spacing : l’espace entre les mots, non applicable aux langues qui n’utilisent pas d’espaces, comme le japonais, le mandarin, le thaï, le lao, le birman et le cantonais
  • audio_event : sons non vocaux, comme les rires ou les applaudissements

Requêtes simultanées et priorité

Les requêtes simultanées correspondent au nombre de requêtes pouvant être traitées en même temps.

Pour Speech to Text, les fichiers de plus de 8 minutes sont transcrits en parallèle en interne afin d’accélérer le traitement. L’audio est divisé en quatre segments transcrits simultanément.

Vous pouvez calculer la limite de requêtes simultanées avec le calcul suivant :

Concurrency=min⁡(4,round_up(audio_ duration_secs480))Concurrency = \min(4, \text{round\_up}(\frac{\text{audio\_ duration\_secs}}{480}))

Par exemple, un fichier audio de 15 minutes sera transcrit avec 2 requêtes simultanées, tandis qu’un fichier audio de 120 minutes le sera avec 4 requêtes simultanées.

Le calcul ci-dessus s’applique uniquement à Scribe v2 et Scribe v2 Medical. Pour Scribe v2 Realtime, consultez le tableau des limites de requêtes simultanées.

Fonctionnalités avancées

Le prompting de termes clés et l’édition de transcription entraînent un coût supplémentaire. Consultez la page des tarifs de l’API pour obtenir des informations tarifaires détaillées.

Prompting de termes clés

Le prompting de termes clés est disponible avec Scribe v2, Scribe v2 Medical (par lot) et Scribe v2 Realtime.

Mettez en évidence des mots ou des expressions pour orienter le modèle vers leur transcription. Cette fonctionnalité est utile pour transcrire des mots ou des phrases spécifiques peu fréquents dans l’audio, tels que des noms de produits, des noms propres ou d’autres termes précis. Les termes clés sont plus efficaces que les mots-clés orientés ou les vocabulaires personnalisés proposés par d’autres modèles, car le modèle s’appuie sur le contexte pour décider de transcrire ou non le terme. La transcription par lot prend en charge jusqu’à 1 000 termes clés (50 caractères chacun), tandis que la transcription en temps réel en prend en charge jusqu’à 50 (20 caractères chacun).

Pour en savoir plus sur l’utilisation du prompting de termes clés, consultez la documentation sur le prompting de termes clés.

Mode non verbatim

Le mode non verbatim est disponible avec Scribe v2, Scribe v2 Medical (par lot) et Scribe v2 Realtime.

Lorsque no_verbatim est activé, le modèle supprime les mots de remplissage, les faux départs et les hésitations de la transcription. Il produit ainsi une sortie plus claire, adaptée aux sous-titres, aux résumés ou à tout cas d’usage où la lisibilité prime sur la restitution de chaque mot prononcé.

Détection d’entités

La détection d’entités est disponible avec tous les modèles par lot et Scribe v2 Realtime.

Les modèles par lot et Scribe v2 Realtime peuvent détecter plusieurs catégories d’entités dans la transcription et fournir leurs horodatages exacts. Cette fonctionnalité permet de mettre en évidence des numéros de carte bancaire, des noms, des pathologies ou des numéros de sécurité sociale.

Pour obtenir la liste complète des entités prises en charge, consultez la documentation sur la détection d’entités.

Édition de transcription

L’édition de transcription est une fonctionnalité expérimentale disponible avec tous les modèles par lot et Scribe v2 Realtime.

Transmettez une instruction en langage naturel avec le paramètre transcript_edit : elle sera appliquée à la transcription finalisée. Le texte modifié est renvoyé dans edited_transcript avec la transcription d’origine, afin de préserver les horodatages et les étiquettes des intervenants. Cette fonctionnalité permet notamment d’uniformiser l’écriture des dates, des heures ou des unités, d’appliquer un style différent ou de réécrire la transcription en une seule requête.

Pour en savoir plus, consultez la documentation sur l’édition de transcription et le guide d’édition de transcription en temps réel.

Langues prises en charge

Scribe v2 prend en charge plus de 90 langues, dont :

Afrikaans (afr), amharique (amh), arabe (ara), arménien (hye), assamais (asm), asturien (ast), აზéri (aze), biélorusse (bel), bengali (ben), bosnien (bos), bulgare (bul), birman (mya), cantonais (yue), catalan (cat), cebuano (ceb), chichewa (nya), croate (hrv), tchèque (ces), danois (dan), néerlandais (nld), anglais (eng), estonien (est), filipino (fil), finnois (fin), français (fra), peul (ful), galicien (glg), ganda (lug), géorgien (kat), allemand (deu), grec (ell), gujarati (guj), haoussa (hau), hébreu (heb), hindi (hin), hongrois (hun), islandais (isl), igbo (ibo), indonésien (ind), irlandais (gle), italien (ita), japonais (jpn), javanais (jav), créole capverdien (kea), kannada (kan), kazakh (kaz), khmer (khm), coréen (kor), kurde (kur), kirghize (kir), lao (lao), letton (lav), lingala (lin), lituanien (lit), luo (luo), luxembourgeois (ltz), macédonien (mkd), malais (msa), malayalam (mal), maltais (mlt), chinois mandarin (zho), maori (mri), marathi (mar), mongol (mon), népalais (nep), sotho du Nord (nso), norvégien (nor), occitan (oci), odia (ori), pachto (pus), persan (fas), polonais (pol), portugais (por), pendjabi (pan), roumain (ron), russe (rus), serbe (srp), shona (sna), sindhi (snd), cinghalais (sin), slovaque (slk), slovène (slv), somali (som), espagnol (spa), swahili (swa), suédois (swe), tamoul (tam), tadjik (tgk), télougou (tel), thaï (tha), turc (tur), ukrainien (ukr), umbundu (umb), ourdou (urd), ouzbek (uzb), vietnamien (vie), gallois (cym), wolof (wol), xhosa (xho) et zoulou (zul).

Détail de la prise en charge linguistique

Le taux d’erreur sur les mots (WER) est un indicateur clé utilisé pour évaluer la précision des systèmes de transcription. Il mesure le nombre d’erreurs présentes dans une transcription par rapport à une transcription de référence. Vous trouverez ci-dessous le détail du WER pour chaque langue prise en charge par Scribe v2.

Biélorusse (bel), bosnien (bos), bulgare (bul), catalan (cat), croate (hrv), tchèque (ces), danois (dan), néerlandais (nld), anglais (eng), estonien (est), finnois (fin), français (fra), galicien (glg), allemand (deu), grec (ell), hongrois (hun), islandais (isl), indonésien (ind), italien (ita), japonais (jpn), kannada (kan), letton (lav), macédonien (mkd), malais (msa), malayalam (mal), norvégien (nor), polonais (pol), portugais (por), roumain (ron), russe (rus), slovaque (slk), espagnol (spa), suédois (swe), turc (tur), ukrainien (ukr) et vietnamien (vie).

Arménien (hye), azéri (aze), bengali (ben), cantonais (yue), filipino (fil), géorgien (kat), gujarati (guj), hindi (hin), kazakh (kaz), lituanien (lit), maltais (mlt), mandarin (cmn), marathi (mar), népalais (nep), odia (ori), persan (fas), serbe (srp), slovène (slv), swahili (swa), tamoul (tam) et télougou (tel)

Afrikaans (afr), arabe (ara), assamais (asm), asturien (ast), birman (mya), haoussa (hau), hébreu (heb), javanais (jav), coréen (kor), kirghize (kir), luxembourgeois (ltz), maori (mri), occitan (oci), pendjabi (pan), tadjik (tgk), thaï (tha), ouzbek (uzb) et gallois (cym).

Amharique (amh), ganda (lug), igbo (ibo), irlandais (gle), khmer (khm), kurde (kur), lao (lao), mongol (mon), sotho du Nord (nso), pachto (pus), shona (sna), sindhi (snd), cinghalais (sin), somali (som), ourdou (urd), wolof (wol), xhosa (xho), yoruba (yor) et zoulou (zul).

FAQ

Oui. L’API permet d’importer des fichiers audio et vidéo pour la transcription.

Les fichiers jusqu’à 3 Go sont pris en charge. Les limites de durée dépendent du mode de transcription :

  • Mode standard (use_multi_channel=false) : jusqu’à 10 heures
  • Mode multicanal (use_multi_channel=true) : la durée cumulée de tous les canaux doit être inférieure à 10 heures

L’API prend en charge les formats audio et vidéo suivants :

  • audio/aac
  • audio/x-aac
  • audio/x-aiff
  • audio/ogg
  • audio/mpeg
  • audio/mp3
  • audio/mpeg3
  • audio/x-mpeg-3
  • audio/opus
  • audio/wav
  • audio/x-wav
  • audio/webm
  • audio/flac
  • audio/x-flac
  • audio/mp4
  • audio/aiff
  • audio/x-m4a

Les formats vidéo pris en charge comprennent :

  • video/mp4
  • video/x-msvideo
  • video/x-matroska
  • video/quicktime
  • video/x-ms-wmv
  • video/x-flv
  • video/webm
  • video/mpeg
  • video/3gpp

ElevenLabs étend continuellement le nombre de langues prises en charge par nos modèles. Consultez régulièrement cette page pour connaître les mises à jour.

Oui. Les résultats de transcription asynchrone peuvent être envoyés aux webhooks configurés dans les paramètres de webhook de l’interface utilisateur. Pour en savoir plus, consultez le guide pratique des webhooks.

Oui. La fonctionnalité STT multicanal vous permet de transcrire de l’audio dont chaque canal est traité indépendamment et se voit attribuer un identifiant d’intervenant en fonction de son numéro de canal. Cette fonctionnalité prend en charge jusqu’à 5 canaux. Pour en savoir plus, consultez le guide pratique de la transcription multicanal.

ElevenLabs facture la transcription en fonction de la durée de l’audio envoyé. La facturation est calculée par heure d’audio, avec des tarifs variables selon le forfait et le modèle. Consultez la page des tarifs de l’API pour obtenir des informations tarifaires détaillées.

Les silences sont inclus dans la durée facturée. La transcription par lot comme en temps réel est mesurée pour chaque seconde d’audio envoyée, y compris les pauses et les passages silencieux, sans réduction pour les silences.

Informations clés

  • Entrées prises en charge : fichiers audio et vidéo acceptés
  • Taille maximale des fichiers : 3 Go
  • Durée maximale : 10 heures (mode standard), 1 heure (mode multicanal)
  • Mode multicanal : jusqu’à 5 canaux, chacun traité indépendamment avec un identifiant d’intervenant attribué selon le numéro de canal
  • Webhooks : les résultats de transcription asynchrone peuvent être transmis à un webhook, à configurer dans les paramètres du Workspace
  • Formats audio pris en charge : AAC, AIFF, OGG, MP3, OPUS, WAV, FLAC, M4A, WebM
  • Formats vidéo pris en charge : MP4, AVI, MKV, MOV, WMV, FLV, WebM, MPEG, 3GPP