Skip to navigation

Transcriptie

Lees hoe je gesproken audio met ElevenLabs omzet in tekst.

Overzicht

De Speech to Text (STT)-API van ElevenLabs zet gesproken audio met geavanceerde nauwkeurigheid om in tekst. Ons Scribe v2-model past zich aan tekstuele aanwijzingen aan in meer dan 90 talen en meerdere spreekstijlen. Ga voor een live demo naar onze showcasepagina voor Speech to Text.

Bedrijven die HIPAA-compliance nodig hebben, moeten contact opnemen met ElevenLabs Sales om een Business Associate Agreement (BAA) te ondertekenen. Zorg ervoor dat je deze stap voltooit voordat je doorgaat met integraties of implementaties die verband houden met HIPAA.

Modellen

Voorbeeld van API-response

In het volgende voorbeeld zie je de output van de Speech to Text-API met het Scribe v2-model voor een voorbeeldaudiobestand.

{
"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"
}
]
}

De output wordt ingedeeld in drie categorietypen:

  • word - Een woord in de taal van de audio
  • spacing - De ruimte tussen woorden, niet van toepassing op talen die geen spaties gebruiken, zoals Japans, Mandarijn, Thais, Laotiaans, Birmees en Kantonees
  • audio_event - Niet-spraakgeluiden zoals lachen of applaus

Concurrency en prioriteit

Concurrency is het aantal requests dat tegelijkertijd kan worden verwerkt.

Voor Speech to Text worden bestanden langer dan 8 minuten intern parallel getranscribeerd om de verwerking te versnellen. De audio wordt opgedeeld in vier segmenten die gelijktijdig worden getranscribeerd.

Je kunt de concurrencylimiet met de volgende berekening bepalen:

Concurrency=min⁡(4,round_up(audio_duration_secs480))Concurrency = \min(4, \text{round\_up}(\frac{\text{audio\_duration\_secs}}{480}))

Een audiobestand van 15 minuten wordt bijvoorbeeld getranscribeerd met een concurrency van 2, terwijl een audiobestand van 120 minuten wordt getranscribeerd met een concurrency van 4.

De bovenstaande berekening is alleen van toepassing op Scribe v2 en Scribe v2 Medical. Voor Scribe v2 Realtime kun je de grafiek met concurrencylimieten bekijken.

Geavanceerde functies

Keyterm prompting en transcriptbewerking brengen extra kosten met zich mee. Bekijk de API-pagina met prijzen voor gedetailleerde prijsinformatie.

Keyterm prompting

Keyterm prompting is beschikbaar met Scribe v2, Scribe v2 Medical (batch) en Scribe v2 Realtime.

Markeer woorden of zinnen om het model te sturen deze te transcriberen. Dit is handig voor het transcriberen van specifieke woorden of zinnen die niet vaak in de audio voorkomen, zoals productnamen, namen of andere specifieke termen. Keyterms zijn krachtiger dan de bevooroordeelde keywords of aangepaste woordenlijsten die andere modellen bieden, omdat ze afhankelijk zijn van de context om te bepalen of die term wel of niet moet worden getranscribeerd. Batch ondersteunt maximaal 1000 keyterms (elk 50 tekens), terwijl realtime maximaal 50 keyterms (elk 20 tekens) ondersteunt.

Lees de documentatie over keyterm prompting voor meer informatie over het gebruik ervan.

Niet-verbatimmodus

De niet-verbatimmodus is beschikbaar met Scribe v2, Scribe v2 Medical (batch) en Scribe v2 Realtime.

Wanneer no_verbatim is ingeschakeld, verwijdert het model stopwoorden, valse starts en haperingen uit het transcript. Dit levert een schonere output op die geschikt is voor ondertiteling, samenvattingen of andere use cases waarbij leesbaarheid belangrijker is dan elk gesproken woord vastleggen.

Entiteitsdetectie

Entiteitsdetectie is beschikbaar met alle batchmodellen en Scribe v2 Realtime.

Batchmodellen en Scribe v2 Realtime kunnen verschillende categorieën entiteiten in het transcript detecteren en hun exacte tijdstempels geven. Dit is handig om creditcardnummers, namen, medische aandoeningen of burgerservicenummers te markeren.

