Passer à la navigation

Transcription

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

Vue d’ensemble

L’API Speech to Text (STT) d’ElevenLabs transforme 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, rendez-vous sur notre page de présentation Speech to Text.

Les entreprises soumises aux exigences HIPAA doivent contacter le service commercial d’ElevenLabs afin de signer un accord d’associé commercial (BAA). Veillez à effectuer cette étape avant de procéder à toute intégration ou tout déploiement lié à HIPAA.

Modèles

Exemple de réponse de l’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 : des sons non verbaux 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 au même moment.

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 découpé en quatre segments à transcrire 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 sera transcrit 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 par termes clés et la modification 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 par termes clés

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

Mettez en évidence des mots ou expressions pour inciter le modèle à les transcrire. Cette fonctionnalité est utile pour transcrire des mots ou phrases spécifiques peu fréquents dans l’audio, comme 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. Le mode batch prend en charge jusqu’à 1 000 termes clés de 50 caractères chacun, tandis que le mode temps réel en prend en charge jusqu’à 50 de 20 caractères chacun.

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

Mode non verbatim

Le mode non verbatim est disponible avec Scribe v2, Scribe v2 Medical (batch) 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. Vous obtenez ainsi une sortie plus claire, adaptée aux sous-titres, aux résumés ou à tout cas d’utilisation où la lisibilité importe davantage que la capture de chaque mot prononcé.

Détection d’entités

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

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

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

Modification de transcription

La modification de transcription est une fonctionnalité expérimentale disponible avec tous les modèles batch et Scribe v2 Realtime.

Transmettez une instruction en langage naturel avec le paramètre transcript_edit, qui sera appliquée à la transcription terminée. Le texte modifié est renvoyé dans edited_transcript avec la transcription originale afin que les horodatages et les étiquettes des intervenants restent intacts. Cette fonctionnalité permet de normaliser 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 la modification de transcription et le guide de modification des transcriptions 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 des langues

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), bosniaque (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), azerbaïdjanais (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), māori (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 prend en charge l’importation de fichiers audio et vidéo pour la transcription.

Les fichiers d’une taille maximale de 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 incluent :

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

ElevenLabs élargit 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 à des webhooks configurés dans les paramètres de webhook de l’interface utilisateur. Retrouvez de plus amples informations dans le guide pratique sur les webhooks.

Oui. La fonctionnalité STT multicanal vous permet de transcrire de l’audio dont chaque canal est traité indépendamment et associé à un ID d’intervenant selon son numéro de canal. Cette fonctionnalité prend en charge jusqu’à 5 canaux. Retrouvez de plus amples informations dans le guide pratique sur la transcription multicanal.

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

Les silences sont comptabilisés dans la durée facturée. La transcription batch comme la transcription en temps réel sont mesurées 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ée prise en charge : les fichiers audio et vidéo sont acceptés
  • Taille maximale de fichier : 3 Go
  • Durée maximale : 10 heures (mode standard), 1 heure (mode multicanal)
  • Mode multicanal : jusqu’à 5 canaux, chacun traité indépendamment avec un ID d’intervenant attribué selon son 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