{
  "aboutHtml": "<p>ElevenLabs Scribe v2 er modellen til batchtalegenkendelse af optaget lyd, transskription og undertekster, også undertekster med lydinformation. Den bygger videre på Scribe v1 med forbedret håndtering af lange optagelser, pauser, ændringer i tonefald og længere perioder med stilhed. Resultatet er nedskrevet tale med tidsangivelser og valgfrie annoteringer af talere og lydhændelser. Scribe v2 Realtime er en særskilt udgave til transskription i realtid; denne models formål er at behandle komplette optagelser.</p><p>Producenten dokumenterer genkendelse på mere end 90 sprog og automatisk sproggenkendelse, herunder i optagelser med sprogskift. En angivelse af det kendte sprog kan hjælpe modellen med at fortolke lyden. Forbered en tydelig optagelse, bevar originalsproget og navnene, og undgå kraftig overstyring eller unødvendig behandling, der fjerner detaljer i talen. Almindelige dokumenterede input omfatter WAV, MP3, FLAC, M4A, AAC, OGG, Opus og WebM. Vælg en inputrepræsentation, der understøttes af transskriptionsimplementeringen, og bevar kildeoptagelsen til gennemgang.</p><p>Standardsvaret indeholder den genkendte tekst, oplysninger om det registrerede sprog og en sekvens af ord med tidsangivelser. Ordregistreringer kan indeholde start- og sluttider, taleridentifikatorer og en logaritmisk sandsynlighed for genkendelsen. Det gør resultatet nyttigt til undertekster, søgbare interviews eller en editor, der springer tilbage til den relevante lyd. Bevar resultatet med tidsangivelser sammen med kildelyden. For en podcast kan leverancen for eksempel være en redigerbar transskription og en registrering med tidsangivelser for hvert ord, der hjælper med at lokalisere rettelser, før underteksterne sættes op.</p><p>Talerdiarisering angiver, hvem der taler hvornår i lyd med flere talere, med op til 32 talere dokumenteret af producenten. Slå det til, når talerskift er vigtige, og angiv et rimeligt antal talere, hvis det er kendt. Skeln mellem en registreret taleretiket og en verificeret persons navn. Ved et interview eller møde skal du kontrollere talerskift i forhold til optagelsen, især hvor stemmer overlapper eller ligner hinanden. En etiket hjælper med at organisere transskriptionen; den fastslår ikke i sig selv talerens identitet.</p><p>En optagelse med én taler pr. kanal har en anden struktur end flere stemmer blandet i én kanal. Producentens grænseflade kan behandle op til fem kanaler uafhængigt og returnere separate transskriptioner eller en samlet transskription ordnet efter tid med kanalindekser. Bevar kanalopbygningen, når den er relevant. Hvis en opkaldsoptagelse med adskilte kanaler blandes sammen før transskription, kan en nyttig kilde til taleroplysninger gå tabt. Hold kanalbaseret attribution adskilt fra diarisering udledt af blandet lyd. Svaret med kombinerede kanaler kræver tidsstempler og kan ikke indeholde registrering eller maskering af entiteter.</p><p>Prompter med nøgletermer vejleder genkendelsen af navne, produkttermer og fagligt ordforråd ved hjælp af kontekst. Den aktuelle batchdokumentation tillader op til 1.000 termer, hvor hver term skal være under 50 tegn og højst fem ord. Angiv relevante stavemåder frem for et bredt, uvedkommende katalog. Ved et teknisk interview kan du angive de produktnavne og forkortelser, der sandsynligvis forekommer, og derefter kontrollere dem ved deres tidsstempler i resultatet. Nøgletermer påvirker genkendelsen; de er ikke instruktioner om at indsætte en term, når optagelsen ikke underbygger den.</p><p>Vælg transskriptionens formål, før du bearbejder teksten. En ordret registrering bevarer den talte ordlyd, mens den dokumenterede no-verbatim-indstilling fjerner fyldord, afbrudte sætningsstarter, tøven og andre uregelmæssigheder i talen for at give et mere læsbart resultat. Dynamisk tagging af lyd kan identificere hændelser uden tale, som latter eller fodtrin. En bearbejdet transskription kan være nyttig til undertekster eller læsning, men den må ikke stiltiende erstatte den rå registrering, når gentagelser, rettelser eller lyde uden tale er vigtige for opgaven.</p><p>Producenten dokumenterer også registrering af entiteter og eksperimentel redigering af transskriptioner. Redigering af transskriptioner kan ikke kombineres med registrering af entiteter, maskering af entiteter eller flerkanalstransskription i producentens grænseflade. Registrerede entiteter angiver strukturerede positioner for udvalgte oplysninger i transskriptionen. Valgfri maskering af entiteter skjuler registreret tekst med erstatningsetiketter; det afhænger af registrering af entiteter, og listen over entiteter returneres ikke, når maskering er slået til. Maskering sker under transskriptionen med en generisk erstatningsmarkør, en kategorietiket eller en nummereret kategorietiket. Automatisk maskering kan overse følsomt indhold, så gennemgå den maskerede transskription, før den deles. En redigering beskrevet i naturligt sprog returnerer en redigeret tekst sammen med det oprindelige resultat, så den oprindelige registrering af tidsangivelser og talere fortsat er tilgængelig. Hold disse resultater adskilt: en rettet stavemåde eller omformateret sætning kan kræve en ny kontrol, før den kobles til lyden eller bruges i et efterfølgende udtræk. Disse funktioner behandler transskriptionen; de dokumenterer ikke, at alle vigtige detaljer er genkendt korrekt.</p><p>For at færdiggøre en transskription skal du gennemgå navne, tal, nægtelser og talerskift ved at vende tilbage til den tilsvarende lyd. Vær opmærksom på stille passager, overlap og sprogskift frem for kun at bedømme kvaliteten ud fra flydende tekst. Bevar usikker ordlyd til rettelse i stedet for at fuldende en uhørlig passage med en plausibel sætning. Det nyttige resultat er en kontrolleret tekstregistrering med de tidsangivelser og taleroplysninger, som dens tilsigtede anvendelse kræver; transskriptionen kan derefter bruges som input til et separat trin med opsummering, oversættelse eller analyse.</p>",
  "aboutText": "ElevenLabs Scribe v2 er modellen til batchtalegenkendelse af optaget lyd, transskription og undertekster, også undertekster med lydinformation. Den bygger videre på Scribe v1 med forbedret håndtering af lange optagelser, pauser, ændringer i tonefald og længere perioder med stilhed. Resultatet er nedskrevet tale med tidsangivelser og valgfrie annoteringer af talere og lydhændelser. Scribe v2 Realtime er en særskilt udgave til transskription i realtid; denne models formål er at behandle komplette optagelser.\n\nProducenten dokumenterer genkendelse på mere end 90 sprog og automatisk sproggenkendelse, herunder i optagelser med sprogskift. En angivelse af det kendte sprog kan hjælpe modellen med at fortolke lyden. Forbered en tydelig optagelse, bevar originalsproget og navnene, og undgå kraftig overstyring eller unødvendig behandling, der fjerner detaljer i talen. Almindelige dokumenterede input omfatter WAV, MP3, FLAC, M4A, AAC, OGG, Opus og WebM. Vælg en inputrepræsentation, der understøttes af transskriptionsimplementeringen, og bevar kildeoptagelsen til gennemgang.\n\nStandardsvaret indeholder den genkendte tekst, oplysninger om det registrerede sprog og en sekvens af ord med tidsangivelser. Ordregistreringer kan indeholde start- og sluttider, taleridentifikatorer og en logaritmisk sandsynlighed for genkendelsen. Det gør resultatet nyttigt til undertekster, søgbare interviews eller en editor, der springer tilbage til den relevante lyd. Bevar resultatet med tidsangivelser sammen med kildelyden. For en podcast kan leverancen for eksempel være en redigerbar transskription og en registrering med tidsangivelser for hvert ord, der hjælper med at lokalisere rettelser, før underteksterne sættes op.\n\nTalerdiarisering angiver, hvem der taler hvornår i lyd med flere talere, med op til 32 talere dokumenteret af producenten. Slå det til, når talerskift er vigtige, og angiv et rimeligt antal talere, hvis det er kendt. Skeln mellem en registreret taleretiket og en verificeret persons navn. Ved et interview eller møde skal du kontrollere talerskift i forhold til optagelsen, især hvor stemmer overlapper eller ligner hinanden. En etiket hjælper med at organisere transskriptionen; den fastslår ikke i sig selv talerens identitet.\n\nEn optagelse med én taler pr. kanal har en anden struktur end flere stemmer blandet i én kanal. Producentens grænseflade kan behandle op til fem kanaler uafhængigt og returnere separate transskriptioner eller en samlet transskription ordnet efter tid med kanalindekser. Bevar kanalopbygningen, når den er relevant. Hvis en opkaldsoptagelse med adskilte kanaler blandes sammen før transskription, kan en nyttig kilde til taleroplysninger gå tabt. Hold kanalbaseret attribution adskilt fra diarisering udledt af blandet lyd. Svaret med kombinerede kanaler kræver tidsstempler og kan ikke indeholde registrering eller maskering af entiteter.\n\nPrompter med nøgletermer vejleder genkendelsen af navne, produkttermer og fagligt ordforråd ved hjælp af kontekst. Den aktuelle batchdokumentation tillader op til 1.000 termer, hvor hver term skal være under 50 tegn og højst fem ord. Angiv relevante stavemåder frem for et bredt, uvedkommende katalog. Ved et teknisk interview kan du angive de produktnavne og forkortelser, der sandsynligvis forekommer, og derefter kontrollere dem ved deres tidsstempler i resultatet. Nøgletermer påvirker genkendelsen; de er ikke instruktioner om at indsætte en term, når optagelsen ikke underbygger den.\n\nVælg transskriptionens formål, før du bearbejder teksten. En ordret registrering bevarer den talte ordlyd, mens den dokumenterede no-verbatim-indstilling fjerner fyldord, afbrudte sætningsstarter, tøven og andre uregelmæssigheder i talen for at give et mere læsbart resultat. Dynamisk tagging af lyd kan identificere hændelser uden tale, som latter eller fodtrin. En bearbejdet transskription kan være nyttig til undertekster eller læsning, men den må ikke stiltiende erstatte den rå registrering, når gentagelser, rettelser eller lyde uden tale er vigtige for opgaven.\n\nProducenten dokumenterer også registrering af entiteter og eksperimentel redigering af transskriptioner. Redigering af transskriptioner kan ikke kombineres med registrering af entiteter, maskering af entiteter eller flerkanalstransskription i producentens grænseflade. Registrerede entiteter angiver strukturerede positioner for udvalgte oplysninger i transskriptionen. Valgfri maskering af entiteter skjuler registreret tekst med erstatningsetiketter; det afhænger af registrering af entiteter, og listen over entiteter returneres ikke, når maskering er slået til. Maskering sker under transskriptionen med en generisk erstatningsmarkør, en kategorietiket eller en nummereret kategorietiket. Automatisk maskering kan overse følsomt indhold, så gennemgå den maskerede transskription, før den deles. En redigering beskrevet i naturligt sprog returnerer en redigeret tekst sammen med det oprindelige resultat, så den oprindelige registrering af tidsangivelser og talere fortsat er tilgængelig. Hold disse resultater adskilt: en rettet stavemåde eller omformateret sætning kan kræve en ny kontrol, før den kobles til lyden eller bruges i et efterfølgende udtræk. Disse funktioner behandler transskriptionen; de dokumenterer ikke, at alle vigtige detaljer er genkendt korrekt.\n\nFor at færdiggøre en transskription skal du gennemgå navne, tal, nægtelser og talerskift ved at vende tilbage til den tilsvarende lyd. Vær opmærksom på stille passager, overlap og sprogskift frem for kun at bedømme kvaliteten ud fra flydende tekst. Bevar usikker ordlyd til rettelse i stedet for at fuldende en uhørlig passage med en plausibel sætning. Det nyttige resultat er en kontrolleret tekstregistrering med de tidsangivelser og taleroplysninger, som dens tilsigtede anvendelse kræver; transskriptionen kan derefter bruges som input til et separat trin med opsummering, oversættelse eller analyse.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "9f8385157274401910679cd455f3576ffc1b9c34e594ca49b4a76699f94dc35f",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "da",
  "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=\"Luk\">×</button></div><div class=\"idline\"><span>ElevenLabs /</span><code>elevenlabs/scribe-v2</code><button type=\"button\" id=\"copy-id\">Kopiér ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Modelkortets afsnit\"><button type=\"button\" data-card-jump=\"overview\">Start</button><button type=\"button\" data-card-jump=\"methods\">Input og metoder</button><button type=\"button\" data-card-jump=\"pricing\">Priser</button><button type=\"button\" data-card-jump=\"examples\">Eksempler</button><button type=\"button\" data-card-jump=\"results\">Resultater</button><button type=\"button\" data-card-jump=\"aliases\">Aliaser</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\">Genkendelse</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 transskriberer optaget lyd på 90+ sprog med tidsangivelser på ordniveau, valgfri talerdiarisering og tags for hændelser uden tale. Den er udviklet til lange optagelser, undertekster og redigerbare transskriptioner med kontekstbaserede nøgletermer og mulighed for ordret eller sprogligt bearbejdet transskription.</p><dl class=\"card-io\" data-card-io><div><dt>Accepterede input</dt><dd>Lyd</dd></div><div><dt>Resultater</dt><dd>Tekst</dd></div></dl><details class=\"card-about\"><summary>Om modellen</summary><p class=\"note-s\" data-model-method-boundary>Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.</p><div class=\"mabout\" id=\"m-about\"><p>ElevenLabs Scribe v2 er modellen til batchtalegenkendelse af optaget lyd, transskription og undertekster, også undertekster med lydinformation. Den bygger videre på Scribe v1 med forbedret håndtering af lange optagelser, pauser, ændringer i tonefald og længere perioder med stilhed. Resultatet er nedskrevet tale med tidsangivelser og valgfrie annoteringer af talere og lydhændelser. Scribe v2 Realtime er en særskilt udgave til transskription i realtid; denne models formål er at behandle komplette optagelser.</p><p>Producenten dokumenterer genkendelse på mere end 90 sprog og automatisk sproggenkendelse, herunder i optagelser med sprogskift. En angivelse af det kendte sprog kan hjælpe modellen med at fortolke lyden. Forbered en tydelig optagelse, bevar originalsproget og navnene, og undgå kraftig overstyring eller unødvendig behandling, der fjerner detaljer i talen. Almindelige dokumenterede input omfatter WAV, MP3, FLAC, M4A, AAC, OGG, Opus og WebM. Vælg en inputrepræsentation, der understøttes af transskriptionsimplementeringen, og bevar kildeoptagelsen til gennemgang.</p><p>Standardsvaret indeholder den genkendte tekst, oplysninger om det registrerede sprog og en sekvens af ord med tidsangivelser. Ordregistreringer kan indeholde start- og sluttider, taleridentifikatorer og en logaritmisk sandsynlighed for genkendelsen. Det gør resultatet nyttigt til undertekster, søgbare interviews eller en editor, der springer tilbage til den relevante lyd. Bevar resultatet med tidsangivelser sammen med kildelyden. For en podcast kan leverancen for eksempel være en redigerbar transskription og en registrering med tidsangivelser for hvert ord, der hjælper med at lokalisere rettelser, før underteksterne sættes op.</p><p>Talerdiarisering angiver, hvem der taler hvornår i lyd med flere talere, med op til 32 talere dokumenteret af producenten. Slå det til, når talerskift er vigtige, og angiv et rimeligt antal talere, hvis det er kendt. Skeln mellem en registreret taleretiket og en verificeret persons navn. Ved et interview eller møde skal du kontrollere talerskift i forhold til optagelsen, især hvor stemmer overlapper eller ligner hinanden. En etiket hjælper med at organisere transskriptionen; den fastslår ikke i sig selv talerens identitet.</p><p>En optagelse med én taler pr. kanal har en anden struktur end flere stemmer blandet i én kanal. Producentens grænseflade kan behandle op til fem kanaler uafhængigt og returnere separate transskriptioner eller en samlet transskription ordnet efter tid med kanalindekser. Bevar kanalopbygningen, når den er relevant. Hvis en opkaldsoptagelse med adskilte kanaler blandes sammen før transskription, kan en nyttig kilde til taleroplysninger gå tabt. Hold kanalbaseret attribution adskilt fra diarisering udledt af blandet lyd. Svaret med kombinerede kanaler kræver tidsstempler og kan ikke indeholde registrering eller maskering af entiteter.</p><p>Prompter med nøgletermer vejleder genkendelsen af navne, produkttermer og fagligt ordforråd ved hjælp af kontekst. Den aktuelle batchdokumentation tillader op til 1.000 termer, hvor hver term skal være under 50 tegn og højst fem ord. Angiv relevante stavemåder frem for et bredt, uvedkommende katalog. Ved et teknisk interview kan du angive de produktnavne og forkortelser, der sandsynligvis forekommer, og derefter kontrollere dem ved deres tidsstempler i resultatet. Nøgletermer påvirker genkendelsen; de er ikke instruktioner om at indsætte en term, når optagelsen ikke underbygger den.</p><p>Vælg transskriptionens formål, før du bearbejder teksten. En ordret registrering bevarer den talte ordlyd, mens den dokumenterede no-verbatim-indstilling fjerner fyldord, afbrudte sætningsstarter, tøven og andre uregelmæssigheder i talen for at give et mere læsbart resultat. Dynamisk tagging af lyd kan identificere hændelser uden tale, som latter eller fodtrin. En bearbejdet transskription kan være nyttig til undertekster eller læsning, men den må ikke stiltiende erstatte den rå registrering, når gentagelser, rettelser eller lyde uden tale er vigtige for opgaven.</p><p>Producenten dokumenterer også registrering af entiteter og eksperimentel redigering af transskriptioner. Redigering af transskriptioner kan ikke kombineres med registrering af entiteter, maskering af entiteter eller flerkanalstransskription i producentens grænseflade. Registrerede entiteter angiver strukturerede positioner for udvalgte oplysninger i transskriptionen. Valgfri maskering af entiteter skjuler registreret tekst med erstatningsetiketter; det afhænger af registrering af entiteter, og listen over entiteter returneres ikke, når maskering er slået til. Maskering sker under transskriptionen med en generisk erstatningsmarkør, en kategorietiket eller en nummereret kategorietiket. Automatisk maskering kan overse følsomt indhold, så gennemgå den maskerede transskription, før den deles. En redigering beskrevet i naturligt sprog returnerer en redigeret tekst sammen med det oprindelige resultat, så den oprindelige registrering af tidsangivelser og talere fortsat er tilgængelig. Hold disse resultater adskilt: en rettet stavemåde eller omformateret sætning kan kræve en ny kontrol, før den kobles til lyden eller bruges i et efterfølgende udtræk. Disse funktioner behandler transskriptionen; de dokumenterer ikke, at alle vigtige detaljer er genkendt korrekt.</p><p>For at færdiggøre en transskription skal du gennemgå navne, tal, nægtelser og talerskift ved at vende tilbage til den tilsvarende lyd. Vær opmærksom på stille passager, overlap og sprogskift frem for kun at bedømme kvaliteten ud fra flydende tekst. Bevar usikker ordlyd til rettelse i stedet for at fuldende en uhørlig passage med en plausibel sætning. Det nyttige resultat er en kontrolleret tekstregistrering med de tidsangivelser og taleroplysninger, som dens tilsigtede anvendelse kræver; transskriptionen kan derefter bruges som input til et separat trin med opsummering, oversættelse eller analyse.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Tilgængelig i Ailoot · input og metoder</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Transskription</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Inputtyper</dt><dd><code>audio</code></dd></div><div><dt>Outputtyper</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Felt</th><th>Type</th><th>Krav</th><th>Værdier og grænser</th><th>Standard</th></tr></thead><tbody><tr><th data-cell-label=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Påkrævet</td><td data-cell-label=\"Værdier og grænser\"><span class=\"card-cell-label\">Værdier og 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=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Påkrævet</td><td data-cell-label=\"Værdier og grænser\"><span class=\"card-cell-label\">Værdier og 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>Metodeparametre og livscyklus</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Kontrakt</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=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</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=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</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=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</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=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>Eksemplet læser din faktiske, ikke-tomme PCM WAV-fil, koder samtlige bytes i filen som base64 og sender input_audio.format som wav.</td></tr></tbody></table></div><p>Livscyklus: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · præcist task_id fra en eksisterende mediepost, du ejer</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>Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.</p><dl data-price-conditions><dt>Hurtig tilstand</dt><dd>Ikke angivet <span class=\"note-s\">Når hurtig tilstand er valgt</span></dd><dt>flex-tilstand</dt><dd>Ikke angivet <span class=\"note-s\">Når flex-tilstanden er valgt</span></dd><dt>Maksimal ræsonneringsindsats</dt><dd>Ikke angivet <span class=\"note-s\">Når default-justeringen anvendes ved maksimal ræsonneringsindsats</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-takster</h4><h4>Priser efter konfiguration</h4><p class=\"note-s\">Knyt hver omkostning til de viste betingelser. Brug én takst for hver gruppe af alternative konfigurationer.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfiguration</th><th>Takstplan</th><th>Afregningsenhed</th><th>Beløb</th></tr></thead><tbody><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Grundpriser for tokens</th><td data-cell-label=\"Takstplan\"><span class=\"card-cell-label\">Takstplan</span>Grundtakst</td><td data-cell-label=\"Afregningsenhed\"><span class=\"card-cell-label\">Afregningsenhed</span>—</td><td data-cell-label=\"Beløb\"><span class=\"card-cell-label\">Beløb</span><div><span>Input · Inputtokens</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Output · Outputtokens</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Input · Cachelæsning</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Input · Cacheskrivning</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Input · Cacheskrivning, 1 time</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>sekund inputlyd</th><td data-cell-label=\"Takstplan\"><span class=\"card-cell-label\">Takstplan</span>—</td><td data-cell-label=\"Afregningsenhed\"><span class=\"card-cell-label\">Afregningsenhed</span>pr. sekund lydinput</td><td data-cell-label=\"Beløb\"><span class=\"card-cell-label\">Beløb</span><div><span>Input · sekund inputlyd</span> <b>$0.0001222222222222</b> <span class=\"price-unit\">pr. sekund lydinput</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. <a href=\"/docs/da/billing/reserve/\">Sådan fungerer reservation og afregning →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Eksempelanmodninger</h3><h4>Ailoot Ultra · Transskription</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kodevarianter\"><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 og hele det oprindelige resultat</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiér kode\"><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\">Hent og gem resultater</h3><h4>Ailoot Ultra · Transskription</h4><p class=\"note-s\">Hele det oprindelige svarindhold, status og videresendte headere. Denne handler tilføjer hverken en universel JSON-struktur, et tekstfelt eller en opgaveindpakning.</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>Behold alle færdige resultater</h5><p class=\"note-s\">Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.</p><p class=\"note-s\">Gem hele svaret og alle headere, alle faktisk returnerede output, de oprindeligt returnerede identifikatorer og alle felter med forbrugsdata. Gendan den oprindelige operation uden at sende oprettelsesanmodningen igen.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Hvis det oprindelige svar skal kontrolleres</h5><p class=\"note-s\">Behold det faktiske X-Client-Request-ID og hele svaret. Læs de oprindelige aktiver, du ejer, og deres præcise signerede indholds-URL’er; indsend aldrig en oprettelse med usikkert udfald igen.</p></div><details class=\"card-about\" data-output-fields><summary>Svarfelter</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Felt</th><th>Type</th></tr></thead><tbody><tr><th data-cell-label=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span></td></tr><tr><th data-cell-label=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Fejl og næste trin</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Svar</th><th>Betingelse</th><th>Næste trin</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=\"Betingelse\"><span class=\"card-cell-label\">Betingelse</span>JSON-indholdet eller det eksplicitte kanoniske model-ID er ugyldigt.</td><td data-cell-label=\"Næste trin\"><span class=\"card-cell-label\">Næste trin</span>Behold svaret, og ret det angivne forespørgselsfelt.</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=\"Betingelse\"><span class=\"card-cell-label\">Betingelse</span>Ailoot API-nøglen er ugyldig.</td><td data-cell-label=\"Næste trin\"><span class=\"card-cell-label\">Næste trin</span>Brug din autoriserede Ailoot API-nøgle.</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=\"Betingelse\"><span class=\"card-cell-label\">Betingelse</span>Nøglens gruppe giver ikke adgang til denne metode.</td><td data-cell-label=\"Næste trin\"><span class=\"card-cell-label\">Næste trin</span>Behold de returnerede fejloplysninger.</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=\"Betingelse\"><span class=\"card-cell-label\">Betingelse</span>Den valgte metode har ingen rute med adgangstilladelse.</td><td data-cell-label=\"Næste trin\"><span class=\"card-cell-label\">Næste trin</span>Behold de returnerede fejloplysninger.</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=\"Betingelse\"><span class=\"card-cell-label\">Betingelse</span>Den accepterede tarif kan ikke hente den påkrævede inputmængde eller grænse.</td><td data-cell-label=\"Næste trin\"><span class=\"card-cell-label\">Næste trin</span>Behold svaret; brug den inputrepræsentation, som den accepterede tarif 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=\"Betingelse\"><span class=\"card-cell-label\">Betingelse</span>Påkrævet lager, rute, metodepris eller reservation er utilgængelig.</td><td data-cell-label=\"Næste trin\"><span class=\"card-cell-label\">Næste trin</span>Behold hele det oprindelige svar. En usikker reservation giver ikke tilladelse til at indsende 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=\"Betingelse\"><span class=\"card-cell-label\">Betingelse</span>Det oprindelige resultat, forbrug eller den oprindelige afregning skal kontrolleres.</td><td data-cell-label=\"Næste trin\"><span class=\"card-cell-label\">Næste trin</span>Behold det faktiske forespørgsels-ID og det oprindelige svar. Læs den eksisterende post, du ejer; indsend ikke oprettelsen igen.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliaser</h3><h4>Modelaliaser</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>Aliaser for metodestier</h4><p class=\"note-s\">Brug metodestierne vist ovenfor.</p><h4>Relaterede kalder-ID’er</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-indholdet eller det eksplicitte kanoniske model-ID er ugyldigt.",
                "http_status": 400,
                "recovery": "Behold svaret, og ret det angivne forespørgselsfelt.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API-nøglen er ugyldig.",
                "http_status": 401,
                "recovery": "Brug din autoriserede Ailoot API-nøgle.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Nøglens gruppe giver ikke adgang til denne metode.",
                "http_status": 403,
                "recovery": "Behold de returnerede fejloplysninger.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Den valgte metode har ingen rute med adgangstilladelse.",
                "http_status": 404,
                "recovery": "Behold de returnerede fejloplysninger.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Den accepterede tarif kan ikke hente den påkrævede inputmængde eller grænse.",
                "http_status": 422,
                "recovery": "Behold svaret; brug den inputrepræsentation, som den accepterede tarif kræver.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Påkrævet lager, rute, metodepris eller reservation er utilgængelig.",
                "http_status": 503,
                "recovery": "Behold hele det oprindelige svar. En usikker reservation giver ikke tilladelse til at indsende igen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Det oprindelige resultat, forbrug eller den oprindelige afregning skal kontrolleres.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Behold det faktiske forespørgsels-ID og det oprindelige svar. Læs den eksisterende post, du ejer; indsend ikke oprettelsen 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": "Behold det faktiske X-Client-Request-ID og hele svaret. Læs de oprindelige aktiver, du ejer, og deres præcise signerede indholds-URL’er; indsend aldrig en oprettelse med usikkert udfald igen."
            },
            "outputs": {
              "all_results": "Gem hele svaret og alle headere, alle faktisk returnerede output, de oprindeligt returnerede identifikatorer og alle felter med forbrugsdata. Gendan den oprindelige operation uden at sende oprettelsesanmodningen igen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Hele det oprindelige svarindhold, status og videresendte headere. Denne handler tilføjer hverken en universel JSON-struktur, et tekstfelt eller en opgaveindpakning."
            },
            "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": [
              "Eksemplet læser din faktiske, ikke-tomme PCM WAV-fil, koder samtlige bytes i filen som base64 og sender 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": "præcist task_id fra en eksisterende mediepost, du ejer",
                "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": "Transskription",
        "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": "bd4cf35c7a7523450c3e9462f2a5c45b24587cc33d082997f11be7c71f826b78",
    "input_html_sha256": "7b9e6e039be10374569a9d4d8a5f38bbdb94f621eb70be2ccb66eea13ee472c3",
    "private_audit_sha256": "aea6a71bd250ae34a176cedf396010779d932152338d68bc66aae127b8c0c149",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/da/elevenlabs-scribe-v2/",
    "description": "ElevenLabs Scribe v2 transskriberer optaget lyd på 90+ sprog med tidsangivelser på ordniveau, valgfri talerdiarisering og tags for hændelser uden tale. Den er udviklet til lange optagelser, undertekster og redigerbare transskriptioner med kontekstbaserede nøgletermer og mulighed for ordret eller sprogligt bearbejdet transskription.",
    "locale": "da",
    "md_url": "https://ailoot.ai/models/da/elevenlabs-scribe-v2/index.md",
    "title": "ElevenLabs: Scribe v2 — Ailoot",
    "url": "https://ailoot.ai/models/da/elevenlabs-scribe-v2/"
  },
  "rawModel": {
    "about": "ElevenLabs Scribe v2 er modellen til batchtalegenkendelse af optaget lyd, transskription og undertekster, også undertekster med lydinformation. Den bygger videre på Scribe v1 med forbedret håndtering af lange optagelser, pauser, ændringer i tonefald og længere perioder med stilhed. Resultatet er nedskrevet tale med tidsangivelser og valgfrie annoteringer af talere og lydhændelser. Scribe v2 Realtime er en særskilt udgave til transskription i realtid; denne models formål er at behandle komplette optagelser.\n\nProducenten dokumenterer genkendelse på mere end 90 sprog og automatisk sproggenkendelse, herunder i optagelser med sprogskift. En angivelse af det kendte sprog kan hjælpe modellen med at fortolke lyden. Forbered en tydelig optagelse, bevar originalsproget og navnene, og undgå kraftig overstyring eller unødvendig behandling, der fjerner detaljer i talen. Almindelige dokumenterede input omfatter WAV, MP3, FLAC, M4A, AAC, OGG, Opus og WebM. Vælg en inputrepræsentation, der understøttes af transskriptionsimplementeringen, og bevar kildeoptagelsen til gennemgang.\n\nStandardsvaret indeholder den genkendte tekst, oplysninger om det registrerede sprog og en sekvens af ord med tidsangivelser. Ordregistreringer kan indeholde start- og sluttider, taleridentifikatorer og en logaritmisk sandsynlighed for genkendelsen. Det gør resultatet nyttigt til undertekster, søgbare interviews eller en editor, der springer tilbage til den relevante lyd. Bevar resultatet med tidsangivelser sammen med kildelyden. For en podcast kan leverancen for eksempel være en redigerbar transskription og en registrering med tidsangivelser for hvert ord, der hjælper med at lokalisere rettelser, før underteksterne sættes op.\n\nTalerdiarisering angiver, hvem der taler hvornår i lyd med flere talere, med op til 32 talere dokumenteret af producenten. Slå det til, når talerskift er vigtige, og angiv et rimeligt antal talere, hvis det er kendt. Skeln mellem en registreret taleretiket og en verificeret persons navn. Ved et interview eller møde skal du kontrollere talerskift i forhold til optagelsen, især hvor stemmer overlapper eller ligner hinanden. En etiket hjælper med at organisere transskriptionen; den fastslår ikke i sig selv talerens identitet.\n\nEn optagelse med én taler pr. kanal har en anden struktur end flere stemmer blandet i én kanal. Producentens grænseflade kan behandle op til fem kanaler uafhængigt og returnere separate transskriptioner eller en samlet transskription ordnet efter tid med kanalindekser. Bevar kanalopbygningen, når den er relevant. Hvis en opkaldsoptagelse med adskilte kanaler blandes sammen før transskription, kan en nyttig kilde til taleroplysninger gå tabt. Hold kanalbaseret attribution adskilt fra diarisering udledt af blandet lyd. Svaret med kombinerede kanaler kræver tidsstempler og kan ikke indeholde registrering eller maskering af entiteter.\n\nPrompter med nøgletermer vejleder genkendelsen af navne, produkttermer og fagligt ordforråd ved hjælp af kontekst. Den aktuelle batchdokumentation tillader op til 1.000 termer, hvor hver term skal være under 50 tegn og højst fem ord. Angiv relevante stavemåder frem for et bredt, uvedkommende katalog. Ved et teknisk interview kan du angive de produktnavne og forkortelser, der sandsynligvis forekommer, og derefter kontrollere dem ved deres tidsstempler i resultatet. Nøgletermer påvirker genkendelsen; de er ikke instruktioner om at indsætte en term, når optagelsen ikke underbygger den.\n\nVælg transskriptionens formål, før du bearbejder teksten. En ordret registrering bevarer den talte ordlyd, mens den dokumenterede no-verbatim-indstilling fjerner fyldord, afbrudte sætningsstarter, tøven og andre uregelmæssigheder i talen for at give et mere læsbart resultat. Dynamisk tagging af lyd kan identificere hændelser uden tale, som latter eller fodtrin. En bearbejdet transskription kan være nyttig til undertekster eller læsning, men den må ikke stiltiende erstatte den rå registrering, når gentagelser, rettelser eller lyde uden tale er vigtige for opgaven.\n\nProducenten dokumenterer også registrering af entiteter og eksperimentel redigering af transskriptioner. Redigering af transskriptioner kan ikke kombineres med registrering af entiteter, maskering af entiteter eller flerkanalstransskription i producentens grænseflade. Registrerede entiteter angiver strukturerede positioner for udvalgte oplysninger i transskriptionen. Valgfri maskering af entiteter skjuler registreret tekst med erstatningsetiketter; det afhænger af registrering af entiteter, og listen over entiteter returneres ikke, når maskering er slået til. Maskering sker under transskriptionen med en generisk erstatningsmarkør, en kategorietiket eller en nummereret kategorietiket. Automatisk maskering kan overse følsomt indhold, så gennemgå den maskerede transskription, før den deles. En redigering beskrevet i naturligt sprog returnerer en redigeret tekst sammen med det oprindelige resultat, så den oprindelige registrering af tidsangivelser og talere fortsat er tilgængelig. Hold disse resultater adskilt: en rettet stavemåde eller omformateret sætning kan kræve en ny kontrol, før den kobles til lyden eller bruges i et efterfølgende udtræk. Disse funktioner behandler transskriptionen; de dokumenterer ikke, at alle vigtige detaljer er genkendt korrekt.\n\nFor at færdiggøre en transskription skal du gennemgå navne, tal, nægtelser og talerskift ved at vende tilbage til den tilsvarende lyd. Vær opmærksom på stille passager, overlap og sprogskift frem for kun at bedømme kvaliteten ud fra flydende tekst. Bevar usikker ordlyd til rettelse i stedet for at fuldende en uhørlig passage med en plausibel sætning. Det nyttige resultat er en kontrolleret tekstregistrering med de tidsangivelser og taleroplysninger, som dens tilsigtede anvendelse kræver; transskriptionen kan derefter bruges som input til et separat trin med opsummering, oversættelse eller analyse.",
    "alias_of": null,
    "aliases": [],
    "author": "ElevenLabs",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001222222222222",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001222222222222",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "De fulde prisoplysninger for konfigurationen findes under detaljer."
      }
    ],
    "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-indholdet eller det eksplicitte kanoniske model-ID er ugyldigt.",
                "http_status": 400,
                "recovery": "Behold svaret, og ret det angivne forespørgselsfelt.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Ailoot API-nøglen er ugyldig.",
                "http_status": 401,
                "recovery": "Brug din autoriserede Ailoot API-nøgle.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Nøglens gruppe giver ikke adgang til denne metode.",
                "http_status": 403,
                "recovery": "Behold de returnerede fejloplysninger.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Den valgte metode har ingen rute med adgangstilladelse.",
                "http_status": 404,
                "recovery": "Behold de returnerede fejloplysninger.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Den accepterede tarif kan ikke hente den påkrævede inputmængde eller grænse.",
                "http_status": 422,
                "recovery": "Behold svaret; brug den inputrepræsentation, som den accepterede tarif kræver.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Påkrævet lager, rute, metodepris eller reservation er utilgængelig.",
                "http_status": 503,
                "recovery": "Behold hele det oprindelige svar. En usikker reservation giver ikke tilladelse til at indsende igen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Det oprindelige resultat, forbrug eller den oprindelige afregning skal kontrolleres.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Behold det faktiske forespørgsels-ID og det oprindelige svar. Læs den eksisterende post, du ejer; indsend ikke oprettelsen 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": "Behold det faktiske X-Client-Request-ID og hele svaret. Læs de oprindelige aktiver, du ejer, og deres præcise signerede indholds-URL’er; indsend aldrig en oprettelse med usikkert udfald igen."
            },
            "outputs": {
              "all_results": "Gem hele svaret og alle headere, alle faktisk returnerede output, de oprindeligt returnerede identifikatorer og alle felter med forbrugsdata. Gendan den oprindelige operation uden at sende oprettelsesanmodningen igen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Hele det oprindelige svarindhold, status og videresendte headere. Denne handler tilføjer hverken en universel JSON-struktur, et tekstfelt eller en opgaveindpakning."
            },
            "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": [
              "Eksemplet læser din faktiske, ikke-tomme PCM WAV-fil, koder samtlige bytes i filen som base64 og sender 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": "præcist task_id fra en eksisterende mediepost, du ejer",
                "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": "Transskription",
        "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 transskriberer optaget lyd på 90+ sprog med tidsangivelser på ordniveau, valgfri talerdiarisering og tags for hændelser uden tale. Den er udviklet til lange optagelser, undertekster og redigerbare transskriptioner med kontekstbaserede nøgletermer og mulighed for ordret eller sprogligt bearbejdet transskription."
  },
  "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 transskriberer optaget lyd på 90+ sprog med tidsangivelser på ordniveau, valgfri talerdiarisering og tags for hændelser uden tale. Den er udviklet til lange optagelser, undertekster og redigerbare transskriptioner med kontekstbaserede nøgletermer og mulighed for ordret eller sprogligt bearbejdet transskription.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "c3502968a34456e12c32c96a0857ace8f5dfc72c79a24b79259a805728f36390",
    "renderer_sha256": "2bf9f26ea9bfd57ed53d867671d8f05b41a6ea85089f48039e3365dc2b92ec2c"
  },
  "sourceRevision": "0e0059477c7042e45c2d414157f3689706378e3e342caa38a68ecc4aa50dc180"
}
