{
  "aboutHtml": "<p>Muse Voice Transcribe 1.0 is het audioperceptiemodel van Meta voor het transcriberen van spraak, het detecteren van uitingsgrenzen en het toewijzen van spreekbeurten aan sprekers. Het behoort tot de Muse Spark-modelfamilie en combineert herkenning, diarization en endpointing binnen het model. De uitvoer bestaat uit herkende tekst met de tijds- en sprekerinformatie die in de gekozen modus beschikbaar is.</p><p>Het model verwerkt audio in blokken van 80 milliseconden en beslist wanneer het verder luistert of tekst uitvoert. Dankzij een adaptieve vertraging kan het op extra audio wachten wanneer een woord moeilijker te bepalen is. Daardoor verschijnt gedeeltelijke tekst terwijl de spraak binnenkomt, gevolgd door voltooide transcriptieresultaten. Behandel de voorlopige hypothese en de voltooide spreekbeurt als verschillende fasen van de luisterervaring.</p><p>Kies uit drie modi. Push-to-talk is de standaard voor één afgebakende uiting, zoals een gesproken zoekvraag of een kort gedicteerd fragment. Endpointing laat het model grenzen tussen spreekbeurten detecteren en per gedetecteerd segment één voltooide transcriptie teruggeven. Diarization koppelt de herkende spraak aan sprekerlabels en is bedoeld voor opnamen met meerdere sprekers, in plaats van voor de snelst mogelijke beurtwisseling bij spraakopdrachten.</p><p>Voor een opgenomen fragment geeft de workflow voor bestandstranscriptie in één verzoek een volledige transcriptie terug. Het standaardresultaat is JSON met de transcriptie en audioduur, met een turns-array in de modi endpointing en diarization. Elke spreekbeurt kan een identifier, een begin- en eindtijd in milliseconden en de herkende tekst bevatten. In de modus diarization zijn sprekerlabels aanwezig. Push-to-talk levert de volledige transcriptie zonder gedetecteerde spreekbeurten in die array. De interface van de fabrikant voor opgenomen bestanden kan ook platte tekst of een stroom transcriptiegebeurtenissen teruggeven. Platte tekst houdt gedetecteerde spreekbeurten op afzonderlijke regels en kan sprekerlabels bevatten; een gebeurtenissenstroom eindigt na de laatste gebeurtenis zonder een afzonderlijke JSON-samenvatting. De gedeeltelijke modus delta geeft incrementele tekst terug, terwijl de laatste transcriptiegebeurtenis de volledige formulering bevat.</p><p>Bereid een RIFF/WAVE-bestand voor met mono PCM-audio met 16-bits gehele getallen op 16 of 24 kHz. De native samplefrequentie van het model is 24 kHz; de interface accepteert ook 16 kHz. Zet andere containers of coderingen om naar die ondersteunde WAV-vorm voordat je een opname aanlevert. Het profiel voor bestandstranscriptie staat audio tot 10 minuten en een totale verzoekbody tot 32 MB toe. Bewaar de oorspronkelijke opname en eventuele conversie gekoppeld aan de teruggegeven transcriptie, zodat je deze later al luisterend kunt controleren.</p><p>De workflow voor liveaudio gebruikt ruwe mono PCM met signed 16-bits little-endian samples, met audio op 16 of 24 kHz die ongeveer in realtime wordt aangeleverd. Het gedocumenteerde sessievenster is 60 minuten. Meta beschrijft native audio-invoer van meer dan een uur; de gedocumenteerde limieten voor bestanden en livesessies blijven afzonderlijke interfacegrenzen. Kies de workflow voor opgenomen bestanden of liveaudio op basis van de vraag of de audio al volledig beschikbaar is of nog wordt opgenomen, en houd resultaten uit verschillende sessies gekoppeld aan hun eigen invoersegmenten.</p><p>Muse Voice Transcribe is getraind op meer dan 70 talen, terwijl de gedocumenteerde herkenningsinterface 25 ondersteunde talen opsomt. Daartoe behoren Engels, Frans, Duits, Spaans, Arabisch, Mandarijn-Chinees, Hindi, Japans, Koreaans, Italiaans en Portugees. Het herkent code-switching binnen en tussen zinnen. Een taalhint kan de talen benoemen die je in de audio verwacht, maar stuurt de herkenning in plaats van de transcriptie tot één taal te dwingen.</p><p>Woordenschathints helpen bij producttermen, acroniemen, namen of plaatsen die belangrijk zijn in een opname. Geef de daadwerkelijke woorden en schrijfwijzen op die je verwacht te horen. De trefwoordenlijst beïnvloedt de herkenning zonder een exacte spelling te garanderen; controleer daarom doorslaggevende termen aan de hand van de audio. Taalhints en trefwoorden worden aan het begin van de transcriptie gekozen; houd ze passend bij die opname in plaats van hun betekenis tijdens een lopende sessie te veranderen.</p><p>Het model ondersteunt diarization voor gesprekken met meer dan 20 sprekers. Labels zoals A en B duiden sprekers binnen één transcriptie aan. Het zijn geen geverifieerde namen en ze bewijzen niet dat een label in een andere sessie naar dezelfde persoon verwijst. Vraag voor een nieuwe vergaderanalyse om spreekbeurten met sprekerstoewijzing, bewaar de opname en gebruik de labels om de discussie te ordenen voordat je via de omringende workflow echte deelnemersnamen toewijst.</p><p>Gedeeltelijke livetranscripties kunnen veranderen naarmate er meer spraak binnenkomt. In de cumulatieve modus vervangt elk gedeeltelijk resultaat de voorgaande hypothese, in plaats van er nog een kopie aan toe te voegen. Een gedetecteerd einde van spraak markeert een grens, terwijl het resultaat voor de voltooide spreekbeurt de definitieve tekst levert en kan afwijken van het laatste gedeeltelijke resultaat. Houd overlappende spreekbeurten gekoppeld aan hun spreekbeurtidentifiers en verwerk de voltooide resultaten voordat je een transcriptie als afgerond beschouwt. Signaleer het einde van de invoer wanneer de live-invoer stopt en blijf resultaten ontvangen totdat de producer alle resterende resultaten heeft uitgestuurd. De verbinding onmiddellijk sluiten kan die resultaten verloren laten gaan; een gedetecteerde spraakgrens beëindigt een spreekbeurt, niet de hele sessie.</p><p>Tijdsaanduidingen gelden per spreekbeurt. Dit profiel levert geen tijdstempels per woord of betrouwbaarheidsscores, en de voortgang van de audioverwerking is geen tijdstempel voor een bepaald woord. Ook het detecteren van geluidsgebeurtenissen, emotiedetectie en het herformatteren van transcripties vallen buiten het gedocumenteerde uitvoerprofiel. Gebruik de teruggegeven spreekbeurtintervallen voor een tijdlijn per spreker of controle per segment, en bewaar de herkende woorden als een afzonderlijke bewerkingsstap later nettere notities maakt.</p><p>Bruikbare artefacten zijn bijvoorbeeld een voltooid gedicteerd fragment, de transcriptie van een gesproken zoekvraag, een gesprek met sprekerstoewijzing of een tijdlijn van uitingen. Vergelijk namen, getallen en technische termen met de oorspronkelijke opname, behoud de koppeling met de modus en tijdsaanduidingen en houd de volledige spreekbeurten beschikbaar voor controle. De transcriptie legt vast wat in de audio is herkend; een gesproken vraag beantwoorden, deze vertalen of er vergadernotities van maken hoort bij een volgende applicatiestap.</p>",
  "aboutText": "Muse Voice Transcribe 1.0 is het audioperceptiemodel van Meta voor het transcriberen van spraak, het detecteren van uitingsgrenzen en het toewijzen van spreekbeurten aan sprekers. Het behoort tot de Muse Spark-modelfamilie en combineert herkenning, diarization en endpointing binnen het model. De uitvoer bestaat uit herkende tekst met de tijds- en sprekerinformatie die in de gekozen modus beschikbaar is.\n\nHet model verwerkt audio in blokken van 80 milliseconden en beslist wanneer het verder luistert of tekst uitvoert. Dankzij een adaptieve vertraging kan het op extra audio wachten wanneer een woord moeilijker te bepalen is. Daardoor verschijnt gedeeltelijke tekst terwijl de spraak binnenkomt, gevolgd door voltooide transcriptieresultaten. Behandel de voorlopige hypothese en de voltooide spreekbeurt als verschillende fasen van de luisterervaring.\n\nKies uit drie modi. Push-to-talk is de standaard voor één afgebakende uiting, zoals een gesproken zoekvraag of een kort gedicteerd fragment. Endpointing laat het model grenzen tussen spreekbeurten detecteren en per gedetecteerd segment één voltooide transcriptie teruggeven. Diarization koppelt de herkende spraak aan sprekerlabels en is bedoeld voor opnamen met meerdere sprekers, in plaats van voor de snelst mogelijke beurtwisseling bij spraakopdrachten.\n\nVoor een opgenomen fragment geeft de workflow voor bestandstranscriptie in één verzoek een volledige transcriptie terug. Het standaardresultaat is JSON met de transcriptie en audioduur, met een turns-array in de modi endpointing en diarization. Elke spreekbeurt kan een identifier, een begin- en eindtijd in milliseconden en de herkende tekst bevatten. In de modus diarization zijn sprekerlabels aanwezig. Push-to-talk levert de volledige transcriptie zonder gedetecteerde spreekbeurten in die array. De interface van de fabrikant voor opgenomen bestanden kan ook platte tekst of een stroom transcriptiegebeurtenissen teruggeven. Platte tekst houdt gedetecteerde spreekbeurten op afzonderlijke regels en kan sprekerlabels bevatten; een gebeurtenissenstroom eindigt na de laatste gebeurtenis zonder een afzonderlijke JSON-samenvatting. De gedeeltelijke modus delta geeft incrementele tekst terug, terwijl de laatste transcriptiegebeurtenis de volledige formulering bevat.\n\nBereid een RIFF/WAVE-bestand voor met mono PCM-audio met 16-bits gehele getallen op 16 of 24 kHz. De native samplefrequentie van het model is 24 kHz; de interface accepteert ook 16 kHz. Zet andere containers of coderingen om naar die ondersteunde WAV-vorm voordat je een opname aanlevert. Het profiel voor bestandstranscriptie staat audio tot 10 minuten en een totale verzoekbody tot 32 MB toe. Bewaar de oorspronkelijke opname en eventuele conversie gekoppeld aan de teruggegeven transcriptie, zodat je deze later al luisterend kunt controleren.\n\nDe workflow voor liveaudio gebruikt ruwe mono PCM met signed 16-bits little-endian samples, met audio op 16 of 24 kHz die ongeveer in realtime wordt aangeleverd. Het gedocumenteerde sessievenster is 60 minuten. Meta beschrijft native audio-invoer van meer dan een uur; de gedocumenteerde limieten voor bestanden en livesessies blijven afzonderlijke interfacegrenzen. Kies de workflow voor opgenomen bestanden of liveaudio op basis van de vraag of de audio al volledig beschikbaar is of nog wordt opgenomen, en houd resultaten uit verschillende sessies gekoppeld aan hun eigen invoersegmenten.\n\nMuse Voice Transcribe is getraind op meer dan 70 talen, terwijl de gedocumenteerde herkenningsinterface 25 ondersteunde talen opsomt. Daartoe behoren Engels, Frans, Duits, Spaans, Arabisch, Mandarijn-Chinees, Hindi, Japans, Koreaans, Italiaans en Portugees. Het herkent code-switching binnen en tussen zinnen. Een taalhint kan de talen benoemen die je in de audio verwacht, maar stuurt de herkenning in plaats van de transcriptie tot één taal te dwingen.\n\nWoordenschathints helpen bij producttermen, acroniemen, namen of plaatsen die belangrijk zijn in een opname. Geef de daadwerkelijke woorden en schrijfwijzen op die je verwacht te horen. De trefwoordenlijst beïnvloedt de herkenning zonder een exacte spelling te garanderen; controleer daarom doorslaggevende termen aan de hand van de audio. Taalhints en trefwoorden worden aan het begin van de transcriptie gekozen; houd ze passend bij die opname in plaats van hun betekenis tijdens een lopende sessie te veranderen.\n\nHet model ondersteunt diarization voor gesprekken met meer dan 20 sprekers. Labels zoals A en B duiden sprekers binnen één transcriptie aan. Het zijn geen geverifieerde namen en ze bewijzen niet dat een label in een andere sessie naar dezelfde persoon verwijst. Vraag voor een nieuwe vergaderanalyse om spreekbeurten met sprekerstoewijzing, bewaar de opname en gebruik de labels om de discussie te ordenen voordat je via de omringende workflow echte deelnemersnamen toewijst.\n\nGedeeltelijke livetranscripties kunnen veranderen naarmate er meer spraak binnenkomt. In de cumulatieve modus vervangt elk gedeeltelijk resultaat de voorgaande hypothese, in plaats van er nog een kopie aan toe te voegen. Een gedetecteerd einde van spraak markeert een grens, terwijl het resultaat voor de voltooide spreekbeurt de definitieve tekst levert en kan afwijken van het laatste gedeeltelijke resultaat. Houd overlappende spreekbeurten gekoppeld aan hun spreekbeurtidentifiers en verwerk de voltooide resultaten voordat je een transcriptie als afgerond beschouwt. Signaleer het einde van de invoer wanneer de live-invoer stopt en blijf resultaten ontvangen totdat de producer alle resterende resultaten heeft uitgestuurd. De verbinding onmiddellijk sluiten kan die resultaten verloren laten gaan; een gedetecteerde spraakgrens beëindigt een spreekbeurt, niet de hele sessie.\n\nTijdsaanduidingen gelden per spreekbeurt. Dit profiel levert geen tijdstempels per woord of betrouwbaarheidsscores, en de voortgang van de audioverwerking is geen tijdstempel voor een bepaald woord. Ook het detecteren van geluidsgebeurtenissen, emotiedetectie en het herformatteren van transcripties vallen buiten het gedocumenteerde uitvoerprofiel. Gebruik de teruggegeven spreekbeurtintervallen voor een tijdlijn per spreker of controle per segment, en bewaar de herkende woorden als een afzonderlijke bewerkingsstap later nettere notities maakt.\n\nBruikbare artefacten zijn bijvoorbeeld een voltooid gedicteerd fragment, de transcriptie van een gesproken zoekvraag, een gesprek met sprekerstoewijzing of een tijdlijn van uitingen. Vergelijk namen, getallen en technische termen met de oorspronkelijke opname, behoud de koppeling met de modus en tijdsaanduidingen en houd de volledige spreekbeurten beschikbaar voor controle. De transcriptie legt vast wat in de audio is herkend; een gesproken vraag beantwoorden, deze vertalen of er vergadernotities van maken hoort bij een volgende applicatiestap.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "23f75180a59a8b27791a98710336a76c822602ae210c120f845bbb8aaff50238",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "nl",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">M</span><h2 id=\"sheet-title\">Meta: Muse Voice Transcribe 1.0</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sluiten\">×</button></div><div class=\"idline\"><span>Meta /</span><code>meta/muse-voice-transcribe-1.0</code><button type=\"button\" id=\"copy-id\">ID kopiëren</button></div><nav class=\"card-jump-nav\" aria-label=\"Onderdelen van de modelkaart\"><button type=\"button\" data-card-jump=\"overview\">Aan de slag</button><button type=\"button\" data-card-jump=\"methods\">Invoer en methoden</button><button type=\"button\" data-card-jump=\"pricing\">Tarieven</button><button type=\"button\" data-card-jump=\"examples\">Voorbeelden</button><button type=\"button\" data-card-jump=\"results\">Resultaten</button><button type=\"button\" data-card-jump=\"aliases\">Aliasnamen</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-methoden\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|meta%2Fmuse-voice-transcribe-1.0\">Herkenning</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Aan de slag</h3><p class=\"mdesc-full\">Muse Voice Transcribe 1.0 is het spraak-naar-tekstmodel van Meta voor dicteren, gedetecteerde spreekbeurten en transcripties met sprekerstoewijzing. Het ondersteunt taal- en woordenschathints, code-switching en tijdsaanduidingen per spreekbeurt, met afzonderlijke workflows voor opgenomen fragmenten en liveaudio.</p><dl class=\"card-io\" data-card-io><div><dt>Toegestane invoer</dt><dd>Audio</dd></div><div><dt>Resultaten</dt><dd>Tekst</dd></div></dl><details class=\"card-about\"><summary>Over het model</summary><p class=\"note-s\" data-model-method-boundary>Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.</p><div class=\"mabout\" id=\"m-about\"><p>Muse Voice Transcribe 1.0 is het audioperceptiemodel van Meta voor het transcriberen van spraak, het detecteren van uitingsgrenzen en het toewijzen van spreekbeurten aan sprekers. Het behoort tot de Muse Spark-modelfamilie en combineert herkenning, diarization en endpointing binnen het model. De uitvoer bestaat uit herkende tekst met de tijds- en sprekerinformatie die in de gekozen modus beschikbaar is.</p><p>Het model verwerkt audio in blokken van 80 milliseconden en beslist wanneer het verder luistert of tekst uitvoert. Dankzij een adaptieve vertraging kan het op extra audio wachten wanneer een woord moeilijker te bepalen is. Daardoor verschijnt gedeeltelijke tekst terwijl de spraak binnenkomt, gevolgd door voltooide transcriptieresultaten. Behandel de voorlopige hypothese en de voltooide spreekbeurt als verschillende fasen van de luisterervaring.</p><p>Kies uit drie modi. Push-to-talk is de standaard voor één afgebakende uiting, zoals een gesproken zoekvraag of een kort gedicteerd fragment. Endpointing laat het model grenzen tussen spreekbeurten detecteren en per gedetecteerd segment één voltooide transcriptie teruggeven. Diarization koppelt de herkende spraak aan sprekerlabels en is bedoeld voor opnamen met meerdere sprekers, in plaats van voor de snelst mogelijke beurtwisseling bij spraakopdrachten.</p><p>Voor een opgenomen fragment geeft de workflow voor bestandstranscriptie in één verzoek een volledige transcriptie terug. Het standaardresultaat is JSON met de transcriptie en audioduur, met een turns-array in de modi endpointing en diarization. Elke spreekbeurt kan een identifier, een begin- en eindtijd in milliseconden en de herkende tekst bevatten. In de modus diarization zijn sprekerlabels aanwezig. Push-to-talk levert de volledige transcriptie zonder gedetecteerde spreekbeurten in die array. De interface van de fabrikant voor opgenomen bestanden kan ook platte tekst of een stroom transcriptiegebeurtenissen teruggeven. Platte tekst houdt gedetecteerde spreekbeurten op afzonderlijke regels en kan sprekerlabels bevatten; een gebeurtenissenstroom eindigt na de laatste gebeurtenis zonder een afzonderlijke JSON-samenvatting. De gedeeltelijke modus delta geeft incrementele tekst terug, terwijl de laatste transcriptiegebeurtenis de volledige formulering bevat.</p><p>Bereid een RIFF/WAVE-bestand voor met mono PCM-audio met 16-bits gehele getallen op 16 of 24 kHz. De native samplefrequentie van het model is 24 kHz; de interface accepteert ook 16 kHz. Zet andere containers of coderingen om naar die ondersteunde WAV-vorm voordat je een opname aanlevert. Het profiel voor bestandstranscriptie staat audio tot 10 minuten en een totale verzoekbody tot 32 MB toe. Bewaar de oorspronkelijke opname en eventuele conversie gekoppeld aan de teruggegeven transcriptie, zodat je deze later al luisterend kunt controleren.</p><p>De workflow voor liveaudio gebruikt ruwe mono PCM met signed 16-bits little-endian samples, met audio op 16 of 24 kHz die ongeveer in realtime wordt aangeleverd. Het gedocumenteerde sessievenster is 60 minuten. Meta beschrijft native audio-invoer van meer dan een uur; de gedocumenteerde limieten voor bestanden en livesessies blijven afzonderlijke interfacegrenzen. Kies de workflow voor opgenomen bestanden of liveaudio op basis van de vraag of de audio al volledig beschikbaar is of nog wordt opgenomen, en houd resultaten uit verschillende sessies gekoppeld aan hun eigen invoersegmenten.</p><p>Muse Voice Transcribe is getraind op meer dan 70 talen, terwijl de gedocumenteerde herkenningsinterface 25 ondersteunde talen opsomt. Daartoe behoren Engels, Frans, Duits, Spaans, Arabisch, Mandarijn-Chinees, Hindi, Japans, Koreaans, Italiaans en Portugees. Het herkent code-switching binnen en tussen zinnen. Een taalhint kan de talen benoemen die je in de audio verwacht, maar stuurt de herkenning in plaats van de transcriptie tot één taal te dwingen.</p><p>Woordenschathints helpen bij producttermen, acroniemen, namen of plaatsen die belangrijk zijn in een opname. Geef de daadwerkelijke woorden en schrijfwijzen op die je verwacht te horen. De trefwoordenlijst beïnvloedt de herkenning zonder een exacte spelling te garanderen; controleer daarom doorslaggevende termen aan de hand van de audio. Taalhints en trefwoorden worden aan het begin van de transcriptie gekozen; houd ze passend bij die opname in plaats van hun betekenis tijdens een lopende sessie te veranderen.</p><p>Het model ondersteunt diarization voor gesprekken met meer dan 20 sprekers. Labels zoals A en B duiden sprekers binnen één transcriptie aan. Het zijn geen geverifieerde namen en ze bewijzen niet dat een label in een andere sessie naar dezelfde persoon verwijst. Vraag voor een nieuwe vergaderanalyse om spreekbeurten met sprekerstoewijzing, bewaar de opname en gebruik de labels om de discussie te ordenen voordat je via de omringende workflow echte deelnemersnamen toewijst.</p><p>Gedeeltelijke livetranscripties kunnen veranderen naarmate er meer spraak binnenkomt. In de cumulatieve modus vervangt elk gedeeltelijk resultaat de voorgaande hypothese, in plaats van er nog een kopie aan toe te voegen. Een gedetecteerd einde van spraak markeert een grens, terwijl het resultaat voor de voltooide spreekbeurt de definitieve tekst levert en kan afwijken van het laatste gedeeltelijke resultaat. Houd overlappende spreekbeurten gekoppeld aan hun spreekbeurtidentifiers en verwerk de voltooide resultaten voordat je een transcriptie als afgerond beschouwt. Signaleer het einde van de invoer wanneer de live-invoer stopt en blijf resultaten ontvangen totdat de producer alle resterende resultaten heeft uitgestuurd. De verbinding onmiddellijk sluiten kan die resultaten verloren laten gaan; een gedetecteerde spraakgrens beëindigt een spreekbeurt, niet de hele sessie.</p><p>Tijdsaanduidingen gelden per spreekbeurt. Dit profiel levert geen tijdstempels per woord of betrouwbaarheidsscores, en de voortgang van de audioverwerking is geen tijdstempel voor een bepaald woord. Ook het detecteren van geluidsgebeurtenissen, emotiedetectie en het herformatteren van transcripties vallen buiten het gedocumenteerde uitvoerprofiel. Gebruik de teruggegeven spreekbeurtintervallen voor een tijdlijn per spreker of controle per segment, en bewaar de herkende woorden als een afzonderlijke bewerkingsstap later nettere notities maakt.</p><p>Bruikbare artefacten zijn bijvoorbeeld een voltooid gedicteerd fragment, de transcriptie van een gesproken zoekvraag, een gesprek met sprekerstoewijzing of een tijdlijn van uitingen. Vergelijk namen, getallen en technische termen met de oorspronkelijke opname, behoud de koppeling met de modus en tijdsaanduidingen en houd de volledige spreekbeurten beschikbaar voor controle. De transcriptie legt vast wat in de audio is herkend; een gesproken vraag beantwoorden, deze vertalen of er vergadernotities van maken hoort bij een volgende applicatiestap.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Beschikbaar in Ailoot · invoer en methoden</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Transcriptie</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Invoertypen</dt><dd><code>audio</code></dd></div><div><dt>Uitvoertypen</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Veld</th><th>Type</th><th>Vereiste</th><th>Waarden en limieten</th><th>Standaard</th></tr></thead><tbody><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Vereist</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>meta/muse-voice-transcribe-1.0</div></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Vereist</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Methodeparameters en levenscyclus</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Contract</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>model, input_audio</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>audio</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_conditions</code></th><td data-cell-label=\"Contract\"><span class=\"card-cell-label\">Contract</span>Het voorbeeld leest uw eigen niet-lege PCM WAV-bestand, codeert alle bestandsbytes als base64 en verstuurt input_audio.format als wav.</td></tr></tbody></table></div><p>Levenscyclus: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · exacte task_id uit een bestaand mediarecord dat u bezit</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarieven</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.</p><dl data-price-conditions><dt>Snelle modus</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer de snelle modus is geselecteerd</span></dd><dt>Flexmodus</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer de modus flex is geselecteerd</span></dd><dt>Maximale redeneerinspanning</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-tarieven</h4><h4>Prijzen per configuratie</h4><p class=\"note-s\">Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuratie</th><th>Tariefstaffel</th><th>Rekeneenheid</th><th>Kosten</th></tr></thead><tbody><tr><th data-cell-label=\"Configuratie\" scope=\"row\"><span class=\"card-cell-label\">Configuratie</span>Basistarieven voor tokens</th><td data-cell-label=\"Tariefstaffel\"><span class=\"card-cell-label\">Tariefstaffel</span>Basistarief</td><td data-cell-label=\"Rekeneenheid\"><span class=\"card-cell-label\">Rekeneenheid</span>—</td><td data-cell-label=\"Kosten\"><span class=\"card-cell-label\">Kosten</span><div><span>Invoer · Invoertokens</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Uitvoer · Uitvoertokens</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache lezen</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache schrijven</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache schrijven, 1 uur</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuratie\" scope=\"row\"><span class=\"card-cell-label\">Configuratie</span>seconde audio-invoer</th><td data-cell-label=\"Tariefstaffel\"><span class=\"card-cell-label\">Tariefstaffel</span>—</td><td data-cell-label=\"Rekeneenheid\"><span class=\"card-cell-label\">Rekeneenheid</span>per seconde audio-invoer</td><td data-cell-label=\"Kosten\"><span class=\"card-cell-label\">Kosten</span><div><span>Invoer · seconde audio-invoer</span> <b>$0.0001</b> <span class=\"price-unit\">per seconde audio-invoer</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. <a href=\"/docs/nl/billing/reserve/\">Zo werken reservering en afrekening →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Voorbeeldverzoeken</h3><h4>Ailoot Ultra · Transcriptie</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Codevarianten\"><button class=\"cg-tab\" id=\"model-code-1834-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1834-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · daadwerkelijk WAV-bestand en volledig oorspronkelijk resultaat</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Code kopiëren\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-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\">Resultaten ophalen en opslaan</h3><h4>Ailoot Ultra · Transcriptie</h4><p class=\"note-s\">Volledige oorspronkelijke antwoordbody, status en doorgestuurde headers. Deze handler voegt geen universele JSON-structuur, tekstveld of taakenvelop toe.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>Alle voltooide resultaten bewaren</h5><p class=\"note-s\">Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.</p><p class=\"note-s\">Bewaar het volledige antwoord en de headers, alle daadwerkelijke uitvoer, de oorspronkelijk geretourneerde identificatoren en alle gebruiksvelden. Herstel de oorspronkelijke bewerking zonder de aanmaakaanvraag opnieuw in te dienen.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Als het oorspronkelijke antwoord moet worden gecontroleerd</h5><p class=\"note-s\">Bewaar de daadwerkelijke X-Client-Request-ID en het volledige antwoord. Lees de oorspronkelijke assets die u bezit en hun exacte ondertekende inhouds-URLs; dien een onzekere aanmaak nooit opnieuw in.</p></div><details class=\"card-about\" data-output-fields><summary>Antwoordvelden</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Veld</th><th>Type</th></tr></thead><tbody><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span></td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Fouten en vervolgstappen</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Antwoord</th><th>Voorwaarde</th><th>Volgende stap</th></tr></thead><tbody><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>De JSON-body of expliciete canonieke model-ID is ongeldig.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar het antwoord en corrigeer het aangegeven verzoekveld.</td></tr><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>De Ailoot API-sleutel is ongeldig.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Gebruik uw geautoriseerde Ailoot API-sleutel.</td></tr><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>403 · <code>permission_error</code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>De sleutelgroep laat deze methode niet toe.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar de geretourneerde foutdetails.</td></tr><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>De geselecteerde methode heeft geen toegelaten route.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar de geretourneerde foutdetails.</td></tr><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>Het geaccepteerde tarief kan de vereiste invoerhoeveelheid of bovengrens niet verkrijgen.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar het antwoord; gebruik de invoerweergave die het geaccepteerde tarief vereist.</td></tr><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>503 · <code></code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>Vereiste opslag, route, methodeprijs of reservering is niet beschikbaar.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar het volledige oorspronkelijke antwoord. Een onzekere reservering geeft geen toestemming om opnieuw in te dienen.</td></tr><tr><th data-cell-label=\"Antwoord\" scope=\"row\"><span class=\"card-cell-label\">Antwoord</span>502 · <code>server_error</code></th><td data-cell-label=\"Voorwaarde\"><span class=\"card-cell-label\">Voorwaarde</span>Het oorspronkelijke resultaat, gebruik of de afrekening moet worden gecontroleerd.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar de daadwerkelijke verzoek-ID en het oorspronkelijke antwoord. Lees het bestaande record dat u bezit; dien de aanmaak niet opnieuw in.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasnamen</h3><h4>Modelaliasnamen</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=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>Aliasnamen voor methodepaden</h4><p class=\"note-s\">Gebruik de hierboven getoonde methodepaden.</p><h4>Gerelateerde aanroeper-ID’s</h4><p class=\"note-s\"><a href=\"#m=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": "De JSON-body of expliciete canonieke model-ID is ongeldig.",
                "http_status": 400,
                "recovery": "Bewaar het antwoord en corrigeer het aangegeven verzoekveld.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "De Ailoot API-sleutel is ongeldig.",
                "http_status": 401,
                "recovery": "Gebruik uw geautoriseerde Ailoot API-sleutel.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "De sleutelgroep laat deze methode niet toe.",
                "http_status": 403,
                "recovery": "Bewaar de geretourneerde foutdetails.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "De geselecteerde methode heeft geen toegelaten route.",
                "http_status": 404,
                "recovery": "Bewaar de geretourneerde foutdetails.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Het geaccepteerde tarief kan de vereiste invoerhoeveelheid of bovengrens niet verkrijgen.",
                "http_status": 422,
                "recovery": "Bewaar het antwoord; gebruik de invoerweergave die het geaccepteerde tarief vereist.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Vereiste opslag, route, methodeprijs of reservering is niet beschikbaar.",
                "http_status": 503,
                "recovery": "Bewaar het volledige oorspronkelijke antwoord. Een onzekere reservering geeft geen toestemming om opnieuw in te dienen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Het oorspronkelijke resultaat, gebruik of de afrekening moet worden gecontroleerd.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Bewaar de daadwerkelijke verzoek-ID en het oorspronkelijke antwoord. Lees het bestaande record dat u bezit; dien de aanmaak niet opnieuw in.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Bewaar de daadwerkelijke X-Client-Request-ID en het volledige antwoord. Lees de oorspronkelijke assets die u bezit en hun exacte ondertekende inhouds-URLs; dien een onzekere aanmaak nooit opnieuw in."
            },
            "outputs": {
              "all_results": "Bewaar het volledige antwoord en de headers, alle daadwerkelijke uitvoer, de oorspronkelijk geretourneerde identificatoren en alle gebruiksvelden. Herstel de oorspronkelijke bewerking zonder de aanmaakaanvraag opnieuw in te dienen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Volledige oorspronkelijke antwoordbody, status en doorgestuurde headers. Deze handler voegt geen universele JSON-structuur, tekstveld of taakenvelop toe."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "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": [
              "Het voorbeeld leest uw eigen niet-lege PCM WAV-bestand, codeert alle bestandsbytes als base64 en verstuurt input_audio.format als wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "exacte task_id uit een bestaand mediarecord dat u bezit",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.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": "Transcriptie",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.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": "b548253d2e566eb10df5355121311fa3ea54314da380e6a2cc2686e5814421a3",
    "input_html_sha256": "117bdfd74e23c70d56ac03e5e60e6ec27bdb04ca95bf901b5cdee377661459b1",
    "private_audit_sha256": "ed9f8fd2c4c92b366d42da6dd0bc28149c3bdec43c65733d9140c23861ce26f2",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/nl/meta-muse-voice-transcribe-1-0/",
    "description": "Muse Voice Transcribe 1.0 is het spraak-naar-tekstmodel van Meta voor dicteren, gedetecteerde spreekbeurten en transcripties met sprekerstoewijzing. Het ondersteunt taal- en woordenschathints, code-switching en tijdsaanduidingen per spreekbeurt, met afzonderlijke workflows voor opgenomen fragmenten en liveaudio.",
    "locale": "nl",
    "md_url": "https://ailoot.ai/models/nl/meta-muse-voice-transcribe-1-0/index.md",
    "title": "Meta: Muse Voice Transcribe 1.0 — Ailoot",
    "url": "https://ailoot.ai/models/nl/meta-muse-voice-transcribe-1-0/"
  },
  "rawModel": {
    "about": "Muse Voice Transcribe 1.0 is het audioperceptiemodel van Meta voor het transcriberen van spraak, het detecteren van uitingsgrenzen en het toewijzen van spreekbeurten aan sprekers. Het behoort tot de Muse Spark-modelfamilie en combineert herkenning, diarization en endpointing binnen het model. De uitvoer bestaat uit herkende tekst met de tijds- en sprekerinformatie die in de gekozen modus beschikbaar is.\n\nHet model verwerkt audio in blokken van 80 milliseconden en beslist wanneer het verder luistert of tekst uitvoert. Dankzij een adaptieve vertraging kan het op extra audio wachten wanneer een woord moeilijker te bepalen is. Daardoor verschijnt gedeeltelijke tekst terwijl de spraak binnenkomt, gevolgd door voltooide transcriptieresultaten. Behandel de voorlopige hypothese en de voltooide spreekbeurt als verschillende fasen van de luisterervaring.\n\nKies uit drie modi. Push-to-talk is de standaard voor één afgebakende uiting, zoals een gesproken zoekvraag of een kort gedicteerd fragment. Endpointing laat het model grenzen tussen spreekbeurten detecteren en per gedetecteerd segment één voltooide transcriptie teruggeven. Diarization koppelt de herkende spraak aan sprekerlabels en is bedoeld voor opnamen met meerdere sprekers, in plaats van voor de snelst mogelijke beurtwisseling bij spraakopdrachten.\n\nVoor een opgenomen fragment geeft de workflow voor bestandstranscriptie in één verzoek een volledige transcriptie terug. Het standaardresultaat is JSON met de transcriptie en audioduur, met een turns-array in de modi endpointing en diarization. Elke spreekbeurt kan een identifier, een begin- en eindtijd in milliseconden en de herkende tekst bevatten. In de modus diarization zijn sprekerlabels aanwezig. Push-to-talk levert de volledige transcriptie zonder gedetecteerde spreekbeurten in die array. De interface van de fabrikant voor opgenomen bestanden kan ook platte tekst of een stroom transcriptiegebeurtenissen teruggeven. Platte tekst houdt gedetecteerde spreekbeurten op afzonderlijke regels en kan sprekerlabels bevatten; een gebeurtenissenstroom eindigt na de laatste gebeurtenis zonder een afzonderlijke JSON-samenvatting. De gedeeltelijke modus delta geeft incrementele tekst terug, terwijl de laatste transcriptiegebeurtenis de volledige formulering bevat.\n\nBereid een RIFF/WAVE-bestand voor met mono PCM-audio met 16-bits gehele getallen op 16 of 24 kHz. De native samplefrequentie van het model is 24 kHz; de interface accepteert ook 16 kHz. Zet andere containers of coderingen om naar die ondersteunde WAV-vorm voordat je een opname aanlevert. Het profiel voor bestandstranscriptie staat audio tot 10 minuten en een totale verzoekbody tot 32 MB toe. Bewaar de oorspronkelijke opname en eventuele conversie gekoppeld aan de teruggegeven transcriptie, zodat je deze later al luisterend kunt controleren.\n\nDe workflow voor liveaudio gebruikt ruwe mono PCM met signed 16-bits little-endian samples, met audio op 16 of 24 kHz die ongeveer in realtime wordt aangeleverd. Het gedocumenteerde sessievenster is 60 minuten. Meta beschrijft native audio-invoer van meer dan een uur; de gedocumenteerde limieten voor bestanden en livesessies blijven afzonderlijke interfacegrenzen. Kies de workflow voor opgenomen bestanden of liveaudio op basis van de vraag of de audio al volledig beschikbaar is of nog wordt opgenomen, en houd resultaten uit verschillende sessies gekoppeld aan hun eigen invoersegmenten.\n\nMuse Voice Transcribe is getraind op meer dan 70 talen, terwijl de gedocumenteerde herkenningsinterface 25 ondersteunde talen opsomt. Daartoe behoren Engels, Frans, Duits, Spaans, Arabisch, Mandarijn-Chinees, Hindi, Japans, Koreaans, Italiaans en Portugees. Het herkent code-switching binnen en tussen zinnen. Een taalhint kan de talen benoemen die je in de audio verwacht, maar stuurt de herkenning in plaats van de transcriptie tot één taal te dwingen.\n\nWoordenschathints helpen bij producttermen, acroniemen, namen of plaatsen die belangrijk zijn in een opname. Geef de daadwerkelijke woorden en schrijfwijzen op die je verwacht te horen. De trefwoordenlijst beïnvloedt de herkenning zonder een exacte spelling te garanderen; controleer daarom doorslaggevende termen aan de hand van de audio. Taalhints en trefwoorden worden aan het begin van de transcriptie gekozen; houd ze passend bij die opname in plaats van hun betekenis tijdens een lopende sessie te veranderen.\n\nHet model ondersteunt diarization voor gesprekken met meer dan 20 sprekers. Labels zoals A en B duiden sprekers binnen één transcriptie aan. Het zijn geen geverifieerde namen en ze bewijzen niet dat een label in een andere sessie naar dezelfde persoon verwijst. Vraag voor een nieuwe vergaderanalyse om spreekbeurten met sprekerstoewijzing, bewaar de opname en gebruik de labels om de discussie te ordenen voordat je via de omringende workflow echte deelnemersnamen toewijst.\n\nGedeeltelijke livetranscripties kunnen veranderen naarmate er meer spraak binnenkomt. In de cumulatieve modus vervangt elk gedeeltelijk resultaat de voorgaande hypothese, in plaats van er nog een kopie aan toe te voegen. Een gedetecteerd einde van spraak markeert een grens, terwijl het resultaat voor de voltooide spreekbeurt de definitieve tekst levert en kan afwijken van het laatste gedeeltelijke resultaat. Houd overlappende spreekbeurten gekoppeld aan hun spreekbeurtidentifiers en verwerk de voltooide resultaten voordat je een transcriptie als afgerond beschouwt. Signaleer het einde van de invoer wanneer de live-invoer stopt en blijf resultaten ontvangen totdat de producer alle resterende resultaten heeft uitgestuurd. De verbinding onmiddellijk sluiten kan die resultaten verloren laten gaan; een gedetecteerde spraakgrens beëindigt een spreekbeurt, niet de hele sessie.\n\nTijdsaanduidingen gelden per spreekbeurt. Dit profiel levert geen tijdstempels per woord of betrouwbaarheidsscores, en de voortgang van de audioverwerking is geen tijdstempel voor een bepaald woord. Ook het detecteren van geluidsgebeurtenissen, emotiedetectie en het herformatteren van transcripties vallen buiten het gedocumenteerde uitvoerprofiel. Gebruik de teruggegeven spreekbeurtintervallen voor een tijdlijn per spreker of controle per segment, en bewaar de herkende woorden als een afzonderlijke bewerkingsstap later nettere notities maakt.\n\nBruikbare artefacten zijn bijvoorbeeld een voltooid gedicteerd fragment, de transcriptie van een gesproken zoekvraag, een gesprek met sprekerstoewijzing of een tijdlijn van uitingen. Vergelijk namen, getallen en technische termen met de oorspronkelijke opname, behoud de koppeling met de modus en tijdsaanduidingen en houd de volledige spreekbeurten beschikbaar voor controle. De transcriptie legt vast wat in de audio is herkend; een gesproken vraag beantwoorden, deze vertalen of er vergadernotities van maken hoort bij een volgende applicatiestap.",
    "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 volledige prijsinformatie voor de configuratie vindt u bij de details."
      }
    ],
    "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": "De JSON-body of expliciete canonieke model-ID is ongeldig.",
                "http_status": 400,
                "recovery": "Bewaar het antwoord en corrigeer het aangegeven verzoekveld.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "De Ailoot API-sleutel is ongeldig.",
                "http_status": 401,
                "recovery": "Gebruik uw geautoriseerde Ailoot API-sleutel.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "De sleutelgroep laat deze methode niet toe.",
                "http_status": 403,
                "recovery": "Bewaar de geretourneerde foutdetails.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "De geselecteerde methode heeft geen toegelaten route.",
                "http_status": 404,
                "recovery": "Bewaar de geretourneerde foutdetails.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Het geaccepteerde tarief kan de vereiste invoerhoeveelheid of bovengrens niet verkrijgen.",
                "http_status": 422,
                "recovery": "Bewaar het antwoord; gebruik de invoerweergave die het geaccepteerde tarief vereist.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Vereiste opslag, route, methodeprijs of reservering is niet beschikbaar.",
                "http_status": 503,
                "recovery": "Bewaar het volledige oorspronkelijke antwoord. Een onzekere reservering geeft geen toestemming om opnieuw in te dienen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Het oorspronkelijke resultaat, gebruik of de afrekening moet worden gecontroleerd.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Bewaar de daadwerkelijke verzoek-ID en het oorspronkelijke antwoord. Lees het bestaande record dat u bezit; dien de aanmaak niet opnieuw in.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Bewaar de daadwerkelijke X-Client-Request-ID en het volledige antwoord. Lees de oorspronkelijke assets die u bezit en hun exacte ondertekende inhouds-URLs; dien een onzekere aanmaak nooit opnieuw in."
            },
            "outputs": {
              "all_results": "Bewaar het volledige antwoord en de headers, alle daadwerkelijke uitvoer, de oorspronkelijk geretourneerde identificatoren en alle gebruiksvelden. Herstel de oorspronkelijke bewerking zonder de aanmaakaanvraag opnieuw in te dienen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Volledige oorspronkelijke antwoordbody, status en doorgestuurde headers. Deze handler voegt geen universele JSON-structuur, tekstveld of taakenvelop toe."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "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": [
              "Het voorbeeld leest uw eigen niet-lege PCM WAV-bestand, codeert alle bestandsbytes als base64 en verstuurt input_audio.format als wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "exacte task_id uit een bestaand mediarecord dat u bezit",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.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": "Transcriptie",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "audio_transcriptions",
        "out": null,
        "output": [
          "text"
        ],
        "path": "/v1/audio/transcriptions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.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 is het spraak-naar-tekstmodel van Meta voor dicteren, gedetecteerde spreekbeurten en transcripties met sprekerstoewijzing. Het ondersteunt taal- en woordenschathints, code-switching en tijdsaanduidingen per spreekbeurt, met afzonderlijke workflows voor opgenomen fragmenten en liveaudio."
  },
  "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 is het spraak-naar-tekstmodel van Meta voor dicteren, gedetecteerde spreekbeurten en transcripties met sprekerstoewijzing. Het ondersteunt taal- en woordenschathints, code-switching en tijdsaanduidingen per spreekbeurt, met afzonderlijke workflows voor opgenomen fragmenten en liveaudio.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "9555152bc34eedd2330cd4061fe5db77180241bfcee75607a593e7150e1340f2",
    "renderer_sha256": "be7649af06bb0ae446191041c6cfb8a9b83a53896c8c6e9173e76a39d513e829"
  },
  "sourceRevision": "cb47b114391149e97a4ce92abc7b404494d0460a163eb09e13758bd43be8f12c"
}