Bekijk de documentatie over entiteitsdetectie voor een volledige lijst met ondersteunde entiteiten.

Transcriptbewerking

Transcriptbewerking is een experimentele functie die beschikbaar is met alle batchmodellen en Scribe v2 Realtime. Deze is momenteel niet beschikbaar in omgevingen met data residency.

Geef een instructie in natuurlijke taal mee met de parameter transcript_edit; die wordt toegepast op het voltooide transcript. De bewerkte tekst wordt in edited_transcript teruggegeven naast het oorspronkelijke transcript, zodat tijdstempels en sprekerlabels intact blijven. Dit is handig voor het standaardiseren van de schrijfwijze van datums, tijden of eenheden, het toepassen van een andere stijl of het herschrijven van het transcript in één request.

Lees voor meer informatie de documentatie over transcriptbewerking en de handleiding voor realtime transcriptbewerking.

Ondersteunde talen

Scribe v2 ondersteunt meer dan 90 talen, waaronder:

Afrikaans (afr), Amhaars (amh), Arabisch (ara), Armeens (hye), Assamees (asm), Asturisch (ast), Azerbeidzjaans (aze), Belarussisch (bel), Bengaals (ben), Bosnisch (bos), Bulgaars (bul), Birmaans (mya), Kantonees (yue), Catalaans (cat), Cebuano (ceb), Chichewa (nya), Kroatisch (hrv), Tsjechisch (ces), Deens (dan), Nederlands (nld), Engels (eng), Estisch (est), Filipijns (fil), Fins (fin), Frans (fra), Fula (ful), Galicisch (glg), Ganda (lug), Georgisch (kat), Duits (deu), Grieks (ell), Gujarati (guj), Hausa (hau), Hebreeuws (heb), Hindi (hin), Hongaars (hun), IJslands (isl), Igbo (ibo), Indonesisch (ind), Iers (gle), Italiaans (ita), Japans (jpn), Javaans (jav), Kabuverdianu (kea), Kannada (kan), Kazachs (kaz), Khmer (khm), Koreaans (kor), Koerdisch (kur), Kirgizisch (kir), Laotiaans (lao), Lets (lav), Lingala (lin), Litouws (lit), Luo (luo), Luxemburgs (ltz), Macedonisch (mkd), Maleis (msa), Malayalam (mal), Maltees (mlt), Mandarijn-Chinees (zho), Māori (mri), Marathi (mar), Mongools (mon), Nepalees (nep), Noord-Sotho (nso), Noors (nor), Occitaans (oci), Odia (ori), Pasjtoe (pus), Perzisch (fas), Pools (pol), Portugees (por), Punjabi (pan), Roemeens (ron), Russisch (rus), Servisch (srp), Shona (sna), Sindhi (snd), Singalees (sin), Slowaaks (slk), Sloveens (slv), Somalisch (som), Spaans (spa), Swahili (swa), Zweeds (swe), Tamil (tam), Tadzjieks (tgk), Telugu (tel), Thais (tha), Turks (tur), Oekraïens (ukr), Umbundu (umb), Urdu (urd), Oezbeeks (uzb), Vietnamees (vie), Welsh (cym), Wolof (wol), Xhosa (xho) en Zoeloe (zul).

Overzicht van taalondersteuning

Word Error Rate (WER) is een belangrijke metric om de nauwkeurigheid van transcriptiesystemen te beoordelen. Hiermee wordt gemeten hoeveel fouten een transcript bevat vergeleken met een referentietranscript. Hieronder vind je een overzicht van de WER voor elke taal die Scribe v2 ondersteunt.

Wit-Russisch (bel), Bosnisch (bos), Bulgaars (bul), Catalaans (cat), Kroatisch (hrv), Tsjechisch (ces), Deens (dan), Nederlands (nld), Engels (eng), Ests (est), Fins (fin), Frans (fra), Galicisch (glg), Duits (deu), Grieks (ell), Hongaars (hun), IJslands (isl), Indonesisch (ind), Italiaans (ita), Japans (jpn), Kannada (kan), Lets (lav), Macedonisch (mkd), Maleis (msa), Malayalam (mal), Noors (nor), Pools (pol), Portugees (por), Roemeens (ron), Russisch (rus), Slowaaks (slk), Spaans (spa), Zweeds (swe), Turks (tur), Oekraïens (ukr) en Vietnamees (vie).

