{
  "aboutHtml": "<p>ElevenLabs Scribe v2 är modellen för taligenkänning i batch för inspelat ljud, transkribering och undertextning, även med ljudbeskrivande textning. Den bygger vidare på Scribe v1 med förbättrad hantering av långa inspelningar, pauser, tonfallsförändringar och längre tystnad. Resultatet är skriftligt återgivet tal med tidsinformation och valfria annoteringar av talare och ljudhändelser. Scribe v2 Realtime är en separat utgåva för direkttranskribering; denna modells syfte är att bearbeta fullständiga inspelningar.</p><p>Tillverkaren dokumenterar igenkänning på fler än 90 språk och automatisk språkidentifiering, inklusive inspelningar med språkväxling. En uppgift om det kända språket kan hjälpa modellen att tolka ljudet. Förbered en tydlig inspelning, bevara originalspråket och namnen och undvik kraftig klippdistorsion eller onödig bearbetning som tar bort detaljer i talet. Vanliga dokumenterade indataformat är WAV, MP3, FLAC, M4A, AAC, OGG, Opus och WebM. Välj en representation av indata som transkriberingsimplementationen stöder och bevara källinspelningen för granskning.</p><p>Standardsvaret innehåller den igenkända texten, information om det identifierade språket och en följd av tidsatta ord. Ordposterna kan innehålla start- och sluttider, talaridentifierare och en logaritmerad sannolikhet för igenkänningen. Det gör resultatet användbart för undertexter, sökbara intervjuer eller en redigerare som hoppar tillbaka till motsvarande ljud. Spara det tidsatta resultatet tillsammans med källjudet. För en podd kan leveransen exempelvis vara ett redigerbart transkript och ett ordtidsatt underlag som gör det möjligt att hitta korrigeringar innan undertexterna arrangeras.</p><p>Talardiarisering märker upp vem som talar när i ljud med flera talare, med upp till 32 talare enligt tillverkarens dokumentation. Aktivera den när talarbyten är viktiga och ange ett rimligt antal talare om den informationen är känd. Skilj en detekterad talaretikett från en verifierad persons namn. För en intervju eller ett möte kontrollerar du talarbyten mot inspelningen, särskilt där röster överlappar eller låter lika. En etikett hjälper till att organisera transkriptet; den fastställer inte på egen hand talarens identitet.</p><p>En inspelning med en talare per kanal har en annan struktur än flera röster som blandats i en kanal. Leverantörens gränssnitt kan bearbeta upp till fem kanaler oberoende av varandra och returnera separata transkript eller ett kombinerat transkript i tidsordning med kanalindex. Bevara kanalstrukturen när den är betydelsefull. Om en kanaluppdelad samtalsinspelning slås ihop före transkriberingen kan en användbar källa till talarinformation gå förlorad. Skilj kanalbaserad talartilldelning från diariseringsresultat som härletts ur blandat ljud. Svaret med kombinerade kanaler kräver tidsstämplar och kan inte innehålla entitetsidentifiering eller maskering.</p><p>Nyckeltermer i prompten vägleder igenkänningen av namn, produkttermer och fackvokabulär utifrån sammanhanget. Den aktuella batchdokumentationen tillåter upp till 1 000 termer, där varje term ska vara kortare än 50 tecken och bestå av högst fem ord. Ge relevanta stavningar i stället för en bred, orelaterad katalog. För en teknisk intervju anger du de produktnamn och förkortningar som sannolikt förekommer och kontrollerar dem sedan vid deras tidsangivelser i resultatet. Nyckeltermer styr igenkänningen; de är inte instruktioner att infoga en term som inspelningen inte ger stöd för.</p><p>Bestäm transkriptets syfte innan du tillämpar språklig bearbetning. En ordagrann återgivning behåller den talade ordalydelsen, medan det dokumenterade alternativet no-verbatim tar bort utfyllnadsord, avbrutna ansatser och andra avbrott i talflytet för ett mer lättläst resultat. Dynamisk ljudtaggning kan identifiera händelser som inte är tal, exempelvis skratt eller fotsteg. Ett bearbetat transkript kan vara användbart för undertexter eller läsning, men bör inte tyst ersätta råtranskriptet när upprepningar, korrigeringar eller andra ljud än tal är viktiga för uppgiften.</p><p>Tillverkaren dokumenterar också entitetsidentifiering och experimentell transkriptredigering. Transkriptredigering kan inte kombineras med entitetsidentifiering, entitetsmaskering eller flerkanalstranskribering i leverantörens gränssnitt. Identifierade entiteter ger strukturerade positionsuppgifter för utvald information i transkriptet. Valfri entitetsmaskering döljer identifierad text med ersättningsetiketter; den förutsätter entitetsidentifiering och entitetslistan returneras inte när maskering är aktiverad. Maskeringen sker under transkriberingen med en generell ersättningsmarkör, en kategorietikett eller en numrerad kategorietikett. Automatisk maskering kan missa känsligt innehåll, så granska det maskerade transkriptet innan du delar det. En redigering med naturligt språk returnerar en redigerad text tillsammans med originalresultatet, medan det ursprungliga underlaget för tidsangivelser och talare finns kvar. Håll dessa resultat åtskilda: en korrigerad stavning eller omformaterad mening kan behöva kontrolleras på nytt innan den anpassas till ljudets tidslinje eller används i en efterföljande extraktion. Funktionerna bearbetar transkriptet; de fastställer inte att varje viktig detalj har uppfattats korrekt.</p><p>För ett färdigt transkript granskar du namn, tal, negationer och talarbyten genom att återvända till motsvarande ljud. Uppmärksamma tysta avsnitt, överlappningar och språkväxlingar i stället för att bedöma kvaliteten enbart utifrån välformulerad text. Behåll osäker ordalydelse för korrigering i stället för att fylla ett ohörbart avsnitt med en plausibel mening. Det användbara resultatet är ett kontrollerat textunderlag med den tidsinformation och talarinformation som behövs för den avsedda användningen; ett transkript kan sedan bli indata för ett separat steg för sammanfattning, översättning eller analys.</p>",
  "aboutText": "ElevenLabs Scribe v2 är modellen för taligenkänning i batch för inspelat ljud, transkribering och undertextning, även med ljudbeskrivande textning. Den bygger vidare på Scribe v1 med förbättrad hantering av långa inspelningar, pauser, tonfallsförändringar och längre tystnad. Resultatet är skriftligt återgivet tal med tidsinformation och valfria annoteringar av talare och ljudhändelser. Scribe v2 Realtime är en separat utgåva för direkttranskribering; denna modells syfte är att bearbeta fullständiga inspelningar.\n\nTillverkaren dokumenterar igenkänning på fler än 90 språk och automatisk språkidentifiering, inklusive inspelningar med språkväxling. En uppgift om det kända språket kan hjälpa modellen att tolka ljudet. Förbered en tydlig inspelning, bevara originalspråket och namnen och undvik kraftig klippdistorsion eller onödig bearbetning som tar bort detaljer i talet. Vanliga dokumenterade indataformat är WAV, MP3, FLAC, M4A, AAC, OGG, Opus och WebM. Välj en representation av indata som transkriberingsimplementationen stöder och bevara källinspelningen för granskning.\n\nStandardsvaret innehåller den igenkända texten, information om det identifierade språket och en följd av tidsatta ord. Ordposterna kan innehålla start- och sluttider, talaridentifierare och en logaritmerad sannolikhet för igenkänningen. Det gör resultatet användbart för undertexter, sökbara intervjuer eller en redigerare som hoppar tillbaka till motsvarande ljud. Spara det tidsatta resultatet tillsammans med källjudet. För en podd kan leveransen exempelvis vara ett redigerbart transkript och ett ordtidsatt underlag som gör det möjligt att hitta korrigeringar innan undertexterna arrangeras.\n\nTalardiarisering märker upp vem som talar när i ljud med flera talare, med upp till 32 talare enligt tillverkarens dokumentation. Aktivera den när talarbyten är viktiga och ange ett rimligt antal talare om den informationen är känd. Skilj en detekterad talaretikett från en verifierad persons namn. För en intervju eller ett möte kontrollerar du talarbyten mot inspelningen, särskilt där röster överlappar eller låter lika. En etikett hjälper till att organisera transkriptet; den fastställer inte på egen hand talarens identitet.\n\nEn inspelning med en talare per kanal har en annan struktur än flera röster som blandats i en kanal. Leverantörens gränssnitt kan bearbeta upp till fem kanaler oberoende av varandra och returnera separata transkript eller ett kombinerat transkript i tidsordning med kanalindex. Bevara kanalstrukturen när den är betydelsefull. Om en kanaluppdelad samtalsinspelning slås ihop före transkriberingen kan en användbar källa till talarinformation gå förlorad. Skilj kanalbaserad talartilldelning från diariseringsresultat som härletts ur blandat ljud. Svaret med kombinerade kanaler kräver tidsstämplar och kan inte innehålla entitetsidentifiering eller maskering.\n\nNyckeltermer i prompten vägleder igenkänningen av namn, produkttermer och fackvokabulär utifrån sammanhanget. Den aktuella batchdokumentationen tillåter upp till 1 000 termer, där varje term ska vara kortare än 50 tecken och bestå av högst fem ord. Ge relevanta stavningar i stället för en bred, orelaterad katalog. För en teknisk intervju anger du de produktnamn och förkortningar som sannolikt förekommer och kontrollerar dem sedan vid deras tidsangivelser i resultatet. Nyckeltermer styr igenkänningen; de är inte instruktioner att infoga en term som inspelningen inte ger stöd för.\n\nBestäm transkriptets syfte innan du tillämpar språklig bearbetning. En ordagrann återgivning behåller den talade ordalydelsen, medan det dokumenterade alternativet no-verbatim tar bort utfyllnadsord, avbrutna ansatser och andra avbrott i talflytet för ett mer lättläst resultat. Dynamisk ljudtaggning kan identifiera händelser som inte är tal, exempelvis skratt eller fotsteg. Ett bearbetat transkript kan vara användbart för undertexter eller läsning, men bör inte tyst ersätta råtranskriptet när upprepningar, korrigeringar eller andra ljud än tal är viktiga för uppgiften.\n\nTillverkaren dokumenterar också entitetsidentifiering och experimentell transkriptredigering. Transkriptredigering kan inte kombineras med entitetsidentifiering, entitetsmaskering eller flerkanalstranskribering i leverantörens gränssnitt. Identifierade entiteter ger strukturerade positionsuppgifter för utvald information i transkriptet. Valfri entitetsmaskering döljer identifierad text med ersättningsetiketter; den förutsätter entitetsidentifiering och entitetslistan returneras inte när maskering är aktiverad. Maskeringen sker under transkriberingen med en generell ersättningsmarkör, en kategorietikett eller en numrerad kategorietikett. Automatisk maskering kan missa känsligt innehåll, så granska det maskerade transkriptet innan du delar det. En redigering med naturligt språk returnerar en redigerad text tillsammans med originalresultatet, medan det ursprungliga underlaget för tidsangivelser och talare finns kvar. Håll dessa resultat åtskilda: en korrigerad stavning eller omformaterad mening kan behöva kontrolleras på nytt innan den anpassas till ljudets tidslinje eller används i en efterföljande extraktion. Funktionerna bearbetar transkriptet; de fastställer inte att varje viktig detalj har uppfattats korrekt.\n\nFör ett färdigt transkript granskar du namn, tal, negationer och talarbyten genom att återvända till motsvarande ljud. Uppmärksamma tysta avsnitt, överlappningar och språkväxlingar i stället för att bedöma kvaliteten enbart utifrån välformulerad text. Behåll osäker ordalydelse för korrigering i stället för att fylla ett ohörbart avsnitt med en plausibel mening. Det användbara resultatet är ett kontrollerat textunderlag med den tidsinformation och talarinformation som behövs för den avsedda användningen; ett transkript kan sedan bli indata för ett separat steg för sammanfattning, översättning eller analys.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "a881bc73bca14070ee414854b481130318e5ed9effa4d040a2c31b9062e998fc",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "sv",
  "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=\"Stäng\">×</button></div><div class=\"idline\"><span>ElevenLabs /</span><code>elevenlabs/scribe-v2</code><button type=\"button\" id=\"copy-id\">Kopiera ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Modellkortets avsnitt\"><button type=\"button\" data-card-jump=\"overview\">Start</button><button type=\"button\" data-card-jump=\"methods\">Indata &amp; metoder</button><button type=\"button\" data-card-jump=\"pricing\">Priser</button><button type=\"button\" data-card-jump=\"examples\">Exempel</button><button type=\"button\" data-card-jump=\"results\">Resultat</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-metoder\"><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\">Igenkänning</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\">Start</h3><p class=\"mdesc-full\">ElevenLabs Scribe v2 transkriberar inspelat ljud på över 90 språk, med tidsangivelser på ordnivå, valfri talardiarisering och taggar för händelser som inte är tal. Den är byggd för långa inspelningar, undertexter och redigerbara transkript, med kontextbaserade nyckeltermer och val mellan ordagrann och bearbetad transkribering.</p><dl class=\"card-io\" data-card-io><div><dt>Godkända indata</dt><dd>Ljud</dd></div><div><dt>Resultat</dt><dd>Text</dd></div></dl><details class=\"card-about\"><summary>Om modellen</summary><p class=\"note-s\" data-model-method-boundary>Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.</p><div class=\"mabout\" id=\"m-about\"><p>ElevenLabs Scribe v2 är modellen för taligenkänning i batch för inspelat ljud, transkribering och undertextning, även med ljudbeskrivande textning. Den bygger vidare på Scribe v1 med förbättrad hantering av långa inspelningar, pauser, tonfallsförändringar och längre tystnad. Resultatet är skriftligt återgivet tal med tidsinformation och valfria annoteringar av talare och ljudhändelser. Scribe v2 Realtime är en separat utgåva för direkttranskribering; denna modells syfte är att bearbeta fullständiga inspelningar.</p><p>Tillverkaren dokumenterar igenkänning på fler än 90 språk och automatisk språkidentifiering, inklusive inspelningar med språkväxling. En uppgift om det kända språket kan hjälpa modellen att tolka ljudet. Förbered en tydlig inspelning, bevara originalspråket och namnen och undvik kraftig klippdistorsion eller onödig bearbetning som tar bort detaljer i talet. Vanliga dokumenterade indataformat är WAV, MP3, FLAC, M4A, AAC, OGG, Opus och WebM. Välj en representation av indata som transkriberingsimplementationen stöder och bevara källinspelningen för granskning.</p><p>Standardsvaret innehåller den igenkända texten, information om det identifierade språket och en följd av tidsatta ord. Ordposterna kan innehålla start- och sluttider, talaridentifierare och en logaritmerad sannolikhet för igenkänningen. Det gör resultatet användbart för undertexter, sökbara intervjuer eller en redigerare som hoppar tillbaka till motsvarande ljud. Spara det tidsatta resultatet tillsammans med källjudet. För en podd kan leveransen exempelvis vara ett redigerbart transkript och ett ordtidsatt underlag som gör det möjligt att hitta korrigeringar innan undertexterna arrangeras.</p><p>Talardiarisering märker upp vem som talar när i ljud med flera talare, med upp till 32 talare enligt tillverkarens dokumentation. Aktivera den när talarbyten är viktiga och ange ett rimligt antal talare om den informationen är känd. Skilj en detekterad talaretikett från en verifierad persons namn. För en intervju eller ett möte kontrollerar du talarbyten mot inspelningen, särskilt där röster överlappar eller låter lika. En etikett hjälper till att organisera transkriptet; den fastställer inte på egen hand talarens identitet.</p><p>En inspelning med en talare per kanal har en annan struktur än flera röster som blandats i en kanal. Leverantörens gränssnitt kan bearbeta upp till fem kanaler oberoende av varandra och returnera separata transkript eller ett kombinerat transkript i tidsordning med kanalindex. Bevara kanalstrukturen när den är betydelsefull. Om en kanaluppdelad samtalsinspelning slås ihop före transkriberingen kan en användbar källa till talarinformation gå förlorad. Skilj kanalbaserad talartilldelning från diariseringsresultat som härletts ur blandat ljud. Svaret med kombinerade kanaler kräver tidsstämplar och kan inte innehålla entitetsidentifiering eller maskering.</p><p>Nyckeltermer i prompten vägleder igenkänningen av namn, produkttermer och fackvokabulär utifrån sammanhanget. Den aktuella batchdokumentationen tillåter upp till 1 000 termer, där varje term ska vara kortare än 50 tecken och bestå av högst fem ord. Ge relevanta stavningar i stället för en bred, orelaterad katalog. För en teknisk intervju anger du de produktnamn och förkortningar som sannolikt förekommer och kontrollerar dem sedan vid deras tidsangivelser i resultatet. Nyckeltermer styr igenkänningen; de är inte instruktioner att infoga en term som inspelningen inte ger stöd för.</p><p>Bestäm transkriptets syfte innan du tillämpar språklig bearbetning. En ordagrann återgivning behåller den talade ordalydelsen, medan det dokumenterade alternativet no-verbatim tar bort utfyllnadsord, avbrutna ansatser och andra avbrott i talflytet för ett mer lättläst resultat. Dynamisk ljudtaggning kan identifiera händelser som inte är tal, exempelvis skratt eller fotsteg. Ett bearbetat transkript kan vara användbart för undertexter eller läsning, men bör inte tyst ersätta råtranskriptet när upprepningar, korrigeringar eller andra ljud än tal är viktiga för uppgiften.</p><p>Tillverkaren dokumenterar också entitetsidentifiering och experimentell transkriptredigering. Transkriptredigering kan inte kombineras med entitetsidentifiering, entitetsmaskering eller flerkanalstranskribering i leverantörens gränssnitt. Identifierade entiteter ger strukturerade positionsuppgifter för utvald information i transkriptet. Valfri entitetsmaskering döljer identifierad text med ersättningsetiketter; den förutsätter entitetsidentifiering och entitetslistan returneras inte när maskering är aktiverad. Maskeringen sker under transkriberingen med en generell ersättningsmarkör, en kategorietikett eller en numrerad kategorietikett. Automatisk maskering kan missa känsligt innehåll, så granska det maskerade transkriptet innan du delar det. En redigering med naturligt språk returnerar en redigerad text tillsammans med originalresultatet, medan det ursprungliga underlaget för tidsangivelser och talare finns kvar. Håll dessa resultat åtskilda: en korrigerad stavning eller omformaterad mening kan behöva kontrolleras på nytt innan den anpassas till ljudets tidslinje eller används i en efterföljande extraktion. Funktionerna bearbetar transkriptet; de fastställer inte att varje viktig detalj har uppfattats korrekt.</p><p>För ett färdigt transkript granskar du namn, tal, negationer och talarbyten genom att återvända till motsvarande ljud. Uppmärksamma tysta avsnitt, överlappningar och språkväxlingar i stället för att bedöma kvaliteten enbart utifrån välformulerad text. Behåll osäker ordalydelse för korrigering i stället för att fylla ett ohörbart avsnitt med en plausibel mening. Det användbara resultatet är ett kontrollerat textunderlag med den tidsinformation och talarinformation som behövs för den avsedda användningen; ett transkript kan sedan bli indata för ett separat steg för sammanfattning, översättning eller analys.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Tillgängligt i Ailoot · indata &amp; metoder</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Transkribering</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Indatatyper</dt><dd><code>audio</code></dd></div><div><dt>Utdatatyper</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Fält</th><th>Typ</th><th>Krav</th><th>Värden &amp; gränser</th><th>Standard</th></tr></thead><tbody><tr><th data-cell-label=\"Fält\" scope=\"row\"><span class=\"card-cell-label\">Fält</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Obligatoriskt</td><td data-cell-label=\"Värden &amp; gränser\"><span class=\"card-cell-label\">Värden &amp; gränser</span><div>elevenlabs/scribe-v2</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr><th data-cell-label=\"Fält\" scope=\"row\"><span class=\"card-cell-label\">Fält</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>object</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Obligatoriskt</td><td data-cell-label=\"Värden &amp; gränser\"><span class=\"card-cell-label\">Värden &amp; gränser</span></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Metodparametrar och livscykel</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Avtal</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=\"Avtal\"><span class=\"card-cell-label\">Avtal</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=\"Avtal\"><span class=\"card-cell-label\">Avtal</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=\"Avtal\"><span class=\"card-cell-label\">Avtal</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=\"Avtal\"><span class=\"card-cell-label\">Avtal</span>Exemplet läser din faktiska, icke-tomma PCM WAV-fil, kodar filens samtliga byte som base64 och skickar input_audio.format som wav.</td></tr></tbody></table></div><p>Livscykel: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · exakt task_id från en befintlig mediepost som du äger</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\">Priser</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.</p><dl data-price-conditions><dt>Snabbt läge</dt><dd>Ej angivet <span class=\"note-s\">När snabbt läge är valt</span></dd><dt>Flex-läge</dt><dd>Ej angivet <span class=\"note-s\">När läget flex är valt</span></dd><dt>Högsta resonemangsnivå</dt><dd>Ej angivet <span class=\"note-s\">När den högsta resonemangsnivån använder standardjusteringen (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-priser</h4><h4>Priser efter konfiguration</h4><p class=\"note-s\">Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfiguration</th><th>Prislista</th><th>Debiteringsenhet</th><th>Avgift</th></tr></thead><tbody><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Grundpriser för token</th><td data-cell-label=\"Prislista\"><span class=\"card-cell-label\">Prislista</span>Grundpris</td><td data-cell-label=\"Debiteringsenhet\"><span class=\"card-cell-label\">Debiteringsenhet</span>—</td><td data-cell-label=\"Avgift\"><span class=\"card-cell-label\">Avgift</span><div><span>Indata · Indatatoken</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Utdata · Utdatatoken</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Indata · Cacheläsning</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Indata · Skrivning till cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Indata · Skrivning till cache, 1 tim</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>sekund inkommande ljud</th><td data-cell-label=\"Prislista\"><span class=\"card-cell-label\">Prislista</span>—</td><td data-cell-label=\"Debiteringsenhet\"><span class=\"card-cell-label\">Debiteringsenhet</span>per sekund indataljud</td><td data-cell-label=\"Avgift\"><span class=\"card-cell-label\">Avgift</span><div><span>Indata · sekund inkommande ljud</span> <b>$0.0001222222222222</b> <span class=\"price-unit\">per sekund indataljud</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. <a href=\"/docs/sv/billing/reserve/\">Så fungerar reservation och slutreglering →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Exempelbegäranden</h3><h4>Ailoot Ultra · Transkribering</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kodvarianter\"><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 · faktisk WAV-fil och hela det ursprungliga resultatet</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiera kod\"><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\">Ta emot och spara resultat</h3><h4>Ailoot Ultra · Transkribering</h4><p class=\"note-s\">Hela den ursprungliga svarskroppen, statusen och vidarebefordrade svarshuvuden. Denna hanterare lägger inte till någon universell JSON-struktur, något textfält eller något uppgiftshölje.</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>Behåll alla färdiga resultat</h5><p class=\"note-s\">Behåll varje fullständigt returnerat svar, fil och innehållsdel.</p><p class=\"note-s\">Spara hela svaret med headers, samtliga faktiska resultat, de ursprungliga returnerade identifierarna och alla användningsfält. Hämta den ursprungliga operationen utan att skicka skapandeförfrågan igen.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Om det ursprungliga svaret behöver kontrolleras</h5><p class=\"note-s\">Behåll faktiskt X-Client-Request-ID och hela svaret. Läs de ursprungliga tillgångarna som du äger och deras exakta signerade innehållslänkar; skicka aldrig en osäker skapandebegäran igen.</p></div><details class=\"card-about\" data-output-fields><summary>Svarsfält</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Fält</th><th>Typ</th></tr></thead><tbody><tr><th data-cell-label=\"Fält\" scope=\"row\"><span class=\"card-cell-label\">Fält</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Fält\" scope=\"row\"><span class=\"card-cell-label\">Fält</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Fel och nästa steg</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Svar</th><th>Villkor</th><th>Nästa steg</th></tr></thead><tbody><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>JSON-kroppen eller det uttryckliga kanoniska modell-ID:t är ogiltigt.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Behåll svaret och korrigera det angivna fältet i begäran.</td></tr><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>API-nyckeln för Ailoot är ogiltig.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Använd din behöriga API-nyckel för Ailoot.</td></tr><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>403 · <code>permission_error</code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>Nyckelgruppen ger inte tillträde till denna metod.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Behåll de returnerade feluppgifterna.</td></tr><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>Den valda metoden har ingen tillåten rutt.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Behåll de returnerade feluppgifterna.</td></tr><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>Den accepterade tariffen kan inte fastställa den mängd eller gräns för indata som krävs.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Behåll svaret; använd den representation av indata som den accepterade tariffen kräver.</td></tr><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>503 · <code></code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>Nödvändig lagring, rutt, metodpris eller reservation är inte tillgänglig.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Behåll hela det ursprungliga svaret. En osäker reservation ger inte tillstånd att skicka in igen.</td></tr><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>502 · <code>server_error</code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>Det ursprungliga resultatet, förbrukningen eller avräkningen kräver kontroll.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Behåll det faktiska begärans-ID:t och det ursprungliga svaret. Läs den befintliga posten som du äger; skicka inte skapandebegäran igen.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Modellalias</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>Alias för metodsökvägar</h4><p class=\"note-s\">Använd metodsökvägarna som visas ovan.</p><h4>Relaterade anropar-ID:n</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": "JSON-kroppen eller det uttryckliga kanoniska modell-ID:t är ogiltigt.",
                "http_status": 400,
                "recovery": "Behåll svaret och korrigera det angivna fältet i begäran.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "API-nyckeln för Ailoot är ogiltig.",
                "http_status": 401,
                "recovery": "Använd din behöriga API-nyckel för Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Nyckelgruppen ger inte tillträde till denna metod.",
                "http_status": 403,
                "recovery": "Behåll de returnerade feluppgifterna.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Den valda metoden har ingen tillåten rutt.",
                "http_status": 404,
                "recovery": "Behåll de returnerade feluppgifterna.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Den accepterade tariffen kan inte fastställa den mängd eller gräns för indata som krävs.",
                "http_status": 422,
                "recovery": "Behåll svaret; använd den representation av indata som den accepterade tariffen kräver.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Nödvändig lagring, rutt, metodpris eller reservation är inte tillgänglig.",
                "http_status": 503,
                "recovery": "Behåll hela det ursprungliga svaret. En osäker reservation ger inte tillstånd att skicka in igen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Det ursprungliga resultatet, förbrukningen eller avräkningen kräver kontroll.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Behåll det faktiska begärans-ID:t och det ursprungliga svaret. Läs den befintliga posten som du äger; skicka inte skapandebegäran igen.",
                "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": "Behåll faktiskt X-Client-Request-ID och hela svaret. Läs de ursprungliga tillgångarna som du äger och deras exakta signerade innehållslänkar; skicka aldrig en osäker skapandebegäran igen."
            },
            "outputs": {
              "all_results": "Spara hela svaret med headers, samtliga faktiska resultat, de ursprungliga returnerade identifierarna och alla användningsfält. Hämta den ursprungliga operationen utan att skicka skapandeförfrågan igen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Hela den ursprungliga svarskroppen, statusen och vidarebefordrade svarshuvuden. Denna hanterare lägger inte till någon universell JSON-struktur, något textfält eller något uppgiftshölje."
            },
            "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": [
              "Exemplet läser din faktiska, icke-tomma PCM WAV-fil, kodar filens samtliga byte som base64 och skickar input_audio.format som 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": "exakt task_id från en befintlig mediepost som du äger",
                "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": "Transkribering",
        "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": "3cbdd6030bd0fe6f869e642ff73fe4748157fc5754e8bf1c3644e9120020debc",
    "input_html_sha256": "12d847763f8eeaa018626a52a6b749418a4cdc2214d6879f247034f7dff83480",
    "private_audit_sha256": "09d832cc4822097102afb4e45d96cafe21a79f299d4cad726312579d47e5f866",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sv/elevenlabs-scribe-v2/",
    "description": "ElevenLabs Scribe v2 transkriberar inspelat ljud på över 90 språk, med tidsangivelser på ordnivå, valfri talardiarisering och taggar för händelser som inte är tal. Den är byggd för långa inspelningar, undertexter och redigerbara transkript, med kontextbaserade nyckeltermer och val mellan ordagrann och bearbetad transkribering.",
    "locale": "sv",
    "md_url": "https://ailoot.ai/models/sv/elevenlabs-scribe-v2/index.md",
    "title": "ElevenLabs: Scribe v2 — Ailoot",
    "url": "https://ailoot.ai/models/sv/elevenlabs-scribe-v2/"
  },
  "rawModel": {
    "about": "ElevenLabs Scribe v2 är modellen för taligenkänning i batch för inspelat ljud, transkribering och undertextning, även med ljudbeskrivande textning. Den bygger vidare på Scribe v1 med förbättrad hantering av långa inspelningar, pauser, tonfallsförändringar och längre tystnad. Resultatet är skriftligt återgivet tal med tidsinformation och valfria annoteringar av talare och ljudhändelser. Scribe v2 Realtime är en separat utgåva för direkttranskribering; denna modells syfte är att bearbeta fullständiga inspelningar.\n\nTillverkaren dokumenterar igenkänning på fler än 90 språk och automatisk språkidentifiering, inklusive inspelningar med språkväxling. En uppgift om det kända språket kan hjälpa modellen att tolka ljudet. Förbered en tydlig inspelning, bevara originalspråket och namnen och undvik kraftig klippdistorsion eller onödig bearbetning som tar bort detaljer i talet. Vanliga dokumenterade indataformat är WAV, MP3, FLAC, M4A, AAC, OGG, Opus och WebM. Välj en representation av indata som transkriberingsimplementationen stöder och bevara källinspelningen för granskning.\n\nStandardsvaret innehåller den igenkända texten, information om det identifierade språket och en följd av tidsatta ord. Ordposterna kan innehålla start- och sluttider, talaridentifierare och en logaritmerad sannolikhet för igenkänningen. Det gör resultatet användbart för undertexter, sökbara intervjuer eller en redigerare som hoppar tillbaka till motsvarande ljud. Spara det tidsatta resultatet tillsammans med källjudet. För en podd kan leveransen exempelvis vara ett redigerbart transkript och ett ordtidsatt underlag som gör det möjligt att hitta korrigeringar innan undertexterna arrangeras.\n\nTalardiarisering märker upp vem som talar när i ljud med flera talare, med upp till 32 talare enligt tillverkarens dokumentation. Aktivera den när talarbyten är viktiga och ange ett rimligt antal talare om den informationen är känd. Skilj en detekterad talaretikett från en verifierad persons namn. För en intervju eller ett möte kontrollerar du talarbyten mot inspelningen, särskilt där röster överlappar eller låter lika. En etikett hjälper till att organisera transkriptet; den fastställer inte på egen hand talarens identitet.\n\nEn inspelning med en talare per kanal har en annan struktur än flera röster som blandats i en kanal. Leverantörens gränssnitt kan bearbeta upp till fem kanaler oberoende av varandra och returnera separata transkript eller ett kombinerat transkript i tidsordning med kanalindex. Bevara kanalstrukturen när den är betydelsefull. Om en kanaluppdelad samtalsinspelning slås ihop före transkriberingen kan en användbar källa till talarinformation gå förlorad. Skilj kanalbaserad talartilldelning från diariseringsresultat som härletts ur blandat ljud. Svaret med kombinerade kanaler kräver tidsstämplar och kan inte innehålla entitetsidentifiering eller maskering.\n\nNyckeltermer i prompten vägleder igenkänningen av namn, produkttermer och fackvokabulär utifrån sammanhanget. Den aktuella batchdokumentationen tillåter upp till 1 000 termer, där varje term ska vara kortare än 50 tecken och bestå av högst fem ord. Ge relevanta stavningar i stället för en bred, orelaterad katalog. För en teknisk intervju anger du de produktnamn och förkortningar som sannolikt förekommer och kontrollerar dem sedan vid deras tidsangivelser i resultatet. Nyckeltermer styr igenkänningen; de är inte instruktioner att infoga en term som inspelningen inte ger stöd för.\n\nBestäm transkriptets syfte innan du tillämpar språklig bearbetning. En ordagrann återgivning behåller den talade ordalydelsen, medan det dokumenterade alternativet no-verbatim tar bort utfyllnadsord, avbrutna ansatser och andra avbrott i talflytet för ett mer lättläst resultat. Dynamisk ljudtaggning kan identifiera händelser som inte är tal, exempelvis skratt eller fotsteg. Ett bearbetat transkript kan vara användbart för undertexter eller läsning, men bör inte tyst ersätta råtranskriptet när upprepningar, korrigeringar eller andra ljud än tal är viktiga för uppgiften.\n\nTillverkaren dokumenterar också entitetsidentifiering och experimentell transkriptredigering. Transkriptredigering kan inte kombineras med entitetsidentifiering, entitetsmaskering eller flerkanalstranskribering i leverantörens gränssnitt. Identifierade entiteter ger strukturerade positionsuppgifter för utvald information i transkriptet. Valfri entitetsmaskering döljer identifierad text med ersättningsetiketter; den förutsätter entitetsidentifiering och entitetslistan returneras inte när maskering är aktiverad. Maskeringen sker under transkriberingen med en generell ersättningsmarkör, en kategorietikett eller en numrerad kategorietikett. Automatisk maskering kan missa känsligt innehåll, så granska det maskerade transkriptet innan du delar det. En redigering med naturligt språk returnerar en redigerad text tillsammans med originalresultatet, medan det ursprungliga underlaget för tidsangivelser och talare finns kvar. Håll dessa resultat åtskilda: en korrigerad stavning eller omformaterad mening kan behöva kontrolleras på nytt innan den anpassas till ljudets tidslinje eller används i en efterföljande extraktion. Funktionerna bearbetar transkriptet; de fastställer inte att varje viktig detalj har uppfattats korrekt.\n\nFör ett färdigt transkript granskar du namn, tal, negationer och talarbyten genom att återvända till motsvarande ljud. Uppmärksamma tysta avsnitt, överlappningar och språkväxlingar i stället för att bedöma kvaliteten enbart utifrån välformulerad text. Behåll osäker ordalydelse för korrigering i stället för att fylla ett ohörbart avsnitt med en plausibel mening. Det användbara resultatet är ett kontrollerat textunderlag med den tidsinformation och talarinformation som behövs för den avsedda användningen; ett transkript kan sedan bli indata för ett separat steg för sammanfattning, översättning eller analys.",
    "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": "Fullständig prissättning för konfigurationen finns i detaljerna."
      }
    ],
    "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": "JSON-kroppen eller det uttryckliga kanoniska modell-ID:t är ogiltigt.",
                "http_status": 400,
                "recovery": "Behåll svaret och korrigera det angivna fältet i begäran.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "API-nyckeln för Ailoot är ogiltig.",
                "http_status": 401,
                "recovery": "Använd din behöriga API-nyckel för Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Nyckelgruppen ger inte tillträde till denna metod.",
                "http_status": 403,
                "recovery": "Behåll de returnerade feluppgifterna.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Den valda metoden har ingen tillåten rutt.",
                "http_status": 404,
                "recovery": "Behåll de returnerade feluppgifterna.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Den accepterade tariffen kan inte fastställa den mängd eller gräns för indata som krävs.",
                "http_status": 422,
                "recovery": "Behåll svaret; använd den representation av indata som den accepterade tariffen kräver.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Nödvändig lagring, rutt, metodpris eller reservation är inte tillgänglig.",
                "http_status": 503,
                "recovery": "Behåll hela det ursprungliga svaret. En osäker reservation ger inte tillstånd att skicka in igen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Det ursprungliga resultatet, förbrukningen eller avräkningen kräver kontroll.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Behåll det faktiska begärans-ID:t och det ursprungliga svaret. Läs den befintliga posten som du äger; skicka inte skapandebegäran igen.",
                "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": "Behåll faktiskt X-Client-Request-ID och hela svaret. Läs de ursprungliga tillgångarna som du äger och deras exakta signerade innehållslänkar; skicka aldrig en osäker skapandebegäran igen."
            },
            "outputs": {
              "all_results": "Spara hela svaret med headers, samtliga faktiska resultat, de ursprungliga returnerade identifierarna och alla användningsfält. Hämta den ursprungliga operationen utan att skicka skapandeförfrågan igen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Hela den ursprungliga svarskroppen, statusen och vidarebefordrade svarshuvuden. Denna hanterare lägger inte till någon universell JSON-struktur, något textfält eller något uppgiftshölje."
            },
            "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": [
              "Exemplet läser din faktiska, icke-tomma PCM WAV-fil, kodar filens samtliga byte som base64 och skickar input_audio.format som 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": "exakt task_id från en befintlig mediepost som du äger",
                "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": "Transkribering",
        "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 transkriberar inspelat ljud på över 90 språk, med tidsangivelser på ordnivå, valfri talardiarisering och taggar för händelser som inte är tal. Den är byggd för långa inspelningar, undertexter och redigerbara transkript, med kontextbaserade nyckeltermer och val mellan ordagrann och bearbetad transkribering."
  },
  "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 transkriberar inspelat ljud på över 90 språk, med tidsangivelser på ordnivå, valfri talardiarisering och taggar för händelser som inte är tal. Den är byggd för långa inspelningar, undertexter och redigerbara transkript, med kontextbaserade nyckeltermer och val mellan ordagrann och bearbetad transkribering.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "ec7df6465912ee9fa0640d0234bfa57fba1daed4d276dde3f06b9ead634835bf",
    "renderer_sha256": "8a45bb31b83d2551e6d975cf4683518c7cb445a54b9394a01947f4dd103f1051"
  },
  "sourceRevision": "b69ffa2132efa56471dba7888e22d9ce98064e43d4948d26c5194e1790ae3a4c"
}
