{
  "aboutHtml": "<p>ElevenLabs Scribe v2 is het batch-model voor spraakherkenning van opgenomen audio, transcriptie en ondertiteling, inclusief ondertitels voor doven en slechthorenden. Het bouwt voort op Scribe v1 met verbeterde verwerking van lange opnamen, pauzes, toonveranderingen en langdurige stilte. Het resultaat is uitgeschreven spraak met tijdsinformatie en optionele annotaties voor sprekers en audiogebeurtenissen. Scribe v2 Realtime is een afzonderlijke editie voor live-transcriptie; dit model is bedoeld voor de verwerking van volledige opnamen.</p><p>De maker documenteert herkenning in meer dan 90 talen en automatische taaldetectie, ook bij opnamen waarin van taal wordt gewisseld. Een aanwijzing over de bekende taal kan het model helpen de audio te interpreteren. Bereid een duidelijke opname voor, behoud de oorspronkelijke taal en namen en vermijd ernstige oversturing of onnodige verwerking die spraakdetails verwijdert. Gangbare gedocumenteerde invoerformaten zijn WAV, MP3, FLAC, M4A, AAC, OGG, Opus en WebM. Kies een invoerweergave die door de transcriptie-implementatie wordt ondersteund en bewaar de bronopname voor controle.</p><p>Het standaardantwoord bevat de herkende tekst, informatie over de gedetecteerde taal en een reeks woorden met tijdsaanduidingen. Woordrecords kunnen begin- en eindtijden, sprekeridentificaties en een logwaarschijnlijkheid voor de herkenning bevatten. Hierdoor is het resultaat bruikbaar voor ondertitels, doorzoekbare interviews of een editor die terugspringt naar het relevante geluid. Bewaar het resultaat met tijdsaanduidingen bij de bronaudio. Voor een podcast kan het resultaat bijvoorbeeld een bewerkbare transcriptie zijn en een per woord uitgelijnde registratie waarmee correcties kunnen worden gelokaliseerd voordat ondertitels worden ingedeeld.</p><p>Sprekerdiarisatie labelt wie wanneer spreekt in audio met meerdere sprekers, waarbij de maker maximaal 32 sprekers documenteert. Schakel deze in wanneer sprekerbeurten belangrijk zijn en geef een redelijk aantal sprekers op als die informatie bekend is. Maak onderscheid tussen een gedetecteerd sprekerlabel en de geverifieerde naam van een persoon. Controleer voor een interview of vergadering de sprekerwisselingen aan de hand van de opname, vooral waar stemmen overlappen of op elkaar lijken. Een label helpt de transcriptie te ordenen; het stelt de identiteit van de spreker niet zelfstandig vast.</p><p>Een opname met één spreker per kanaal heeft een andere structuur dan meerdere stemmen die in één kanaal zijn gemengd. De interface van de producent kan maximaal vijf kanalen onafhankelijk verwerken en afzonderlijke transcripties of een gecombineerde transcriptie in tijdvolgorde teruggeven, met kanaalindexen. Behoud die kanaalindeling wanneer deze betekenisvol is. Het samenvoegen van een gescheiden gespreksopname tot één kanaal vóór transcriptie kan een nuttige bron van sprekerinformatie verloren laten gaan. Houd toewijzing op basis van kanalen gescheiden van diarisatie die uit gemengde audio wordt afgeleid. Het antwoord met gecombineerde kanalen vereist tijdstempels en kan geen detectie of maskering van entiteiten bevatten.</p><p>Prompting met sleuteltermen stuurt de herkenning van namen, producttermen en specialistische woordenschat met behulp van context. De huidige batch-documentatie staat maximaal 1.000 termen toe, waarbij elke term minder dan 50 tekens en maximaal vijf woorden bevat. Geef relevante schrijfwijzen op in plaats van een brede, niet-gerelateerde catalogus. Geef voor een technisch interview de productnamen en afkortingen die waarschijnlijk voorkomen en controleer deze vervolgens op hun tijdstippen in het resultaat. Sleuteltermen beïnvloeden de herkenning; het zijn geen instructies om een term in te voegen wanneer de opname deze niet ondersteunt.</p><p>Bepaal het doel van de transcriptie voordat je deze opschoont. Een woordelijke registratie behoudt de gesproken bewoordingen, terwijl de gedocumenteerde optie no-verbatim opvulwoorden, valse starts en haperingen verwijdert voor een beter leesbaar resultaat. Dynamische audiotags kunnen niet-spraakgebeurtenissen identificeren, zoals gelach of voetstappen. Een verzorgde transcriptie kan nuttig zijn voor ondertiteling of lezen, maar mag de onbewerkte registratie niet stilzwijgend vervangen wanneer herhalingen, correcties of niet-spraakgeluiden belangrijk zijn voor de opdracht.</p><p>De maker documenteert ook detectie van entiteiten en experimentele transcriptiebewerking. Transcriptiebewerking kan in de interface van de producent niet worden gecombineerd met detectie van entiteiten, maskering van entiteiten of meerkanaalstranscriptie. Gedetecteerde entiteiten geven gestructureerde posities voor geselecteerde informatie in de transcriptie. Optionele maskering van entiteiten schermt gedetecteerde tekst af met vervangende labels; ze is afhankelijk van detectie van entiteiten en de entiteitenlijst wordt niet teruggegeven wanneer maskering is ingeschakeld. De maskering gebeurt tijdens de transcriptie, met een algemene vervangingsmarkering, een categorielabel of een genummerd categorielabel. Automatische maskering kan gevoelige inhoud missen, dus controleer de gemaskeerde transcriptie voordat je deze deelt. Een bewerking in natuurlijke taal geeft bewerkte tekst naast het oorspronkelijke resultaat terug, waarbij de oorspronkelijke tijdsaanduidingen en sprekerregistratie beschikbaar blijven. Houd die resultaten gescheiden: een gecorrigeerde schrijfwijze of opnieuw opgemaakte zin moet mogelijk opnieuw worden gecontroleerd voordat deze op de audio wordt uitgelijnd of in een latere extractie wordt gebruikt. Deze functies verwerken de transcriptie; ze stellen niet vast dat elk belangrijk detail correct is herkend.</p><p>Controleer voor een afgeronde transcriptie namen, getallen, ontkenningen en sprekerwisselingen door terug te gaan naar de bijbehorende audio. Besteed aandacht aan zachte passages, overlap en taalwisselingen in plaats van de kwaliteit alleen op vloeiende tekst te beoordelen. Behoud onzekere bewoordingen voor correctie in plaats van een onhoorbare passage met een aannemelijke zin aan te vullen. Het bruikbare resultaat is een gecontroleerde tekstregistratie met de tijdsaanduidingen en sprekerinformatie die nodig zijn voor het beoogde gebruik; een transcriptie kan vervolgens invoer worden voor een afzonderlijke stap voor samenvatting, vertaling of analyse.</p>",
  "aboutText": "ElevenLabs Scribe v2 is het batch-model voor spraakherkenning van opgenomen audio, transcriptie en ondertiteling, inclusief ondertitels voor doven en slechthorenden. Het bouwt voort op Scribe v1 met verbeterde verwerking van lange opnamen, pauzes, toonveranderingen en langdurige stilte. Het resultaat is uitgeschreven spraak met tijdsinformatie en optionele annotaties voor sprekers en audiogebeurtenissen. Scribe v2 Realtime is een afzonderlijke editie voor live-transcriptie; dit model is bedoeld voor de verwerking van volledige opnamen.\n\nDe maker documenteert herkenning in meer dan 90 talen en automatische taaldetectie, ook bij opnamen waarin van taal wordt gewisseld. Een aanwijzing over de bekende taal kan het model helpen de audio te interpreteren. Bereid een duidelijke opname voor, behoud de oorspronkelijke taal en namen en vermijd ernstige oversturing of onnodige verwerking die spraakdetails verwijdert. Gangbare gedocumenteerde invoerformaten zijn WAV, MP3, FLAC, M4A, AAC, OGG, Opus en WebM. Kies een invoerweergave die door de transcriptie-implementatie wordt ondersteund en bewaar de bronopname voor controle.\n\nHet standaardantwoord bevat de herkende tekst, informatie over de gedetecteerde taal en een reeks woorden met tijdsaanduidingen. Woordrecords kunnen begin- en eindtijden, sprekeridentificaties en een logwaarschijnlijkheid voor de herkenning bevatten. Hierdoor is het resultaat bruikbaar voor ondertitels, doorzoekbare interviews of een editor die terugspringt naar het relevante geluid. Bewaar het resultaat met tijdsaanduidingen bij de bronaudio. Voor een podcast kan het resultaat bijvoorbeeld een bewerkbare transcriptie zijn en een per woord uitgelijnde registratie waarmee correcties kunnen worden gelokaliseerd voordat ondertitels worden ingedeeld.\n\nSprekerdiarisatie labelt wie wanneer spreekt in audio met meerdere sprekers, waarbij de maker maximaal 32 sprekers documenteert. Schakel deze in wanneer sprekerbeurten belangrijk zijn en geef een redelijk aantal sprekers op als die informatie bekend is. Maak onderscheid tussen een gedetecteerd sprekerlabel en de geverifieerde naam van een persoon. Controleer voor een interview of vergadering de sprekerwisselingen aan de hand van de opname, vooral waar stemmen overlappen of op elkaar lijken. Een label helpt de transcriptie te ordenen; het stelt de identiteit van de spreker niet zelfstandig vast.\n\nEen opname met één spreker per kanaal heeft een andere structuur dan meerdere stemmen die in één kanaal zijn gemengd. De interface van de producent kan maximaal vijf kanalen onafhankelijk verwerken en afzonderlijke transcripties of een gecombineerde transcriptie in tijdvolgorde teruggeven, met kanaalindexen. Behoud die kanaalindeling wanneer deze betekenisvol is. Het samenvoegen van een gescheiden gespreksopname tot één kanaal vóór transcriptie kan een nuttige bron van sprekerinformatie verloren laten gaan. Houd toewijzing op basis van kanalen gescheiden van diarisatie die uit gemengde audio wordt afgeleid. Het antwoord met gecombineerde kanalen vereist tijdstempels en kan geen detectie of maskering van entiteiten bevatten.\n\nPrompting met sleuteltermen stuurt de herkenning van namen, producttermen en specialistische woordenschat met behulp van context. De huidige batch-documentatie staat maximaal 1.000 termen toe, waarbij elke term minder dan 50 tekens en maximaal vijf woorden bevat. Geef relevante schrijfwijzen op in plaats van een brede, niet-gerelateerde catalogus. Geef voor een technisch interview de productnamen en afkortingen die waarschijnlijk voorkomen en controleer deze vervolgens op hun tijdstippen in het resultaat. Sleuteltermen beïnvloeden de herkenning; het zijn geen instructies om een term in te voegen wanneer de opname deze niet ondersteunt.\n\nBepaal het doel van de transcriptie voordat je deze opschoont. Een woordelijke registratie behoudt de gesproken bewoordingen, terwijl de gedocumenteerde optie no-verbatim opvulwoorden, valse starts en haperingen verwijdert voor een beter leesbaar resultaat. Dynamische audiotags kunnen niet-spraakgebeurtenissen identificeren, zoals gelach of voetstappen. Een verzorgde transcriptie kan nuttig zijn voor ondertiteling of lezen, maar mag de onbewerkte registratie niet stilzwijgend vervangen wanneer herhalingen, correcties of niet-spraakgeluiden belangrijk zijn voor de opdracht.\n\nDe maker documenteert ook detectie van entiteiten en experimentele transcriptiebewerking. Transcriptiebewerking kan in de interface van de producent niet worden gecombineerd met detectie van entiteiten, maskering van entiteiten of meerkanaalstranscriptie. Gedetecteerde entiteiten geven gestructureerde posities voor geselecteerde informatie in de transcriptie. Optionele maskering van entiteiten schermt gedetecteerde tekst af met vervangende labels; ze is afhankelijk van detectie van entiteiten en de entiteitenlijst wordt niet teruggegeven wanneer maskering is ingeschakeld. De maskering gebeurt tijdens de transcriptie, met een algemene vervangingsmarkering, een categorielabel of een genummerd categorielabel. Automatische maskering kan gevoelige inhoud missen, dus controleer de gemaskeerde transcriptie voordat je deze deelt. Een bewerking in natuurlijke taal geeft bewerkte tekst naast het oorspronkelijke resultaat terug, waarbij de oorspronkelijke tijdsaanduidingen en sprekerregistratie beschikbaar blijven. Houd die resultaten gescheiden: een gecorrigeerde schrijfwijze of opnieuw opgemaakte zin moet mogelijk opnieuw worden gecontroleerd voordat deze op de audio wordt uitgelijnd of in een latere extractie wordt gebruikt. Deze functies verwerken de transcriptie; ze stellen niet vast dat elk belangrijk detail correct is herkend.\n\nControleer voor een afgeronde transcriptie namen, getallen, ontkenningen en sprekerwisselingen door terug te gaan naar de bijbehorende audio. Besteed aandacht aan zachte passages, overlap en taalwisselingen in plaats van de kwaliteit alleen op vloeiende tekst te beoordelen. Behoud onzekere bewoordingen voor correctie in plaats van een onhoorbare passage met een aannemelijke zin aan te vullen. Het bruikbare resultaat is een gecontroleerde tekstregistratie met de tijdsaanduidingen en sprekerinformatie die nodig zijn voor het beoogde gebruik; een transcriptie kan vervolgens invoer worden voor een afzonderlijke stap voor samenvatting, vertaling of analyse.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "5fe193ae33b248212a26347bbe62fd8054abd856cc9f688704ca2fe009afab2f",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "nl",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">ElevenLabs: Scribe v2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sluiten\">×</button></div><div class=\"idline\"><span>ElevenLabs /</span><code>elevenlabs/scribe-v2</code><button type=\"button\" id=\"copy-id\">ID kopiëren</button></div><nav class=\"card-jump-nav\" aria-label=\"Onderdelen van de modelkaart\"><button type=\"button\" data-card-jump=\"overview\">Aan de slag</button><button type=\"button\" data-card-jump=\"methods\">Invoer en methoden</button><button type=\"button\" data-card-jump=\"pricing\">Tarieven</button><button type=\"button\" data-card-jump=\"examples\">Voorbeelden</button><button type=\"button\" data-card-jump=\"results\">Resultaten</button><button type=\"button\" data-card-jump=\"aliases\">Aliasnamen</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-methoden\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|elevenlabs%2Fscribe-v2\">Herkenning</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Aan de slag</h3><p class=\"mdesc-full\">ElevenLabs Scribe v2 transcribeert opgenomen audio in meer dan 90 talen, met tijdsaanduidingen op woordniveau, optionele sprekerdiarisatie en tags voor niet-spraakgebeurtenissen. Het is gebouwd voor lange opnamen, ondertiteling en bewerkbare transcripties, met contextuele sleuteltermen en keuzes voor woordelijke of opgeschoonde transcriptie.</p><dl class=\"card-io\" data-card-io><div><dt>Toegestane invoer</dt><dd>Audio</dd></div><div><dt>Resultaten</dt><dd>Tekst</dd></div></dl><details class=\"card-about\"><summary>Over het model</summary><p class=\"note-s\" data-model-method-boundary>Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.</p><div class=\"mabout\" id=\"m-about\"><p>ElevenLabs Scribe v2 is het batch-model voor spraakherkenning van opgenomen audio, transcriptie en ondertiteling, inclusief ondertitels voor doven en slechthorenden. Het bouwt voort op Scribe v1 met verbeterde verwerking van lange opnamen, pauzes, toonveranderingen en langdurige stilte. Het resultaat is uitgeschreven spraak met tijdsinformatie en optionele annotaties voor sprekers en audiogebeurtenissen. Scribe v2 Realtime is een afzonderlijke editie voor live-transcriptie; dit model is bedoeld voor de verwerking van volledige opnamen.</p><p>De maker documenteert herkenning in meer dan 90 talen en automatische taaldetectie, ook bij opnamen waarin van taal wordt gewisseld. Een aanwijzing over de bekende taal kan het model helpen de audio te interpreteren. Bereid een duidelijke opname voor, behoud de oorspronkelijke taal en namen en vermijd ernstige oversturing of onnodige verwerking die spraakdetails verwijdert. Gangbare gedocumenteerde invoerformaten zijn WAV, MP3, FLAC, M4A, AAC, OGG, Opus en WebM. Kies een invoerweergave die door de transcriptie-implementatie wordt ondersteund en bewaar de bronopname voor controle.</p><p>Het standaardantwoord bevat de herkende tekst, informatie over de gedetecteerde taal en een reeks woorden met tijdsaanduidingen. Woordrecords kunnen begin- en eindtijden, sprekeridentificaties en een logwaarschijnlijkheid voor de herkenning bevatten. Hierdoor is het resultaat bruikbaar voor ondertitels, doorzoekbare interviews of een editor die terugspringt naar het relevante geluid. Bewaar het resultaat met tijdsaanduidingen bij de bronaudio. Voor een podcast kan het resultaat bijvoorbeeld een bewerkbare transcriptie zijn en een per woord uitgelijnde registratie waarmee correcties kunnen worden gelokaliseerd voordat ondertitels worden ingedeeld.</p><p>Sprekerdiarisatie labelt wie wanneer spreekt in audio met meerdere sprekers, waarbij de maker maximaal 32 sprekers documenteert. Schakel deze in wanneer sprekerbeurten belangrijk zijn en geef een redelijk aantal sprekers op als die informatie bekend is. Maak onderscheid tussen een gedetecteerd sprekerlabel en de geverifieerde naam van een persoon. Controleer voor een interview of vergadering de sprekerwisselingen aan de hand van de opname, vooral waar stemmen overlappen of op elkaar lijken. Een label helpt de transcriptie te ordenen; het stelt de identiteit van de spreker niet zelfstandig vast.</p><p>Een opname met één spreker per kanaal heeft een andere structuur dan meerdere stemmen die in één kanaal zijn gemengd. De interface van de producent kan maximaal vijf kanalen onafhankelijk verwerken en afzonderlijke transcripties of een gecombineerde transcriptie in tijdvolgorde teruggeven, met kanaalindexen. Behoud die kanaalindeling wanneer deze betekenisvol is. Het samenvoegen van een gescheiden gespreksopname tot één kanaal vóór transcriptie kan een nuttige bron van sprekerinformatie verloren laten gaan. Houd toewijzing op basis van kanalen gescheiden van diarisatie die uit gemengde audio wordt afgeleid. Het antwoord met gecombineerde kanalen vereist tijdstempels en kan geen detectie of maskering van entiteiten bevatten.</p><p>Prompting met sleuteltermen stuurt de herkenning van namen, producttermen en specialistische woordenschat met behulp van context. De huidige batch-documentatie staat maximaal 1.000 termen toe, waarbij elke term minder dan 50 tekens en maximaal vijf woorden bevat. Geef relevante schrijfwijzen op in plaats van een brede, niet-gerelateerde catalogus. Geef voor een technisch interview de productnamen en afkortingen die waarschijnlijk voorkomen en controleer deze vervolgens op hun tijdstippen in het resultaat. Sleuteltermen beïnvloeden de herkenning; het zijn geen instructies om een term in te voegen wanneer de opname deze niet ondersteunt.</p><p>Bepaal het doel van de transcriptie voordat je deze opschoont. Een woordelijke registratie behoudt de gesproken bewoordingen, terwijl de gedocumenteerde optie no-verbatim opvulwoorden, valse starts en haperingen verwijdert voor een beter leesbaar resultaat. Dynamische audiotags kunnen niet-spraakgebeurtenissen identificeren, zoals gelach of voetstappen. Een verzorgde transcriptie kan nuttig zijn voor ondertiteling of lezen, maar mag de onbewerkte registratie niet stilzwijgend vervangen wanneer herhalingen, correcties of niet-spraakgeluiden belangrijk zijn voor de opdracht.</p><p>De maker documenteert ook detectie van entiteiten en experimentele transcriptiebewerking. Transcriptiebewerking kan in de interface van de producent niet worden gecombineerd met detectie van entiteiten, maskering van entiteiten of meerkanaalstranscriptie. Gedetecteerde entiteiten geven gestructureerde posities voor geselecteerde informatie in de transcriptie. Optionele maskering van entiteiten schermt gedetecteerde tekst af met vervangende labels; ze is afhankelijk van detectie van entiteiten en de entiteitenlijst wordt niet teruggegeven wanneer maskering is ingeschakeld. De maskering gebeurt tijdens de transcriptie, met een algemene vervangingsmarkering, een categorielabel of een genummerd categorielabel. Automatische maskering kan gevoelige inhoud missen, dus controleer de gemaskeerde transcriptie voordat je deze deelt. Een bewerking in natuurlijke taal geeft bewerkte tekst naast het oorspronkelijke resultaat terug, waarbij de oorspronkelijke tijdsaanduidingen en sprekerregistratie beschikbaar blijven. Houd die resultaten gescheiden: een gecorrigeerde schrijfwijze of opnieuw opgemaakte zin moet mogelijk opnieuw worden gecontroleerd voordat deze op de audio wordt uitgelijnd of in een latere extractie wordt gebruikt. Deze functies verwerken de transcriptie; ze stellen niet vast dat elk belangrijk detail correct is herkend.</p><p>Controleer voor een afgeronde transcriptie namen, getallen, ontkenningen en sprekerwisselingen door terug te gaan naar de bijbehorende audio. Besteed aandacht aan zachte passages, overlap en taalwisselingen in plaats van de kwaliteit alleen op vloeiende tekst te beoordelen. Behoud onzekere bewoordingen voor correctie in plaats van een onhoorbare passage met een aannemelijke zin aan te vullen. Het bruikbare resultaat is een gecontroleerde tekstregistratie met de tijdsaanduidingen en sprekerinformatie die nodig zijn voor het beoogde gebruik; een transcriptie kan vervolgens invoer worden voor een afzonderlijke stap voor samenvatting, vertaling of analyse.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Beschikbaar in Ailoot · invoer en methoden</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Transcriptie</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Invoertypen</dt><dd><code>audio</code></dd></div><div><dt>Uitvoertypen</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Veld</th><th>Type</th><th>Vereiste</th><th>Waarden en limieten</th><th>Standaard</th></tr></thead><tbody><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Vereist</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>elevenlabs/scribe-v2</div></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Vereist</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Methodeparameters en levenscyclus</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Contract</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>model, input_audio</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>audio</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_conditions</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>Het voorbeeld leest uw eigen niet-lege PCM WAV-bestand, codeert alle bestandsbytes als base64 en verstuurt input_audio.format als wav.</td></tr></tbody></table></div><p>Levenscyclus: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · exacte task_id uit een bestaand mediarecord dat u bezit</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarieven</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.</p><dl data-price-conditions><dt>Snelle modus</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer de snelle modus is geselecteerd</span></dd><dt>Flexmodus</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer de modus flex is geselecteerd</span></dd><dt>Maximale redeneerinspanning</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-tarieven</h4><h4>Prijzen per configuratie</h4><p class=\"note-s\">Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuratie</th><th>Tariefstaffel</th><th>Rekeneenheid</th><th>Kosten</th></tr></thead><tbody><tr><th data-cell-label=\"Configuratie\" scope=\"row\"><span class=\"card-cell-label\">Configuratie</span>Basistarieven voor tokens</th><td data-cell-label=\"Tariefstaffel\"><span class=\"card-cell-label\">Tariefstaffel</span>Basistarief</td><td data-cell-label=\"Rekeneenheid\"><span class=\"card-cell-label\">Rekeneenheid</span>—</td><td data-cell-label=\"Kosten\"><span class=\"card-cell-label\">Kosten</span><div><span>Invoer · Invoertokens</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Uitvoer · Uitvoertokens</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache lezen</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache schrijven</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache schrijven, 1 uur</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuratie\" scope=\"row\"><span class=\"card-cell-label\">Configuratie</span>seconde audio-invoer</th><td data-cell-label=\"Tariefstaffel\"><span class=\"card-cell-label\">Tariefstaffel</span>—</td><td data-cell-label=\"Rekeneenheid\"><span class=\"card-cell-label\">Rekeneenheid</span>per seconde audio-invoer</td><td data-cell-label=\"Kosten\"><span class=\"card-cell-label\">Kosten</span><div><span>Invoer · seconde audio-invoer</span> <b>$0.0001222222222222</b> <span class=\"price-unit\">per seconde audio-invoer</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. <a href=\"/docs/nl/billing/reserve/\">Zo werken reservering en afrekening →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Voorbeeldverzoeken</h3><h4>Ailoot Ultra · Transcriptie</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Codevarianten\"><button class=\"cg-tab\" id=\"model-code-1328-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1328-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · daadwerkelijk WAV-bestand en volledig oorspronkelijk resultaat</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Code kopiëren\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1328-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1328-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;elevenlabs/scribe-v2&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Resultaten ophalen en opslaan</h3><h4>Ailoot Ultra · Transcriptie</h4><p class=\"note-s\">Volledige oorspronkelijke antwoordbody, status en doorgestuurde headers. Deze handler voegt geen universele JSON-structuur, tekstveld of taakenvelop toe.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Alle voltooide resultaten bewaren</h5><p class=\"note-s\">Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.</p><p class=\"note-s\">Bewaar het volledige antwoord en de headers, alle daadwerkelijke uitvoer, de oorspronkelijk geretourneerde identificatoren en alle gebruiksvelden. Herstel de oorspronkelijke bewerking zonder de aanmaakaanvraag opnieuw in te dienen.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Als het oorspronkelijke antwoord moet worden gecontroleerd</h5><p class=\"note-s\">Bewaar de daadwerkelijke X-Client-Request-ID en het volledige antwoord. Lees de oorspronkelijke assets die u bezit en hun exacte ondertekende inhouds-URLs; dien een onzekere aanmaak nooit opnieuw in.</p></div><details class=\"card-about\" data-output-fields><summary>Antwoordvelden</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Veld</th><th>Type</th></tr></thead><tbody><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span></td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Fouten en vervolgstappen</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Antwoord</th><th>Voorwaarde</th><th>Volgende stap</th></tr></thead><tbody><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>De JSON-body of expliciete canonieke model-ID is ongeldig.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar het antwoord en corrigeer het aangegeven verzoekveld.</td></tr><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>De Ailoot API-sleutel is ongeldig.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Gebruik uw geautoriseerde Ailoot API-sleutel.</td></tr><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>403 · <code>permission_error</code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>De sleutelgroep laat deze methode niet toe.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar de geretourneerde foutdetails.</td></tr><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>De geselecteerde methode heeft geen toegelaten route.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar de geretourneerde foutdetails.</td></tr><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>Het geaccepteerde tarief kan de vereiste invoerhoeveelheid of bovengrens niet verkrijgen.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar het antwoord; gebruik de invoerweergave die het geaccepteerde tarief vereist.</td></tr><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>503 · <code></code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>Vereiste opslag, route, methodeprijs of reservering is niet beschikbaar.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar het volledige oorspronkelijke antwoord. Een onzekere reservering geeft geen toestemming om opnieuw in te dienen.</td></tr><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>502 · <code>server_error</code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>Het oorspronkelijke resultaat, gebruik of de afrekening moet worden gecontroleerd.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar de daadwerkelijke verzoek-ID en het oorspronkelijke antwoord. Lees het bestaande record dat u bezit; dien de aanmaak niet opnieuw in.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasnamen</h3><h4>Modelaliasnamen</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=elevenlabs%2Fscribe-v2&amp;route=Ultra&amp;caller=elevenlabs%2Fscribe-v2&amp;fmt=transcriptions\"><code>elevenlabs/scribe-v2</code></a></span></p><h4>Aliasnamen voor methodepaden</h4><p class=\"note-s\">Gebruik de hierboven getoonde methodepaden.</p><h4>Gerelateerde aanroeper-ID’s</h4><p class=\"note-s\"><a href=\"#m=elevenlabs%2Fscribe-v2&amp;route=Ultra&amp;caller=elevenlabs%2Fscribe-v2&amp;fmt=transcriptions\"><code>elevenlabs/scribe-v2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "elevenlabs/scribe-v2",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|elevenlabs%2Fscribe-v2",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "De JSON-body of expliciete canonieke model-ID is ongeldig.",
                "http_status": 400,
                "recovery": "Bewaar het antwoord en corrigeer het aangegeven verzoekveld.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "De Ailoot API-sleutel is ongeldig.",
                "http_status": 401,
                "recovery": "Gebruik uw geautoriseerde Ailoot API-sleutel.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "De sleutelgroep laat deze methode niet toe.",
                "http_status": 403,
                "recovery": "Bewaar de geretourneerde foutdetails.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "De geselecteerde methode heeft geen toegelaten route.",
                "http_status": 404,
                "recovery": "Bewaar de geretourneerde foutdetails.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Het geaccepteerde tarief kan de vereiste invoerhoeveelheid of bovengrens niet verkrijgen.",
                "http_status": 422,
                "recovery": "Bewaar het antwoord; gebruik de invoerweergave die het geaccepteerde tarief vereist.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Vereiste opslag, route, methodeprijs of reservering is niet beschikbaar.",
                "http_status": 503,
                "recovery": "Bewaar het volledige oorspronkelijke antwoord. Een onzekere reservering geeft geen toestemming om opnieuw in te dienen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Het oorspronkelijke resultaat, gebruik of de afrekening moet worden gecontroleerd.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Bewaar de daadwerkelijke verzoek-ID en het oorspronkelijke antwoord. Lees het bestaande record dat u bezit; dien de aanmaak niet opnieuw in.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Bewaar de daadwerkelijke X-Client-Request-ID en het volledige antwoord. Lees de oorspronkelijke assets die u bezit en hun exacte ondertekende inhouds-URLs; dien een onzekere aanmaak nooit opnieuw in."
            },
            "outputs": {
              "all_results": "Bewaar het volledige antwoord en de headers, alle daadwerkelijke uitvoer, de oorspronkelijk geretourneerde identificatoren en alle gebruiksvelden. Herstel de oorspronkelijke bewerking zonder de aanmaakaanvraag opnieuw in te dienen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Volledige oorspronkelijke antwoordbody, status en doorgestuurde headers. Deze handler voegt geen universele JSON-structuur, tekstveld of taakenvelop toe."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "elevenlabs/scribe-v2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "elevenlabs/scribe-v2"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "elevenlabs/scribe-v2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Het voorbeeld leest uw eigen niet-lege PCM WAV-bestand, codeert alle bestandsbytes als base64 en verstuurt input_audio.format als wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "exacte task_id uit een bestaand mediarecord dat u bezit",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'elevenlabs/scribe-v2', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Transcriptie",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0001222222222222
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "elevenlabs/scribe-v2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "fef2b95264227471808d7dc9b17acfe9ab1241e5133efbb0ff60ba18136f019e",
    "input_html_sha256": "b550a06d5d63ef929b25acf54a58026772f509df9fee80b9fc43da7b98fef330",
    "private_audit_sha256": "d9f3eb2a06e48dcf04519fbecd51f952ee503e41f8ceb295cf876177a9d7c4be",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/nl/elevenlabs-scribe-v2/",
    "description": "ElevenLabs Scribe v2 transcribeert opgenomen audio in meer dan 90 talen, met tijdsaanduidingen op woordniveau, optionele sprekerdiarisatie en tags voor niet-spraakgebeurtenissen. Het is gebouwd voor lange opnamen, ondertiteling en bewerkbare transcripties, met contextuele sleuteltermen en keuzes voor woordelijke of opgeschoonde transcriptie.",
    "locale": "nl",
    "md_url": "https://ailoot.ai/models/nl/elevenlabs-scribe-v2/index.md",
    "title": "ElevenLabs: Scribe v2 — Ailoot",
    "url": "https://ailoot.ai/models/nl/elevenlabs-scribe-v2/"
  },
  "rawModel": {
    "about": "ElevenLabs Scribe v2 is het batch-model voor spraakherkenning van opgenomen audio, transcriptie en ondertiteling, inclusief ondertitels voor doven en slechthorenden. Het bouwt voort op Scribe v1 met verbeterde verwerking van lange opnamen, pauzes, toonveranderingen en langdurige stilte. Het resultaat is uitgeschreven spraak met tijdsinformatie en optionele annotaties voor sprekers en audiogebeurtenissen. Scribe v2 Realtime is een afzonderlijke editie voor live-transcriptie; dit model is bedoeld voor de verwerking van volledige opnamen.\n\nDe maker documenteert herkenning in meer dan 90 talen en automatische taaldetectie, ook bij opnamen waarin van taal wordt gewisseld. Een aanwijzing over de bekende taal kan het model helpen de audio te interpreteren. Bereid een duidelijke opname voor, behoud de oorspronkelijke taal en namen en vermijd ernstige oversturing of onnodige verwerking die spraakdetails verwijdert. Gangbare gedocumenteerde invoerformaten zijn WAV, MP3, FLAC, M4A, AAC, OGG, Opus en WebM. Kies een invoerweergave die door de transcriptie-implementatie wordt ondersteund en bewaar de bronopname voor controle.\n\nHet standaardantwoord bevat de herkende tekst, informatie over de gedetecteerde taal en een reeks woorden met tijdsaanduidingen. Woordrecords kunnen begin- en eindtijden, sprekeridentificaties en een logwaarschijnlijkheid voor de herkenning bevatten. Hierdoor is het resultaat bruikbaar voor ondertitels, doorzoekbare interviews of een editor die terugspringt naar het relevante geluid. Bewaar het resultaat met tijdsaanduidingen bij de bronaudio. Voor een podcast kan het resultaat bijvoorbeeld een bewerkbare transcriptie zijn en een per woord uitgelijnde registratie waarmee correcties kunnen worden gelokaliseerd voordat ondertitels worden ingedeeld.\n\nSprekerdiarisatie labelt wie wanneer spreekt in audio met meerdere sprekers, waarbij de maker maximaal 32 sprekers documenteert. Schakel deze in wanneer sprekerbeurten belangrijk zijn en geef een redelijk aantal sprekers op als die informatie bekend is. Maak onderscheid tussen een gedetecteerd sprekerlabel en de geverifieerde naam van een persoon. Controleer voor een interview of vergadering de sprekerwisselingen aan de hand van de opname, vooral waar stemmen overlappen of op elkaar lijken. Een label helpt de transcriptie te ordenen; het stelt de identiteit van de spreker niet zelfstandig vast.\n\nEen opname met één spreker per kanaal heeft een andere structuur dan meerdere stemmen die in één kanaal zijn gemengd. De interface van de producent kan maximaal vijf kanalen onafhankelijk verwerken en afzonderlijke transcripties of een gecombineerde transcriptie in tijdvolgorde teruggeven, met kanaalindexen. Behoud die kanaalindeling wanneer deze betekenisvol is. Het samenvoegen van een gescheiden gespreksopname tot één kanaal vóór transcriptie kan een nuttige bron van sprekerinformatie verloren laten gaan. Houd toewijzing op basis van kanalen gescheiden van diarisatie die uit gemengde audio wordt afgeleid. Het antwoord met gecombineerde kanalen vereist tijdstempels en kan geen detectie of maskering van entiteiten bevatten.\n\nPrompting met sleuteltermen stuurt de herkenning van namen, producttermen en specialistische woordenschat met behulp van context. De huidige batch-documentatie staat maximaal 1.000 termen toe, waarbij elke term minder dan 50 tekens en maximaal vijf woorden bevat. Geef relevante schrijfwijzen op in plaats van een brede, niet-gerelateerde catalogus. Geef voor een technisch interview de productnamen en afkortingen die waarschijnlijk voorkomen en controleer deze vervolgens op hun tijdstippen in het resultaat. Sleuteltermen beïnvloeden de herkenning; het zijn geen instructies om een term in te voegen wanneer de opname deze niet ondersteunt.\n\nBepaal het doel van de transcriptie voordat je deze opschoont. Een woordelijke registratie behoudt de gesproken bewoordingen, terwijl de gedocumenteerde optie no-verbatim opvulwoorden, valse starts en haperingen verwijdert voor een beter leesbaar resultaat. Dynamische audiotags kunnen niet-spraakgebeurtenissen identificeren, zoals gelach of voetstappen. Een verzorgde transcriptie kan nuttig zijn voor ondertiteling of lezen, maar mag de onbewerkte registratie niet stilzwijgend vervangen wanneer herhalingen, correcties of niet-spraakgeluiden belangrijk zijn voor de opdracht.\n\nDe maker documenteert ook detectie van entiteiten en experimentele transcriptiebewerking. Transcriptiebewerking kan in de interface van de producent niet worden gecombineerd met detectie van entiteiten, maskering van entiteiten of meerkanaalstranscriptie. Gedetecteerde entiteiten geven gestructureerde posities voor geselecteerde informatie in de transcriptie. Optionele maskering van entiteiten schermt gedetecteerde tekst af met vervangende labels; ze is afhankelijk van detectie van entiteiten en de entiteitenlijst wordt niet teruggegeven wanneer maskering is ingeschakeld. De maskering gebeurt tijdens de transcriptie, met een algemene vervangingsmarkering, een categorielabel of een genummerd categorielabel. Automatische maskering kan gevoelige inhoud missen, dus controleer de gemaskeerde transcriptie voordat je deze deelt. Een bewerking in natuurlijke taal geeft bewerkte tekst naast het oorspronkelijke resultaat terug, waarbij de oorspronkelijke tijdsaanduidingen en sprekerregistratie beschikbaar blijven. Houd die resultaten gescheiden: een gecorrigeerde schrijfwijze of opnieuw opgemaakte zin moet mogelijk opnieuw worden gecontroleerd voordat deze op de audio wordt uitgelijnd of in een latere extractie wordt gebruikt. Deze functies verwerken de transcriptie; ze stellen niet vast dat elk belangrijk detail correct is herkend.\n\nControleer voor een afgeronde transcriptie namen, getallen, ontkenningen en sprekerwisselingen door terug te gaan naar de bijbehorende audio. Besteed aandacht aan zachte passages, overlap en taalwisselingen in plaats van de kwaliteit alleen op vloeiende tekst te beoordelen. Behoud onzekere bewoordingen voor correctie in plaats van een onhoorbare passage met een aannemelijke zin aan te vullen. Het bruikbare resultaat is een gecontroleerde tekstregistratie met de tijdsaanduidingen en sprekerinformatie die nodig zijn voor het beoogde gebruik; een transcriptie kan vervolgens invoer worden voor een afzonderlijke stap voor samenvatting, vertaling of analyse.",
    "alias_of": null,
    "aliases": [],
    "author": "ElevenLabs",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "De volledige prijsinformatie voor de configuratie vindt u bij de details."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "elevenlabs/scribe-v2",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "De JSON-body of expliciete canonieke model-ID is ongeldig.",
                "http_status": 400,
                "recovery": "Bewaar het antwoord en corrigeer het aangegeven verzoekveld.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "De Ailoot API-sleutel is ongeldig.",
                "http_status": 401,
                "recovery": "Gebruik uw geautoriseerde Ailoot API-sleutel.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "De sleutelgroep laat deze methode niet toe.",
                "http_status": 403,
                "recovery": "Bewaar de geretourneerde foutdetails.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "De geselecteerde methode heeft geen toegelaten route.",
                "http_status": 404,
                "recovery": "Bewaar de geretourneerde foutdetails.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Het geaccepteerde tarief kan de vereiste invoerhoeveelheid of bovengrens niet verkrijgen.",
                "http_status": 422,
                "recovery": "Bewaar het antwoord; gebruik de invoerweergave die het geaccepteerde tarief vereist.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Vereiste opslag, route, methodeprijs of reservering is niet beschikbaar.",
                "http_status": 503,
                "recovery": "Bewaar het volledige oorspronkelijke antwoord. Een onzekere reservering geeft geen toestemming om opnieuw in te dienen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Het oorspronkelijke resultaat, gebruik of de afrekening moet worden gecontroleerd.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Bewaar de daadwerkelijke verzoek-ID en het oorspronkelijke antwoord. Lees het bestaande record dat u bezit; dien de aanmaak niet opnieuw in.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Bewaar de daadwerkelijke X-Client-Request-ID en het volledige antwoord. Lees de oorspronkelijke assets die u bezit en hun exacte ondertekende inhouds-URLs; dien een onzekere aanmaak nooit opnieuw in."
            },
            "outputs": {
              "all_results": "Bewaar het volledige antwoord en de headers, alle daadwerkelijke uitvoer, de oorspronkelijk geretourneerde identificatoren en alle gebruiksvelden. Herstel de oorspronkelijke bewerking zonder de aanmaakaanvraag opnieuw in te dienen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Volledige oorspronkelijke antwoordbody, status en doorgestuurde headers. Deze handler voegt geen universele JSON-structuur, tekstveld of taakenvelop toe."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "elevenlabs/scribe-v2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "elevenlabs/scribe-v2"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "elevenlabs/scribe-v2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Het voorbeeld leest uw eigen niet-lege PCM WAV-bestand, codeert alle bestandsbytes als base64 en verstuurt input_audio.format als wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "exacte task_id uit een bestaand mediarecord dat u bezit",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'elevenlabs/scribe-v2', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "Transcriptie",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.0001222222222222
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001222222222222",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001222222222222",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "elevenlabs/scribe-v2",
        "request_model_id": "elevenlabs/scribe-v2",
        "route_label": "Ultra"
      }
    ],
    "name": "ElevenLabs: Scribe v2",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "ElevenLabs Scribe v2 transcribeert opgenomen audio in meer dan 90 talen, met tijdsaanduidingen op woordniveau, optionele sprekerdiarisatie en tags voor niet-spraakgebeurtenissen. Het is gebouwd voor lange opnamen, ondertiteling en bewerkbare transcripties, met contextuele sleuteltermen en keuzes voor woordelijke of opgeschoonde transcriptie."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "ElevenLabs Scribe v2 transcribeert opgenomen audio in meer dan 90 talen, met tijdsaanduidingen op woordniveau, optionele sprekerdiarisatie en tags voor niet-spraakgebeurtenissen. Het is gebouwd voor lange opnamen, ondertiteling en bewerkbare transcripties, met contextuele sleuteltermen en keuzes voor woordelijke of opgeschoonde transcriptie.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "7656f23acdac6f263871e2c79c54a1196ae6fa9a3845996fb2503fb7e9747cb7",
    "renderer_sha256": "be7649af06bb0ae446191041c6cfb8a9b83a53896c8c6e9173e76a39d513e829"
  },
  "sourceRevision": "f536d235ab0079acfa076e84f65a893805f753049c19251476a4a4f77a11ff8b"
}