Armeens (hye), Azerbeidzjaans (aze), Bengaals (ben), Kantonees (yue), Filipijns (fil), Georgisch (kat), Gujarati (guj), Hindi (hin), Kazachs (kaz), Litouws (lit), Maltees (mlt), Mandarijn (cmn), Marathi (mar), Nepalees (nep), Odia (ori), Perzisch (fas), Servisch (srp), Sloveens (slv), Swahili (swa), Tamil (tam) en Telugu (tel)

Afrikaans (afr), Arabisch (ara), Assamees (asm), Asturisch (ast), Birmees (mya), Hausa (hau), Hebreeuws (heb), Javaans (jav), Koreaans (kor), Kirgizisch (kir), Luxemburgs (ltz), Māori (mri), Occitaans (oci), Punjabi (pan), Tadzjieks (tgk), Thais (tha), Oezbeeks (uzb) en Welsh (cym).

Amhaars (amh), Ganda (lug), Igbo (ibo), Iers (gle), Khmer (khm), Koerdisch (kur), Laotiaans (lao), Mongools (mon), Noord-Sotho (nso), Pasjtoe (pus), Shona (sna), Sindhi (snd), Singalees (sin), Somalisch (som), Urdu (urd), Wolof (wol), Xhosa (xho), Yoruba (yor) en Zoeloe (zul).

Veelgestelde vragen

Ja, de API ondersteunt het uploaden van zowel audio- als videobestanden voor transcriptie.

Bestanden tot 3 GB worden ondersteund. De limieten voor de duur zijn afhankelijk van de transcriptiemodus:

  • Standaardmodus (use_multi_channel=false): Maximaal 10 uur
  • Multichannelmodus (use_multi_channel=true): De gecombineerde duur van alle kanalen moet minder dan 10 uur zijn

De API ondersteunt de volgende audio- en videoformaten:

  • 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

Ondersteunde videoformaten zijn onder andere:

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

ElevenLabs breidt het aantal talen dat onze modellen ondersteunen voortdurend uit. Kom regelmatig terug voor updates.

Ja, asynchrone transcriptieresultaten kunnen worden verstuurd naar webhooks die je in de webhookinstellingen in de UI configureert. Lees meer in het webhooks-cookbook.

Ja, met de multichannelfunctie voor STT kun je audio transcriberen waarbij elk kanaal onafhankelijk wordt verwerkt en een speaker-ID krijgt op basis van het kanaalnummer. Deze functie ondersteunt maximaal 5 kanalen. Lees meer in het cookbook over multichannel-transcriptie.

ElevenLabs rekent voor Speech to Text op basis van de duur van de audio die voor transcriptie wordt verzonden. De facturering wordt per uur audio berekend, waarbij de tarieven verschillen per tier en model. Bekijk de API-pagina met prijzen voor gedetailleerde prijsinformatie.

Stilte telt mee voor de gefactureerde duur. Zowel batch- als realtime-transcriptie wordt gemeten per seconde audio die je verstuurt, inclusief pauzes en stille gedeelten, en er is geen korting voor stilte.

Belangrijke feiten

  • Ondersteunde invoer: Zowel audio- als videobestanden worden geaccepteerd
  • Maximale bestandsgrootte: 3 GB
  • Maximale duur: 10 uur (standaardmodus), 1 uur (multichannelmodus)
  • Multichannelmodus: Maximaal 5 kanalen; elk wordt onafhankelijk verwerkt met een speaker-ID op basis van het kanaalnummer
  • Webhooks: Asynchrone transcriptieresultaten kunnen naar een webhook worden gestuurd — configureer dit in de workspace-instellingen
  • Ondersteunde audioformaten: AAC, AIFF, OGG, MP3, OPUS, WAV, FLAC, M4A, WebM
  • Ondersteunde videoformaten: MP4, AVI, MKV, MOV, WMV, FLV, WebM, MPEG, 3GPP