{
  "aboutHtml": "<p>Muse Voice Transcribe 1.0 er Metas model til lydforståelse, som transskriberer tale, registrerer ytringers grænser og knytter taleture til talere. Den tilhører Muse Spark-modelfamilien og kombinerer talegenkendelse, taleradskillelse og registrering af taleturens afslutning i selve modellen. Outputtet er den genkendte tekst med de tids- og taleroplysninger, der er tilgængelige i den valgte tilstand.</p><p>Modellen behandler lyd i bidder på 80 millisekunder og beslutter, hvornår den skal fortsætte med at lytte eller udsende tekst. Den adaptive forsinkelse gør det muligt at vente på mere lyd, når et ord er sværere at afklare. Det giver foreløbig tekst, mens talen modtages, efterfulgt af færdige transskriptionsresultater. Betragt den foreløbige hypotese og den afsluttede taletur som forskellige trin i lytteforløbet.</p><p>Vælg mellem tre tilstande. Push-to-talk er standardvalget til en enkelt, afgrænset ytring, eksempelvis en stemmeforespørgsel eller en kort dikteret passage. Endpointing lader modellen registrere grænserne mellem taleture og returnere én færdig transskription pr. registreret segment. Diarization knytter den genkendte tale til talerbetegnelser og er beregnet til optagelser med flere talere frem for den hurtigste turtagning ved stemmekommandoer.</p><p>Til et optaget klip returnerer arbejdsgangen for filtransskription en komplet transskription i én anmodning. Standardresultatet er JSON med transskriptionen og lydens varighed samt et turns-array i tilstandene endpointing og diarization. Hver taletur kan indeholde en identifikator, start og slut i millisekunder samt den genkendte tekst. Talerbetegnelser er med i diarization-tilstanden. Push-to-talk giver den komplette transskription uden registrerede taleture i dette array. Producentens grænseflade til optagede filer kan også returnere ren tekst eller en strøm af transskriptionshændelser. Ren tekst holder registrerede taleture på separate linjer og kan indeholde talerbetegnelser; en hændelsesstrøm slutter efter sin sidste hændelse uden en separat JSON-opsummering. Dens delta-tilstand for foreløbige resultater returnerer tekst løbende i tilføjelser, mens den afsluttende transskriptionshændelse indeholder den komplette ordlyd.</p><p>Klargør en RIFF/WAVE-fil med mono-lyd i 16-bit heltals-PCM ved 16 eller 24 kHz. Modellens native samplingsfrekvens er 24 kHz, og grænsefladen accepterer også 16 kHz. Konvertér andre containere eller kodninger til denne understøttede WAV-form, før du sender en optagelse. Filtransskriptionsprofilen tillader op til 10 minutters lyd og en samlet anmodningskrop på op til 32 MB. Bevar den oprindelige optagelse og en eventuel konvertering sammen med den returnerede transskription, så resultatet senere kan gennemgås ved aflytning.</p><p>Arbejdsgangen for live-lyd bruger rå mono-PCM med fortegn, 16 bit og little-endian-byteorden, med lyd ved 16 eller 24 kHz sendt i omtrent realtid. Det dokumenterede sessionsvindue er 60 minutter. Meta beskriver native lydinput på over en time; de dokumenterede grænser for filer og live-sessioner er fortsat separate grænser for grænsefladerne. Vælg arbejdsgangen for optagede filer eller live-lyd efter, om lyden allerede er færdigoptaget eller stadig optages, og hold resultater fra separate sessioner knyttet til deres egne inputsegmenter.</p><p>Muse Voice Transcribe er trænet på mere end 70 sprog, mens den dokumenterede genkendelsesgrænseflade angiver 25 understøttede sprog. De omfatter engelsk, fransk, tysk, spansk, arabisk, mandarin-kinesisk, hindi, japansk, koreansk, italiensk og portugisisk. Den genkender sprogskift inden for og mellem sætninger. Et sproghint kan angive de sprog, der forventes i lyden, men det styrer genkendelsen frem for at tvinge transskriptionen til ét sprog.</p><p>Ordforrådshints hjælper med produktbetegnelser, akronymer, navne eller steder, der er vigtige i en optagelse. Angiv de faktiske ord og stavemåder, du forventer at høre. Listen med nøgleord påvirker genkendelsen uden at garantere en bestemt stavemåde, så kontrollér afgørende udtryk mod lyden. Sproghints og nøgleord vælges ved transskriptionens start; sørg for, at de passer til optagelsen, frem for at ændre deres betydning, mens en session kører.</p><p>Modellen understøtter taleradskillelse i samtaler med mere end 20 talere. Betegnelser som A og B identificerer talere inden for én transskription. De er ikke verificerede navne og fastslår ikke, at en betegnelse henviser til den samme person i en anden session. Til en selvstændig mødeanalyse skal du anmode om taleture med talerangivelse, bevare optagelsen og bruge betegnelserne til at organisere samtalen, før eventuelle faktiske deltagernavne tilføjes gennem den omgivende arbejdsgang.</p><p>Foreløbige live-transskriptioner kan ændre sig, efterhånden som mere tale modtages. I kumulativ tilstand erstatter hvert foreløbigt resultat den foregående hypotese i stedet for at tilføje endnu en kopi af den. En registreret afslutning på tale markerer en grænse, mens resultatet for den afsluttede taletur giver den endelige tekst og kan afvige fra det seneste foreløbige resultat. Hold overlappende taleture knyttet til deres taletursidentifikatorer, og behandl de færdige resultater, før en transskription betragtes som afsluttet. Når live-input slutter, skal du signalere, at inputtet er afsluttet, og fortsætte med at modtage, indtil producenten er færdig med at sende udestående resultater. Hvis forbindelsen lukkes med det samme, kan disse resultater gå tabt; en registreret talegrænse afslutter en taletur og ikke hele sessionen.</p><p>Tidsangivelserne gælder pr. taletur. Denne profil giver hverken tidsstempler på ordniveau eller konfidensscorer, og fremdriften i lydbehandlingen er ikke et tidsstempel for et bestemt ord. Registrering af lydhændelser, følelsesregistrering og omformatering af transskriptionen ligger også uden for den dokumenterede outputprofil. Brug de returnerede intervaller for taleture til en talertidslinje eller gennemgang på segmentniveau, og bevar de genkendte ord, hvis et separat redigeringstrin senere skaber mere overskuelige noter.</p><p>Nyttige resultater omfatter en færdig dikteret passage, en transskriberet stemmeforespørgsel, en samtale med talerangivelse eller en tidslinje over ytringer. Sammenhold navne, tal og fagudtryk med den oprindelige optagelse, bevar tilstands- og tidsforbindelserne, og behold de komplette taleture til gennemgang. Transskriptionen fastslår, hvad der blev genkendt i lyden; at besvare et mundtligt spørgsmål, oversætte det eller omdanne det til mødenoter hører til et efterfølgende trin i applikationen.</p>",
  "aboutText": "Muse Voice Transcribe 1.0 er Metas model til lydforståelse, som transskriberer tale, registrerer ytringers grænser og knytter taleture til talere. Den tilhører Muse Spark-modelfamilien og kombinerer talegenkendelse, taleradskillelse og registrering af taleturens afslutning i selve modellen. Outputtet er den genkendte tekst med de tids- og taleroplysninger, der er tilgængelige i den valgte tilstand.\n\nModellen behandler lyd i bidder på 80 millisekunder og beslutter, hvornår den skal fortsætte med at lytte eller udsende tekst. Den adaptive forsinkelse gør det muligt at vente på mere lyd, når et ord er sværere at afklare. Det giver foreløbig tekst, mens talen modtages, efterfulgt af færdige transskriptionsresultater. Betragt den foreløbige hypotese og den afsluttede taletur som forskellige trin i lytteforløbet.\n\nVælg mellem tre tilstande. Push-to-talk er standardvalget til en enkelt, afgrænset ytring, eksempelvis en stemmeforespørgsel eller en kort dikteret passage. Endpointing lader modellen registrere grænserne mellem taleture og returnere én færdig transskription pr. registreret segment. Diarization knytter den genkendte tale til talerbetegnelser og er beregnet til optagelser med flere talere frem for den hurtigste turtagning ved stemmekommandoer.\n\nTil et optaget klip returnerer arbejdsgangen for filtransskription en komplet transskription i én anmodning. Standardresultatet er JSON med transskriptionen og lydens varighed samt et turns-array i tilstandene endpointing og diarization. Hver taletur kan indeholde en identifikator, start og slut i millisekunder samt den genkendte tekst. Talerbetegnelser er med i diarization-tilstanden. Push-to-talk giver den komplette transskription uden registrerede taleture i dette array. Producentens grænseflade til optagede filer kan også returnere ren tekst eller en strøm af transskriptionshændelser. Ren tekst holder registrerede taleture på separate linjer og kan indeholde talerbetegnelser; en hændelsesstrøm slutter efter sin sidste hændelse uden en separat JSON-opsummering. Dens delta-tilstand for foreløbige resultater returnerer tekst løbende i tilføjelser, mens den afsluttende transskriptionshændelse indeholder den komplette ordlyd.\n\nKlargør en RIFF/WAVE-fil med mono-lyd i 16-bit heltals-PCM ved 16 eller 24 kHz. Modellens native samplingsfrekvens er 24 kHz, og grænsefladen accepterer også 16 kHz. Konvertér andre containere eller kodninger til denne understøttede WAV-form, før du sender en optagelse. Filtransskriptionsprofilen tillader op til 10 minutters lyd og en samlet anmodningskrop på op til 32 MB. Bevar den oprindelige optagelse og en eventuel konvertering sammen med den returnerede transskription, så resultatet senere kan gennemgås ved aflytning.\n\nArbejdsgangen for live-lyd bruger rå mono-PCM med fortegn, 16 bit og little-endian-byteorden, med lyd ved 16 eller 24 kHz sendt i omtrent realtid. Det dokumenterede sessionsvindue er 60 minutter. Meta beskriver native lydinput på over en time; de dokumenterede grænser for filer og live-sessioner er fortsat separate grænser for grænsefladerne. Vælg arbejdsgangen for optagede filer eller live-lyd efter, om lyden allerede er færdigoptaget eller stadig optages, og hold resultater fra separate sessioner knyttet til deres egne inputsegmenter.\n\nMuse Voice Transcribe er trænet på mere end 70 sprog, mens den dokumenterede genkendelsesgrænseflade angiver 25 understøttede sprog. De omfatter engelsk, fransk, tysk, spansk, arabisk, mandarin-kinesisk, hindi, japansk, koreansk, italiensk og portugisisk. Den genkender sprogskift inden for og mellem sætninger. Et sproghint kan angive de sprog, der forventes i lyden, men det styrer genkendelsen frem for at tvinge transskriptionen til ét sprog.\n\nOrdforrådshints hjælper med produktbetegnelser, akronymer, navne eller steder, der er vigtige i en optagelse. Angiv de faktiske ord og stavemåder, du forventer at høre. Listen med nøgleord påvirker genkendelsen uden at garantere en bestemt stavemåde, så kontrollér afgørende udtryk mod lyden. Sproghints og nøgleord vælges ved transskriptionens start; sørg for, at de passer til optagelsen, frem for at ændre deres betydning, mens en session kører.\n\nModellen understøtter taleradskillelse i samtaler med mere end 20 talere. Betegnelser som A og B identificerer talere inden for én transskription. De er ikke verificerede navne og fastslår ikke, at en betegnelse henviser til den samme person i en anden session. Til en selvstændig mødeanalyse skal du anmode om taleture med talerangivelse, bevare optagelsen og bruge betegnelserne til at organisere samtalen, før eventuelle faktiske deltagernavne tilføjes gennem den omgivende arbejdsgang.\n\nForeløbige live-transskriptioner kan ændre sig, efterhånden som mere tale modtages. I kumulativ tilstand erstatter hvert foreløbigt resultat den foregående hypotese i stedet for at tilføje endnu en kopi af den. En registreret afslutning på tale markerer en grænse, mens resultatet for den afsluttede taletur giver den endelige tekst og kan afvige fra det seneste foreløbige resultat. Hold overlappende taleture knyttet til deres taletursidentifikatorer, og behandl de færdige resultater, før en transskription betragtes som afsluttet. Når live-input slutter, skal du signalere, at inputtet er afsluttet, og fortsætte med at modtage, indtil producenten er færdig med at sende udestående resultater. Hvis forbindelsen lukkes med det samme, kan disse resultater gå tabt; en registreret talegrænse afslutter en taletur og ikke hele sessionen.\n\nTidsangivelserne gælder pr. taletur. Denne profil giver hverken tidsstempler på ordniveau eller konfidensscorer, og fremdriften i lydbehandlingen er ikke et tidsstempel for et bestemt ord. Registrering af lydhændelser, følelsesregistrering og omformatering af transskriptionen ligger også uden for den dokumenterede outputprofil. Brug de returnerede intervaller for taleture til en talertidslinje eller gennemgang på segmentniveau, og bevar de genkendte ord, hvis et separat redigeringstrin senere skaber mere overskuelige noter.\n\nNyttige resultater omfatter en færdig dikteret passage, en transskriberet stemmeforespørgsel, en samtale med talerangivelse eller en tidslinje over ytringer. Sammenhold navne, tal og fagudtryk med den oprindelige optagelse, bevar tilstands- og tidsforbindelserne, og behold de komplette taleture til gennemgang. Transskriptionen fastslår, hvad der blev genkendt i lyden; at besvare et mundtligt spørgsmål, oversætte det eller omdanne det til mødenoter hører til et efterfølgende trin i applikationen.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "8b5a24fb2f89bcb4e8ee977cb32d6ed71c395bf942799828b31525915bfa8bd3",
    "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\">M</span><h2 id=\"sheet-title\">Meta: Muse Voice Transcribe 1.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Luk\">×</button></div><div class=\"idline\"><span>Meta /</span><code>meta/muse-voice-transcribe-1.0</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|meta%2Fmuse-voice-transcribe-1.0\">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\">Muse Voice Transcribe 1.0 er Metas tale-til-tekst-model til diktering, registrering af taleture og transskriptioner med angivelse af talere. Den understøtter sprog- og ordforrådshints, sprogskift og tidsangivelser pr. taletur med separate arbejdsgange til optagede klip og live-lyd.</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>Muse Voice Transcribe 1.0 er Metas model til lydforståelse, som transskriberer tale, registrerer ytringers grænser og knytter taleture til talere. Den tilhører Muse Spark-modelfamilien og kombinerer talegenkendelse, taleradskillelse og registrering af taleturens afslutning i selve modellen. Outputtet er den genkendte tekst med de tids- og taleroplysninger, der er tilgængelige i den valgte tilstand.</p><p>Modellen behandler lyd i bidder på 80 millisekunder og beslutter, hvornår den skal fortsætte med at lytte eller udsende tekst. Den adaptive forsinkelse gør det muligt at vente på mere lyd, når et ord er sværere at afklare. Det giver foreløbig tekst, mens talen modtages, efterfulgt af færdige transskriptionsresultater. Betragt den foreløbige hypotese og den afsluttede taletur som forskellige trin i lytteforløbet.</p><p>Vælg mellem tre tilstande. Push-to-talk er standardvalget til en enkelt, afgrænset ytring, eksempelvis en stemmeforespørgsel eller en kort dikteret passage. Endpointing lader modellen registrere grænserne mellem taleture og returnere én færdig transskription pr. registreret segment. Diarization knytter den genkendte tale til talerbetegnelser og er beregnet til optagelser med flere talere frem for den hurtigste turtagning ved stemmekommandoer.</p><p>Til et optaget klip returnerer arbejdsgangen for filtransskription en komplet transskription i én anmodning. Standardresultatet er JSON med transskriptionen og lydens varighed samt et turns-array i tilstandene endpointing og diarization. Hver taletur kan indeholde en identifikator, start og slut i millisekunder samt den genkendte tekst. Talerbetegnelser er med i diarization-tilstanden. Push-to-talk giver den komplette transskription uden registrerede taleture i dette array. Producentens grænseflade til optagede filer kan også returnere ren tekst eller en strøm af transskriptionshændelser. Ren tekst holder registrerede taleture på separate linjer og kan indeholde talerbetegnelser; en hændelsesstrøm slutter efter sin sidste hændelse uden en separat JSON-opsummering. Dens delta-tilstand for foreløbige resultater returnerer tekst løbende i tilføjelser, mens den afsluttende transskriptionshændelse indeholder den komplette ordlyd.</p><p>Klargør en RIFF/WAVE-fil med mono-lyd i 16-bit heltals-PCM ved 16 eller 24 kHz. Modellens native samplingsfrekvens er 24 kHz, og grænsefladen accepterer også 16 kHz. Konvertér andre containere eller kodninger til denne understøttede WAV-form, før du sender en optagelse. Filtransskriptionsprofilen tillader op til 10 minutters lyd og en samlet anmodningskrop på op til 32 MB. Bevar den oprindelige optagelse og en eventuel konvertering sammen med den returnerede transskription, så resultatet senere kan gennemgås ved aflytning.</p><p>Arbejdsgangen for live-lyd bruger rå mono-PCM med fortegn, 16 bit og little-endian-byteorden, med lyd ved 16 eller 24 kHz sendt i omtrent realtid. Det dokumenterede sessionsvindue er 60 minutter. Meta beskriver native lydinput på over en time; de dokumenterede grænser for filer og live-sessioner er fortsat separate grænser for grænsefladerne. Vælg arbejdsgangen for optagede filer eller live-lyd efter, om lyden allerede er færdigoptaget eller stadig optages, og hold resultater fra separate sessioner knyttet til deres egne inputsegmenter.</p><p>Muse Voice Transcribe er trænet på mere end 70 sprog, mens den dokumenterede genkendelsesgrænseflade angiver 25 understøttede sprog. De omfatter engelsk, fransk, tysk, spansk, arabisk, mandarin-kinesisk, hindi, japansk, koreansk, italiensk og portugisisk. Den genkender sprogskift inden for og mellem sætninger. Et sproghint kan angive de sprog, der forventes i lyden, men det styrer genkendelsen frem for at tvinge transskriptionen til ét sprog.</p><p>Ordforrådshints hjælper med produktbetegnelser, akronymer, navne eller steder, der er vigtige i en optagelse. Angiv de faktiske ord og stavemåder, du forventer at høre. Listen med nøgleord påvirker genkendelsen uden at garantere en bestemt stavemåde, så kontrollér afgørende udtryk mod lyden. Sproghints og nøgleord vælges ved transskriptionens start; sørg for, at de passer til optagelsen, frem for at ændre deres betydning, mens en session kører.</p><p>Modellen understøtter taleradskillelse i samtaler med mere end 20 talere. Betegnelser som A og B identificerer talere inden for én transskription. De er ikke verificerede navne og fastslår ikke, at en betegnelse henviser til den samme person i en anden session. Til en selvstændig mødeanalyse skal du anmode om taleture med talerangivelse, bevare optagelsen og bruge betegnelserne til at organisere samtalen, før eventuelle faktiske deltagernavne tilføjes gennem den omgivende arbejdsgang.</p><p>Foreløbige live-transskriptioner kan ændre sig, efterhånden som mere tale modtages. I kumulativ tilstand erstatter hvert foreløbigt resultat den foregående hypotese i stedet for at tilføje endnu en kopi af den. En registreret afslutning på tale markerer en grænse, mens resultatet for den afsluttede taletur giver den endelige tekst og kan afvige fra det seneste foreløbige resultat. Hold overlappende taleture knyttet til deres taletursidentifikatorer, og behandl de færdige resultater, før en transskription betragtes som afsluttet. Når live-input slutter, skal du signalere, at inputtet er afsluttet, og fortsætte med at modtage, indtil producenten er færdig med at sende udestående resultater. Hvis forbindelsen lukkes med det samme, kan disse resultater gå tabt; en registreret talegrænse afslutter en taletur og ikke hele sessionen.</p><p>Tidsangivelserne gælder pr. taletur. Denne profil giver hverken tidsstempler på ordniveau eller konfidensscorer, og fremdriften i lydbehandlingen er ikke et tidsstempel for et bestemt ord. Registrering af lydhændelser, følelsesregistrering og omformatering af transskriptionen ligger også uden for den dokumenterede outputprofil. Brug de returnerede intervaller for taleture til en talertidslinje eller gennemgang på segmentniveau, og bevar de genkendte ord, hvis et separat redigeringstrin senere skaber mere overskuelige noter.</p><p>Nyttige resultater omfatter en færdig dikteret passage, en transskriberet stemmeforespørgsel, en samtale med talerangivelse eller en tidslinje over ytringer. Sammenhold navne, tal og fagudtryk med den oprindelige optagelse, bevar tilstands- og tidsforbindelserne, og behold de komplette taleture til gennemgang. Transskriptionen fastslår, hvad der blev genkendt i lyden; at besvare et mundtligt spørgsmål, oversætte det eller omdanne det til mødenoter hører til et efterfølgende trin i applikationen.</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>meta/muse-voice-transcribe-1.0</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.0001</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-1834-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1834-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-1834-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1834-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;meta/muse-voice-transcribe-1.0&#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=meta%2Fmuse-voice-transcribe-1.0&amp;route=Ultra&amp;caller=meta%2Fmuse-voice-transcribe-1.0&amp;fmt=transcriptions\"><code>meta/muse-voice-transcribe-1.0</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=meta%2Fmuse-voice-transcribe-1.0&amp;route=Ultra&amp;caller=meta%2Fmuse-voice-transcribe-1.0&amp;fmt=transcriptions\"><code>meta/muse-voice-transcribe-1.0</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "meta/muse-voice-transcribe-1.0",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "meta/muse-voice-transcribe-1.0",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|meta%2Fmuse-voice-transcribe-1.0",
      "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": [
                  "meta/muse-voice-transcribe-1.0"
                ],
                "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": [
                    "meta/muse-voice-transcribe-1.0"
                  ],
                  "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": "meta/muse-voice-transcribe-1.0"
              },
              "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.0001",
                "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.0001",
                "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': 'meta/muse-voice-transcribe-1.0', '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.0001
          }
        },
        "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.0001",
                "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.0001",
                "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": "meta/muse-voice-transcribe-1.0",
        "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.0001",
            "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.0001",
            "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": "meta/muse-voice-transcribe-1.0",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "e6e3f2f3a95fb56b87d7937d4f8648ffdd79615cb3e06fcae9224ab6fd431aec",
    "input_html_sha256": "0efdaf3e790a8b7881fde3e36f1d12e405f1436c8ff6c170547f310c9ec898ab",
    "private_audit_sha256": "9a09c2b198dcd6ec559734e5ba5f8a021acd29a62543266654d0e8ec21e14683",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/da/meta-muse-voice-transcribe-1-0/",
    "description": "Muse Voice Transcribe 1.0 er Metas tale-til-tekst-model til diktering, registrering af taleture og transskriptioner med angivelse af talere. Den understøtter sprog- og ordforrådshints, sprogskift og tidsangivelser pr. taletur med separate arbejdsgange til optagede klip og live-lyd.",
    "locale": "da",
    "md_url": "https://ailoot.ai/models/da/meta-muse-voice-transcribe-1-0/index.md",
    "title": "Meta: Muse Voice Transcribe 1.0 — Ailoot",
    "url": "https://ailoot.ai/models/da/meta-muse-voice-transcribe-1-0/"
  },
  "rawModel": {
    "about": "Muse Voice Transcribe 1.0 er Metas model til lydforståelse, som transskriberer tale, registrerer ytringers grænser og knytter taleture til talere. Den tilhører Muse Spark-modelfamilien og kombinerer talegenkendelse, taleradskillelse og registrering af taleturens afslutning i selve modellen. Outputtet er den genkendte tekst med de tids- og taleroplysninger, der er tilgængelige i den valgte tilstand.\n\nModellen behandler lyd i bidder på 80 millisekunder og beslutter, hvornår den skal fortsætte med at lytte eller udsende tekst. Den adaptive forsinkelse gør det muligt at vente på mere lyd, når et ord er sværere at afklare. Det giver foreløbig tekst, mens talen modtages, efterfulgt af færdige transskriptionsresultater. Betragt den foreløbige hypotese og den afsluttede taletur som forskellige trin i lytteforløbet.\n\nVælg mellem tre tilstande. Push-to-talk er standardvalget til en enkelt, afgrænset ytring, eksempelvis en stemmeforespørgsel eller en kort dikteret passage. Endpointing lader modellen registrere grænserne mellem taleture og returnere én færdig transskription pr. registreret segment. Diarization knytter den genkendte tale til talerbetegnelser og er beregnet til optagelser med flere talere frem for den hurtigste turtagning ved stemmekommandoer.\n\nTil et optaget klip returnerer arbejdsgangen for filtransskription en komplet transskription i én anmodning. Standardresultatet er JSON med transskriptionen og lydens varighed samt et turns-array i tilstandene endpointing og diarization. Hver taletur kan indeholde en identifikator, start og slut i millisekunder samt den genkendte tekst. Talerbetegnelser er med i diarization-tilstanden. Push-to-talk giver den komplette transskription uden registrerede taleture i dette array. Producentens grænseflade til optagede filer kan også returnere ren tekst eller en strøm af transskriptionshændelser. Ren tekst holder registrerede taleture på separate linjer og kan indeholde talerbetegnelser; en hændelsesstrøm slutter efter sin sidste hændelse uden en separat JSON-opsummering. Dens delta-tilstand for foreløbige resultater returnerer tekst løbende i tilføjelser, mens den afsluttende transskriptionshændelse indeholder den komplette ordlyd.\n\nKlargør en RIFF/WAVE-fil med mono-lyd i 16-bit heltals-PCM ved 16 eller 24 kHz. Modellens native samplingsfrekvens er 24 kHz, og grænsefladen accepterer også 16 kHz. Konvertér andre containere eller kodninger til denne understøttede WAV-form, før du sender en optagelse. Filtransskriptionsprofilen tillader op til 10 minutters lyd og en samlet anmodningskrop på op til 32 MB. Bevar den oprindelige optagelse og en eventuel konvertering sammen med den returnerede transskription, så resultatet senere kan gennemgås ved aflytning.\n\nArbejdsgangen for live-lyd bruger rå mono-PCM med fortegn, 16 bit og little-endian-byteorden, med lyd ved 16 eller 24 kHz sendt i omtrent realtid. Det dokumenterede sessionsvindue er 60 minutter. Meta beskriver native lydinput på over en time; de dokumenterede grænser for filer og live-sessioner er fortsat separate grænser for grænsefladerne. Vælg arbejdsgangen for optagede filer eller live-lyd efter, om lyden allerede er færdigoptaget eller stadig optages, og hold resultater fra separate sessioner knyttet til deres egne inputsegmenter.\n\nMuse Voice Transcribe er trænet på mere end 70 sprog, mens den dokumenterede genkendelsesgrænseflade angiver 25 understøttede sprog. De omfatter engelsk, fransk, tysk, spansk, arabisk, mandarin-kinesisk, hindi, japansk, koreansk, italiensk og portugisisk. Den genkender sprogskift inden for og mellem sætninger. Et sproghint kan angive de sprog, der forventes i lyden, men det styrer genkendelsen frem for at tvinge transskriptionen til ét sprog.\n\nOrdforrådshints hjælper med produktbetegnelser, akronymer, navne eller steder, der er vigtige i en optagelse. Angiv de faktiske ord og stavemåder, du forventer at høre. Listen med nøgleord påvirker genkendelsen uden at garantere en bestemt stavemåde, så kontrollér afgørende udtryk mod lyden. Sproghints og nøgleord vælges ved transskriptionens start; sørg for, at de passer til optagelsen, frem for at ændre deres betydning, mens en session kører.\n\nModellen understøtter taleradskillelse i samtaler med mere end 20 talere. Betegnelser som A og B identificerer talere inden for én transskription. De er ikke verificerede navne og fastslår ikke, at en betegnelse henviser til den samme person i en anden session. Til en selvstændig mødeanalyse skal du anmode om taleture med talerangivelse, bevare optagelsen og bruge betegnelserne til at organisere samtalen, før eventuelle faktiske deltagernavne tilføjes gennem den omgivende arbejdsgang.\n\nForeløbige live-transskriptioner kan ændre sig, efterhånden som mere tale modtages. I kumulativ tilstand erstatter hvert foreløbigt resultat den foregående hypotese i stedet for at tilføje endnu en kopi af den. En registreret afslutning på tale markerer en grænse, mens resultatet for den afsluttede taletur giver den endelige tekst og kan afvige fra det seneste foreløbige resultat. Hold overlappende taleture knyttet til deres taletursidentifikatorer, og behandl de færdige resultater, før en transskription betragtes som afsluttet. Når live-input slutter, skal du signalere, at inputtet er afsluttet, og fortsætte med at modtage, indtil producenten er færdig med at sende udestående resultater. Hvis forbindelsen lukkes med det samme, kan disse resultater gå tabt; en registreret talegrænse afslutter en taletur og ikke hele sessionen.\n\nTidsangivelserne gælder pr. taletur. Denne profil giver hverken tidsstempler på ordniveau eller konfidensscorer, og fremdriften i lydbehandlingen er ikke et tidsstempel for et bestemt ord. Registrering af lydhændelser, følelsesregistrering og omformatering af transskriptionen ligger også uden for den dokumenterede outputprofil. Brug de returnerede intervaller for taleture til en talertidslinje eller gennemgang på segmentniveau, og bevar de genkendte ord, hvis et separat redigeringstrin senere skaber mere overskuelige noter.\n\nNyttige resultater omfatter en færdig dikteret passage, en transskriberet stemmeforespørgsel, en samtale med talerangivelse eller en tidslinje over ytringer. Sammenhold navne, tal og fagudtryk med den oprindelige optagelse, bevar tilstands- og tidsforbindelserne, og behold de komplette taleture til gennemgang. Transskriptionen fastslår, hvad der blev genkendt i lyden; at besvare et mundtligt spørgsmål, oversætte det eller omdanne det til mødenoter hører til et efterfølgende trin i applikationen.",
    "alias_of": null,
    "aliases": [],
    "author": "Meta",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001",
            "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.0001",
            "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": "meta/muse-voice-transcribe-1.0",
    "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": [
                  "meta/muse-voice-transcribe-1.0"
                ],
                "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": [
                    "meta/muse-voice-transcribe-1.0"
                  ],
                  "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": "meta/muse-voice-transcribe-1.0"
              },
              "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.0001",
                "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.0001",
                "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': 'meta/muse-voice-transcribe-1.0', '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.0001
          }
        },
        "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.0001",
                "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.0001",
                "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": "meta/muse-voice-transcribe-1.0",
        "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.0001",
            "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.0001",
            "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": "meta/muse-voice-transcribe-1.0",
        "request_model_id": "meta/muse-voice-transcribe-1.0",
        "route_label": "Ultra"
      }
    ],
    "name": "Meta: Muse Voice Transcribe 1.0",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Muse Voice Transcribe 1.0 er Metas tale-til-tekst-model til diktering, registrering af taleture og transskriptioner med angivelse af talere. Den understøtter sprog- og ordforrådshints, sprogskift og tidsangivelser pr. taletur med separate arbejdsgange til optagede klip og live-lyd."
  },
  "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": "Muse Voice Transcribe 1.0 er Metas tale-til-tekst-model til diktering, registrering af taleture og transskriptioner med angivelse af talere. Den understøtter sprog- og ordforrådshints, sprogskift og tidsangivelser pr. taletur med separate arbejdsgange til optagede klip og live-lyd.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "28a307e15bbe0f2e77bad85793e824244d6f0bb6f30529bfd8c166b13c337a31",
    "renderer_sha256": "2bf9f26ea9bfd57ed53d867671d8f05b41a6ea85089f48039e3365dc2b92ec2c"
  },
  "sourceRevision": "94ad151d60c04b16b20df59de46ad40f1fd3bd98fd7a983a98bc64b52630b53d"
}
