{
  "aboutHtml": "<p>GPT Transcribe is OpenAI’s spraak-naar-tekstmodel voor voltooide audiobestanden, gestreamde bestandstranscripties en vastgelegde audiobeurten in Realtime-sessies. Het accepteert audio met optionele tekstcontext en geeft herkende tekst terug. De maker positioneert het voor nauwkeurige transcriptie van opgenomen spraak in de oorspronkelijke taal, inclusief domeinspecifieke woordenschat, meertalige opnamen en het wisselen tussen talen. De bruikbare uitvoer is een transcript dat met de opname verbonden blijft, met metadata over gedetecteerde talen wanneer het model een betrouwbare voorspelling kan doen.</p><h4>Een voltooide opname voorbereiden</h4><p>OpenAI’s werkwijze voor bestandstranscriptie accepteert uploads tot 25 MB. De huidige eindpuntreferentie vermeldt FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV en WebM als invoerformaten en beveelt voldoende bestandsmetadata aan om het formaat te identificeren, waaronder een passende bestandsextensie en een passend inhoudstype. Voor een grotere opname beveelt de handleiding compressie of opsplitsing in bestanden van maximaal 25 MB aan. Knip niet midden in een zin, omdat het verwijderen van omringende spraak de herkenning minder nauwkeurig kan maken. Houd de delen in volgorde en behoud hun posities in de oorspronkelijke opname.</p><p>Lever voor een vergadering, interview of opgenomen presentatie de werkelijke audio aan en benoem het onderwerp en de terminologie die waarschijnlijk wordt uitgesproken. Een bruikbaar resultaat is de herkende formulering, geen afgeleide samenvatting van het gesprek. Bewaar de identificator van de opname bij de teruggegeven tekst, zodat iemand die een naam, getal of onzekere formulering controleert naar de juiste bron kan terugkeren. Een transcript kan daarna materiaal worden voor een afzonderlijke samenvattings-, vertaal- of redactionele werkwijze.</p><h4>Context, trefwoordhints en verwachte talen</h4><p>De maker onderscheidt drie vormen van sturing. Een prompt geeft vrije context over het onderwerp of de situatie van de opname. Trefwoorden geven letterlijke woorden of uitdrukkingen die in de spraak worden verwacht. Een talenlijst geeft de verwachte gesproken talen aan. Beschrijf voor een tweetalig productgesprek de situatie in de prompt, vermeld de relevante productnamen als trefwoorden en geef de verwachte talen op. Dit zijn herkenningshints, geen instructies om woorden in te voegen die niemand heeft gezegd.</p><p>GPT Transcribe gebruikt het meervoudige veld languages in plaats van het oudere enkelvoudige veld language; OpenAI zegt beide niet tegelijk te versturen. De handleiding accepteert ondersteunde ISO 639-1-codes, geselecteerde ISO 639-3-codes en regionale Chinese landinstellingscodes; niet-ondersteunde of onjuist gevormde waarden worden afgewezen. Elk trefwoord moet op één regel blijven en mag geen punthaakje, terugloopteken of regeldoorvoerteken bevatten. Een ongeldig trefwoord of een te lange prompt kan de volledige aanvraag laten afwijzen. Houd de context relevant en controleer of de genoemde namen werkelijk in de audio voorkomen, in plaats van de hintlijst als transcript te behandelen.</p><h4>JSON-uitvoer en voorspellingen van gedetecteerde talen</h4><p>Het gedocumenteerde bestandsresultaat is JSON met het transcript en de gedetecteerde talen. Die taalvoorspellingen zijn uitvoer van het model, geen kopie van de aangeleverde taalhints. Een lege talenlijst is een geldig resultaat wanneer het model geen betrouwbare voorspelling kan doen; dit toont niet aan dat de opname stil was of dat de transcriptie is mislukt. Houd de herkende tekst en taalmetadata gescheiden, zodat vervolgverwerking elk onderdeel volgens zijn betekenis kan gebruiken.</p><h4>Een bestandstranscript streamen</h4><p>Een voltooid bestand kan tijdens verwerking stapsgewijs transcriptietekst opleveren. OpenAI documenteert transcript.text.delta-gebeurtenissen voor gedeeltelijke tekst en transcript.text.done voor het volledige bestandstranscript; de laatste gebeurtenis bevat ook de gedetecteerde talen. Dit streamt de uitvoer van een opname die al is aangeleverd. Het is bruikbaar om de voortgang bij een lange upload weer te geven, terwijl de laatste gebeurtenis de tekst bepaalt die als voltooid resultaat moet worden bewaard.</p><h4>Vastgelegde beurten in Realtime-sessies</h4><p>GPT Transcribe heeft ook een gespecialiseerde Realtime-werkwijze via WebSocket. Audio wordt aan de invoerbuffer toegevoegd, waarna de toepassing een audiobeurt expliciet vastlegt. Transcriptie begint voor dat vastgelegde deel en kan vóór de voltooiingsgebeurtenis tekstdelta’s uitsturen, inclusief informatie over gedetecteerde talen. Het model gebruikt in deze sessiewerkwijze van de maker automatisch eerdere getranscribeerde beurten als context. Dit verschilt van het continu uitsturen van liveondertiteling terwijl microfoonaudio binnenkomt; OpenAI noemt GPT Live Transcribe voor die continue werkwijze.</p><p>Bewaar bij meerdere beurten de identificator van het invoeritem bij het bijbehorende transcript. OpenAI waarschuwt dat voltooiingsgebeurtenissen van verschillende beurten niet in spreekvolgorde hoeven aan te komen; koppel elk eindresultaat daarom aan de bijbehorende vastgelegde invoer in plaats van een gesprek uitsluitend op voltooiingstijd te ordenen. Het bruikbare resultaat is een geordend transcript uit de juiste definitieve items, waarbij tussentijdse tekst als voortgang wordt behandeld, niet als een afzonderlijke voltooide uiting.</p><h4>Gespecialiseerde uitvoer en inhoudelijke grenzen</h4><p>Dit profiel biedt geen universeel contract voor ondertitels, tijdstempels, vertaling of sprekerlabels. OpenAI’s migratiehandleiding onderscheidt die gespecialiseerde mogelijkheden: rechtstreeks ondersteunde ondertitelformaten en tijdsaanduidingen per woord vereisen een compatibel model en formaat, terwijl sprekerlabels GPT-4o Transcribe Diarize gebruiken. Het bestandsresultaat van GPT Transcribe is JSON, geen direct uitwisselbaar SRT-, VTT- of antwoord met uitgebreide tijdstempels. De specifieke modelkaart publiceert geen numeriek context- of maximaal uitvoerbudget; een tokenvenster van een chatmodel mag daarom niet voor audiotranscriptie worden aangenomen.</p><p>Controleer moeilijke woordenschat, getallen, accenten, achtergrondgeluid en taalwisselingen aan de hand van de opname. Controleer of relevante hints de herkenning verbeterden zonder niet-uitgesproken termen in te voegen en of het eindtranscript het einde van de audio bevat. Behoud bij een meertalig resultaat de gesproken formulering voordat u een vertaalde versie voorbereidt. Deze controles maken het transcript bruikbaar als bronmateriaal en houden contexthints, gedetecteerde talen en herkende spraak duidelijk onderscheiden.</p>",
  "aboutText": "GPT Transcribe is OpenAI’s spraak-naar-tekstmodel voor voltooide audiobestanden, gestreamde bestandstranscripties en vastgelegde audiobeurten in Realtime-sessies. Het accepteert audio met optionele tekstcontext en geeft herkende tekst terug. De maker positioneert het voor nauwkeurige transcriptie van opgenomen spraak in de oorspronkelijke taal, inclusief domeinspecifieke woordenschat, meertalige opnamen en het wisselen tussen talen. De bruikbare uitvoer is een transcript dat met de opname verbonden blijft, met metadata over gedetecteerde talen wanneer het model een betrouwbare voorspelling kan doen.\n\n### Een voltooide opname voorbereiden\n\nOpenAI’s werkwijze voor bestandstranscriptie accepteert uploads tot 25 MB. De huidige eindpuntreferentie vermeldt FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV en WebM als invoerformaten en beveelt voldoende bestandsmetadata aan om het formaat te identificeren, waaronder een passende bestandsextensie en een passend inhoudstype. Voor een grotere opname beveelt de handleiding compressie of opsplitsing in bestanden van maximaal 25 MB aan. Knip niet midden in een zin, omdat het verwijderen van omringende spraak de herkenning minder nauwkeurig kan maken. Houd de delen in volgorde en behoud hun posities in de oorspronkelijke opname.\n\nLever voor een vergadering, interview of opgenomen presentatie de werkelijke audio aan en benoem het onderwerp en de terminologie die waarschijnlijk wordt uitgesproken. Een bruikbaar resultaat is de herkende formulering, geen afgeleide samenvatting van het gesprek. Bewaar de identificator van de opname bij de teruggegeven tekst, zodat iemand die een naam, getal of onzekere formulering controleert naar de juiste bron kan terugkeren. Een transcript kan daarna materiaal worden voor een afzonderlijke samenvattings-, vertaal- of redactionele werkwijze.\n\n### Context, trefwoordhints en verwachte talen\n\nDe maker onderscheidt drie vormen van sturing. Een prompt geeft vrije context over het onderwerp of de situatie van de opname. Trefwoorden geven letterlijke woorden of uitdrukkingen die in de spraak worden verwacht. Een talenlijst geeft de verwachte gesproken talen aan. Beschrijf voor een tweetalig productgesprek de situatie in de prompt, vermeld de relevante productnamen als trefwoorden en geef de verwachte talen op. Dit zijn herkenningshints, geen instructies om woorden in te voegen die niemand heeft gezegd.\n\nGPT Transcribe gebruikt het meervoudige veld languages in plaats van het oudere enkelvoudige veld language; OpenAI zegt beide niet tegelijk te versturen. De handleiding accepteert ondersteunde ISO 639-1-codes, geselecteerde ISO 639-3-codes en regionale Chinese landinstellingscodes; niet-ondersteunde of onjuist gevormde waarden worden afgewezen. Elk trefwoord moet op één regel blijven en mag geen punthaakje, terugloopteken of regeldoorvoerteken bevatten. Een ongeldig trefwoord of een te lange prompt kan de volledige aanvraag laten afwijzen. Houd de context relevant en controleer of de genoemde namen werkelijk in de audio voorkomen, in plaats van de hintlijst als transcript te behandelen.\n\n### JSON-uitvoer en voorspellingen van gedetecteerde talen\n\nHet gedocumenteerde bestandsresultaat is JSON met het transcript en de gedetecteerde talen. Die taalvoorspellingen zijn uitvoer van het model, geen kopie van de aangeleverde taalhints. Een lege talenlijst is een geldig resultaat wanneer het model geen betrouwbare voorspelling kan doen; dit toont niet aan dat de opname stil was of dat de transcriptie is mislukt. Houd de herkende tekst en taalmetadata gescheiden, zodat vervolgverwerking elk onderdeel volgens zijn betekenis kan gebruiken.\n\n### Een bestandstranscript streamen\n\nEen voltooid bestand kan tijdens verwerking stapsgewijs transcriptietekst opleveren. OpenAI documenteert transcript.text.delta-gebeurtenissen voor gedeeltelijke tekst en transcript.text.done voor het volledige bestandstranscript; de laatste gebeurtenis bevat ook de gedetecteerde talen. Dit streamt de uitvoer van een opname die al is aangeleverd. Het is bruikbaar om de voortgang bij een lange upload weer te geven, terwijl de laatste gebeurtenis de tekst bepaalt die als voltooid resultaat moet worden bewaard.\n\n### Vastgelegde beurten in Realtime-sessies\n\nGPT Transcribe heeft ook een gespecialiseerde Realtime-werkwijze via WebSocket. Audio wordt aan de invoerbuffer toegevoegd, waarna de toepassing een audiobeurt expliciet vastlegt. Transcriptie begint voor dat vastgelegde deel en kan vóór de voltooiingsgebeurtenis tekstdelta’s uitsturen, inclusief informatie over gedetecteerde talen. Het model gebruikt in deze sessiewerkwijze van de maker automatisch eerdere getranscribeerde beurten als context. Dit verschilt van het continu uitsturen van liveondertiteling terwijl microfoonaudio binnenkomt; OpenAI noemt GPT Live Transcribe voor die continue werkwijze.\n\nBewaar bij meerdere beurten de identificator van het invoeritem bij het bijbehorende transcript. OpenAI waarschuwt dat voltooiingsgebeurtenissen van verschillende beurten niet in spreekvolgorde hoeven aan te komen; koppel elk eindresultaat daarom aan de bijbehorende vastgelegde invoer in plaats van een gesprek uitsluitend op voltooiingstijd te ordenen. Het bruikbare resultaat is een geordend transcript uit de juiste definitieve items, waarbij tussentijdse tekst als voortgang wordt behandeld, niet als een afzonderlijke voltooide uiting.\n\n### Gespecialiseerde uitvoer en inhoudelijke grenzen\n\nDit profiel biedt geen universeel contract voor ondertitels, tijdstempels, vertaling of sprekerlabels. OpenAI’s migratiehandleiding onderscheidt die gespecialiseerde mogelijkheden: rechtstreeks ondersteunde ondertitelformaten en tijdsaanduidingen per woord vereisen een compatibel model en formaat, terwijl sprekerlabels GPT-4o Transcribe Diarize gebruiken. Het bestandsresultaat van GPT Transcribe is JSON, geen direct uitwisselbaar SRT-, VTT- of antwoord met uitgebreide tijdstempels. De specifieke modelkaart publiceert geen numeriek context- of maximaal uitvoerbudget; een tokenvenster van een chatmodel mag daarom niet voor audiotranscriptie worden aangenomen.\n\nControleer moeilijke woordenschat, getallen, accenten, achtergrondgeluid en taalwisselingen aan de hand van de opname. Controleer of relevante hints de herkenning verbeterden zonder niet-uitgesproken termen in te voegen en of het eindtranscript het einde van de audio bevat. Behoud bij een meertalig resultaat de gesproken formulering voordat u een vertaalde versie voorbereidt. Deze controles maken het transcript bruikbaar als bronmateriaal en houden contexthints, gedetecteerde talen en herkende spraak duidelijk onderscheiden.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "2009ece57decb773a7051b2c3b0604b9195181c7cc6efad692ce81d5fe2840c1",
    "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\">O</span><h2 id=\"sheet-title\">OpenAI: GPT Transcribe</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sluiten\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/gpt-transcribe</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|openai%2Fgpt-transcribe\">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\">GPT Transcribe zet opgenomen spraak om in tekst in de oorspronkelijke taal, met contextprompts, letterlijke trefwoordhints en meerdere taalhints. OpenAI documenteert transcriptie van voltooide bestanden, gestreamde bestandsresultaten en transcriptie na het vastleggen van Realtime-audiobeurten.</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>GPT Transcribe is OpenAI’s spraak-naar-tekstmodel voor voltooide audiobestanden, gestreamde bestandstranscripties en vastgelegde audiobeurten in Realtime-sessies. Het accepteert audio met optionele tekstcontext en geeft herkende tekst terug. De maker positioneert het voor nauwkeurige transcriptie van opgenomen spraak in de oorspronkelijke taal, inclusief domeinspecifieke woordenschat, meertalige opnamen en het wisselen tussen talen. De bruikbare uitvoer is een transcript dat met de opname verbonden blijft, met metadata over gedetecteerde talen wanneer het model een betrouwbare voorspelling kan doen.</p><h4>Een voltooide opname voorbereiden</h4><p>OpenAI’s werkwijze voor bestandstranscriptie accepteert uploads tot 25 MB. De huidige eindpuntreferentie vermeldt FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV en WebM als invoerformaten en beveelt voldoende bestandsmetadata aan om het formaat te identificeren, waaronder een passende bestandsextensie en een passend inhoudstype. Voor een grotere opname beveelt de handleiding compressie of opsplitsing in bestanden van maximaal 25 MB aan. Knip niet midden in een zin, omdat het verwijderen van omringende spraak de herkenning minder nauwkeurig kan maken. Houd de delen in volgorde en behoud hun posities in de oorspronkelijke opname.</p><p>Lever voor een vergadering, interview of opgenomen presentatie de werkelijke audio aan en benoem het onderwerp en de terminologie die waarschijnlijk wordt uitgesproken. Een bruikbaar resultaat is de herkende formulering, geen afgeleide samenvatting van het gesprek. Bewaar de identificator van de opname bij de teruggegeven tekst, zodat iemand die een naam, getal of onzekere formulering controleert naar de juiste bron kan terugkeren. Een transcript kan daarna materiaal worden voor een afzonderlijke samenvattings-, vertaal- of redactionele werkwijze.</p><h4>Context, trefwoordhints en verwachte talen</h4><p>De maker onderscheidt drie vormen van sturing. Een prompt geeft vrije context over het onderwerp of de situatie van de opname. Trefwoorden geven letterlijke woorden of uitdrukkingen die in de spraak worden verwacht. Een talenlijst geeft de verwachte gesproken talen aan. Beschrijf voor een tweetalig productgesprek de situatie in de prompt, vermeld de relevante productnamen als trefwoorden en geef de verwachte talen op. Dit zijn herkenningshints, geen instructies om woorden in te voegen die niemand heeft gezegd.</p><p>GPT Transcribe gebruikt het meervoudige veld languages in plaats van het oudere enkelvoudige veld language; OpenAI zegt beide niet tegelijk te versturen. De handleiding accepteert ondersteunde ISO 639-1-codes, geselecteerde ISO 639-3-codes en regionale Chinese landinstellingscodes; niet-ondersteunde of onjuist gevormde waarden worden afgewezen. Elk trefwoord moet op één regel blijven en mag geen punthaakje, terugloopteken of regeldoorvoerteken bevatten. Een ongeldig trefwoord of een te lange prompt kan de volledige aanvraag laten afwijzen. Houd de context relevant en controleer of de genoemde namen werkelijk in de audio voorkomen, in plaats van de hintlijst als transcript te behandelen.</p><h4>JSON-uitvoer en voorspellingen van gedetecteerde talen</h4><p>Het gedocumenteerde bestandsresultaat is JSON met het transcript en de gedetecteerde talen. Die taalvoorspellingen zijn uitvoer van het model, geen kopie van de aangeleverde taalhints. Een lege talenlijst is een geldig resultaat wanneer het model geen betrouwbare voorspelling kan doen; dit toont niet aan dat de opname stil was of dat de transcriptie is mislukt. Houd de herkende tekst en taalmetadata gescheiden, zodat vervolgverwerking elk onderdeel volgens zijn betekenis kan gebruiken.</p><h4>Een bestandstranscript streamen</h4><p>Een voltooid bestand kan tijdens verwerking stapsgewijs transcriptietekst opleveren. OpenAI documenteert transcript.text.delta-gebeurtenissen voor gedeeltelijke tekst en transcript.text.done voor het volledige bestandstranscript; de laatste gebeurtenis bevat ook de gedetecteerde talen. Dit streamt de uitvoer van een opname die al is aangeleverd. Het is bruikbaar om de voortgang bij een lange upload weer te geven, terwijl de laatste gebeurtenis de tekst bepaalt die als voltooid resultaat moet worden bewaard.</p><h4>Vastgelegde beurten in Realtime-sessies</h4><p>GPT Transcribe heeft ook een gespecialiseerde Realtime-werkwijze via WebSocket. Audio wordt aan de invoerbuffer toegevoegd, waarna de toepassing een audiobeurt expliciet vastlegt. Transcriptie begint voor dat vastgelegde deel en kan vóór de voltooiingsgebeurtenis tekstdelta’s uitsturen, inclusief informatie over gedetecteerde talen. Het model gebruikt in deze sessiewerkwijze van de maker automatisch eerdere getranscribeerde beurten als context. Dit verschilt van het continu uitsturen van liveondertiteling terwijl microfoonaudio binnenkomt; OpenAI noemt GPT Live Transcribe voor die continue werkwijze.</p><p>Bewaar bij meerdere beurten de identificator van het invoeritem bij het bijbehorende transcript. OpenAI waarschuwt dat voltooiingsgebeurtenissen van verschillende beurten niet in spreekvolgorde hoeven aan te komen; koppel elk eindresultaat daarom aan de bijbehorende vastgelegde invoer in plaats van een gesprek uitsluitend op voltooiingstijd te ordenen. Het bruikbare resultaat is een geordend transcript uit de juiste definitieve items, waarbij tussentijdse tekst als voortgang wordt behandeld, niet als een afzonderlijke voltooide uiting.</p><h4>Gespecialiseerde uitvoer en inhoudelijke grenzen</h4><p>Dit profiel biedt geen universeel contract voor ondertitels, tijdstempels, vertaling of sprekerlabels. OpenAI’s migratiehandleiding onderscheidt die gespecialiseerde mogelijkheden: rechtstreeks ondersteunde ondertitelformaten en tijdsaanduidingen per woord vereisen een compatibel model en formaat, terwijl sprekerlabels GPT-4o Transcribe Diarize gebruiken. Het bestandsresultaat van GPT Transcribe is JSON, geen direct uitwisselbaar SRT-, VTT- of antwoord met uitgebreide tijdstempels. De specifieke modelkaart publiceert geen numeriek context- of maximaal uitvoerbudget; een tokenvenster van een chatmodel mag daarom niet voor audiotranscriptie worden aangenomen.</p><p>Controleer moeilijke woordenschat, getallen, accenten, achtergrondgeluid en taalwisselingen aan de hand van de opname. Controleer of relevante hints de herkenning verbeterden zonder niet-uitgesproken termen in te voegen en of het eindtranscript het einde van de audio bevat. Behoud bij een meertalig resultaat de gesproken formulering voordat u een vertaalde versie voorbereidt. Deze controles maken het transcript bruikbaar als bronmateriaal en houden contexthints, gedetecteerde talen en herkende spraak duidelijk onderscheiden.</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>openai/gpt-transcribe</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.00015</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-2158-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2158-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-2158-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2158-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;openai/gpt-transcribe&#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=openai%2Fgpt-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-transcribe</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=openai%2Fgpt-transcribe&amp;route=Ultra&amp;caller=openai%2Fgpt-transcribe&amp;fmt=transcriptions\"><code>openai/gpt-transcribe</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/gpt-transcribe",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "openai/gpt-transcribe",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|openai%2Fgpt-transcribe",
      "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": [
                  "openai/gpt-transcribe"
                ],
                "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": [
                    "openai/gpt-transcribe"
                  ],
                  "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": "openai/gpt-transcribe"
              },
              "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.00015",
                "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.00015",
                "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': 'openai/gpt-transcribe', '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.00015
          }
        },
        "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.00015",
                "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.00015",
                "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": "openai/gpt-transcribe",
        "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.00015",
            "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.00015",
            "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": "openai/gpt-transcribe",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "128fae41f1f225f876c1fc562c8b4b799cf0c2fd5f579893baffaca83186bf2d",
    "input_html_sha256": "61c5a7a2d882fb5fa1b5e238aaa030e3ca7e6a7af12630e13327641c86c676cb",
    "private_audit_sha256": "baa2c65dda22182870b0d08c119652a3a06a0d3f0d73e38e845f349555ee19a8",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/nl/openai-gpt-transcribe/",
    "description": "GPT Transcribe zet opgenomen spraak om in tekst in de oorspronkelijke taal, met contextprompts, letterlijke trefwoordhints en meerdere taalhints. OpenAI documenteert transcriptie van voltooide bestanden, gestreamde bestandsresultaten en transcriptie na het vastleggen van Realtime-audiobeurten.",
    "locale": "nl",
    "md_url": "https://ailoot.ai/models/nl/openai-gpt-transcribe/index.md",
    "title": "OpenAI: GPT Transcribe — Ailoot",
    "url": "https://ailoot.ai/models/nl/openai-gpt-transcribe/"
  },
  "rawModel": {
    "about": "GPT Transcribe is OpenAI’s spraak-naar-tekstmodel voor voltooide audiobestanden, gestreamde bestandstranscripties en vastgelegde audiobeurten in Realtime-sessies. Het accepteert audio met optionele tekstcontext en geeft herkende tekst terug. De maker positioneert het voor nauwkeurige transcriptie van opgenomen spraak in de oorspronkelijke taal, inclusief domeinspecifieke woordenschat, meertalige opnamen en het wisselen tussen talen. De bruikbare uitvoer is een transcript dat met de opname verbonden blijft, met metadata over gedetecteerde talen wanneer het model een betrouwbare voorspelling kan doen.\n\n### Een voltooide opname voorbereiden\n\nOpenAI’s werkwijze voor bestandstranscriptie accepteert uploads tot 25 MB. De huidige eindpuntreferentie vermeldt FLAC, MP3, MP4, MPEG, MPGA, M4A, OGG, WAV en WebM als invoerformaten en beveelt voldoende bestandsmetadata aan om het formaat te identificeren, waaronder een passende bestandsextensie en een passend inhoudstype. Voor een grotere opname beveelt de handleiding compressie of opsplitsing in bestanden van maximaal 25 MB aan. Knip niet midden in een zin, omdat het verwijderen van omringende spraak de herkenning minder nauwkeurig kan maken. Houd de delen in volgorde en behoud hun posities in de oorspronkelijke opname.\n\nLever voor een vergadering, interview of opgenomen presentatie de werkelijke audio aan en benoem het onderwerp en de terminologie die waarschijnlijk wordt uitgesproken. Een bruikbaar resultaat is de herkende formulering, geen afgeleide samenvatting van het gesprek. Bewaar de identificator van de opname bij de teruggegeven tekst, zodat iemand die een naam, getal of onzekere formulering controleert naar de juiste bron kan terugkeren. Een transcript kan daarna materiaal worden voor een afzonderlijke samenvattings-, vertaal- of redactionele werkwijze.\n\n### Context, trefwoordhints en verwachte talen\n\nDe maker onderscheidt drie vormen van sturing. Een prompt geeft vrije context over het onderwerp of de situatie van de opname. Trefwoorden geven letterlijke woorden of uitdrukkingen die in de spraak worden verwacht. Een talenlijst geeft de verwachte gesproken talen aan. Beschrijf voor een tweetalig productgesprek de situatie in de prompt, vermeld de relevante productnamen als trefwoorden en geef de verwachte talen op. Dit zijn herkenningshints, geen instructies om woorden in te voegen die niemand heeft gezegd.\n\nGPT Transcribe gebruikt het meervoudige veld languages in plaats van het oudere enkelvoudige veld language; OpenAI zegt beide niet tegelijk te versturen. De handleiding accepteert ondersteunde ISO 639-1-codes, geselecteerde ISO 639-3-codes en regionale Chinese landinstellingscodes; niet-ondersteunde of onjuist gevormde waarden worden afgewezen. Elk trefwoord moet op één regel blijven en mag geen punthaakje, terugloopteken of regeldoorvoerteken bevatten. Een ongeldig trefwoord of een te lange prompt kan de volledige aanvraag laten afwijzen. Houd de context relevant en controleer of de genoemde namen werkelijk in de audio voorkomen, in plaats van de hintlijst als transcript te behandelen.\n\n### JSON-uitvoer en voorspellingen van gedetecteerde talen\n\nHet gedocumenteerde bestandsresultaat is JSON met het transcript en de gedetecteerde talen. Die taalvoorspellingen zijn uitvoer van het model, geen kopie van de aangeleverde taalhints. Een lege talenlijst is een geldig resultaat wanneer het model geen betrouwbare voorspelling kan doen; dit toont niet aan dat de opname stil was of dat de transcriptie is mislukt. Houd de herkende tekst en taalmetadata gescheiden, zodat vervolgverwerking elk onderdeel volgens zijn betekenis kan gebruiken.\n\n### Een bestandstranscript streamen\n\nEen voltooid bestand kan tijdens verwerking stapsgewijs transcriptietekst opleveren. OpenAI documenteert transcript.text.delta-gebeurtenissen voor gedeeltelijke tekst en transcript.text.done voor het volledige bestandstranscript; de laatste gebeurtenis bevat ook de gedetecteerde talen. Dit streamt de uitvoer van een opname die al is aangeleverd. Het is bruikbaar om de voortgang bij een lange upload weer te geven, terwijl de laatste gebeurtenis de tekst bepaalt die als voltooid resultaat moet worden bewaard.\n\n### Vastgelegde beurten in Realtime-sessies\n\nGPT Transcribe heeft ook een gespecialiseerde Realtime-werkwijze via WebSocket. Audio wordt aan de invoerbuffer toegevoegd, waarna de toepassing een audiobeurt expliciet vastlegt. Transcriptie begint voor dat vastgelegde deel en kan vóór de voltooiingsgebeurtenis tekstdelta’s uitsturen, inclusief informatie over gedetecteerde talen. Het model gebruikt in deze sessiewerkwijze van de maker automatisch eerdere getranscribeerde beurten als context. Dit verschilt van het continu uitsturen van liveondertiteling terwijl microfoonaudio binnenkomt; OpenAI noemt GPT Live Transcribe voor die continue werkwijze.\n\nBewaar bij meerdere beurten de identificator van het invoeritem bij het bijbehorende transcript. OpenAI waarschuwt dat voltooiingsgebeurtenissen van verschillende beurten niet in spreekvolgorde hoeven aan te komen; koppel elk eindresultaat daarom aan de bijbehorende vastgelegde invoer in plaats van een gesprek uitsluitend op voltooiingstijd te ordenen. Het bruikbare resultaat is een geordend transcript uit de juiste definitieve items, waarbij tussentijdse tekst als voortgang wordt behandeld, niet als een afzonderlijke voltooide uiting.\n\n### Gespecialiseerde uitvoer en inhoudelijke grenzen\n\nDit profiel biedt geen universeel contract voor ondertitels, tijdstempels, vertaling of sprekerlabels. OpenAI’s migratiehandleiding onderscheidt die gespecialiseerde mogelijkheden: rechtstreeks ondersteunde ondertitelformaten en tijdsaanduidingen per woord vereisen een compatibel model en formaat, terwijl sprekerlabels GPT-4o Transcribe Diarize gebruiken. Het bestandsresultaat van GPT Transcribe is JSON, geen direct uitwisselbaar SRT-, VTT- of antwoord met uitgebreide tijdstempels. De specifieke modelkaart publiceert geen numeriek context- of maximaal uitvoerbudget; een tokenvenster van een chatmodel mag daarom niet voor audiotranscriptie worden aangenomen.\n\nControleer moeilijke woordenschat, getallen, accenten, achtergrondgeluid en taalwisselingen aan de hand van de opname. Controleer of relevante hints de herkenning verbeterden zonder niet-uitgesproken termen in te voegen en of het eindtranscript het einde van de audio bevat. Behoud bij een meertalig resultaat de gesproken formulering voordat u een vertaalde versie voorbereidt. Deze controles maken het transcript bruikbaar als bronmateriaal en houden contexthints, gedetecteerde talen en herkende spraak duidelijk onderscheiden.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00015",
            "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.00015",
            "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": "openai/gpt-transcribe",
    "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": [
                  "openai/gpt-transcribe"
                ],
                "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": [
                    "openai/gpt-transcribe"
                  ],
                  "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": "openai/gpt-transcribe"
              },
              "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.00015",
                "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.00015",
                "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': 'openai/gpt-transcribe', '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.00015
          }
        },
        "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.00015",
                "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.00015",
                "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": "openai/gpt-transcribe",
        "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.00015",
            "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.00015",
            "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": "openai/gpt-transcribe",
        "request_model_id": "openai/gpt-transcribe",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: GPT Transcribe",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "GPT Transcribe zet opgenomen spraak om in tekst in de oorspronkelijke taal, met contextprompts, letterlijke trefwoordhints en meerdere taalhints. OpenAI documenteert transcriptie van voltooide bestanden, gestreamde bestandsresultaten en transcriptie na het vastleggen van Realtime-audiobeurten."
  },
  "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": "GPT Transcribe zet opgenomen spraak om in tekst in de oorspronkelijke taal, met contextprompts, letterlijke trefwoordhints en meerdere taalhints. OpenAI documenteert transcriptie van voltooide bestanden, gestreamde bestandsresultaten en transcriptie na het vastleggen van Realtime-audiobeurten.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "0fdc1772db52e69ba55af5cc756ba2e65bd6bcb574c2ba1fcbc1eaacd733ca40",
    "renderer_sha256": "be7649af06bb0ae446191041c6cfb8a9b83a53896c8c6e9173e76a39d513e829"
  },
  "sourceRevision": "7054bda054de91f02434ef492fa13b4881d41039a458f91ab837dbc930dbb1a9"
}
