{
  "aboutHtml": "<p>Voxtral Mini Transcribe 2 is de op transcriptie gerichte Voxtral-editie van Mistral AI die op de modelkaart van de producent als voxtral-mini-2602 wordt geïdentificeerd. Ze is ontworpen voor batchtranscriptie van opnamen en niet voor de bredere vraagbeantwoordingsrol van het oorspronkelijke Voxtral Mini 3B-model. De invoer is audio en het resultaat getranscribeerde tekst, optioneel verrijkt met sprekerlabels en tijdinformatie. Praktische toepassingen zijn vergadertranscripties, interviewanalyse, gespreksverslagen met meerdere deelnemers en tekst die met opgenomen media is uitgelijnd.</p><p>De fabrikant documenteert sprekerdiarisatie en begin-/eindtijden, zodat een transcriptie kan tonen wie wanneer sprak. Tijdstempels op woordniveau ondersteunen ondertiteling, audiozoekfuncties en de koppeling tussen een tekstpassage en haar positie in een opname. De producenthandleiding laat tijdstempels op segment- of woordniveau toe. Voor een interview is een nuttig artefact een reeks aan sprekers toegewezen passages met timing; bij ondertitelvoorbereiding kan woord- of segmenttiming een latere ondertitelstap sturen, in plaats van die timing uit gewone transcriptietekst te moeten afleiden.</p><p>Contextsturing aanvaardt maximaal 100 woorden of woordgroepen die het model naar de bedoelde spelling van namen, technische termen en domeinspecifiek vocabularium sturen. Mistral zegt dat deze functie voor Engels is geoptimaliseerd en dat ondersteuning in andere talen experimenteel is. Bereid een gerichte vocabulariumlijst op basis van het opnameonderwerp voor in plaats van een niet-gerelateerde woordenlijst. Een voorbeeld kan de projectnamen en gespecialiseerde termen aanleveren die waarschijnlijk in een technische bespreking voorkomen en vervolgens hun spelling in de voltooide transcriptie controleren.</p><p>Deze editie ondersteunt dertien talen: Engels, Chinees, Hindi, Spaans, Arabisch, Frans, Portugees, Russisch, Duits, Japans, Koreaans, Italiaans en Nederlands. De fabrikant documenteert ook robuustheid tegen ruis en opnamen tot drie uur in één verzoek. Dat hoort bij de opnameworkflow van Mini Transcribe 2; de context- en duurvermeldingen van het oorspronkelijke 2507-model voor audiobegrip beschrijven een andere release. Automatische taaldetectie is beschikbaar, en de handleiding vermeldt dat het expliciet meegeven van een bekende audiotaal de transcriptienauwkeurigheid kan verbeteren.</p><p>In de gedocumenteerde producentworkflow kan audio worden aangeleverd als geüpload bestand, identificatie van een eerder geüpload bestand of verwijzing naar een opname. De bijbehorende uploaddemonstratie aanvaardt MP3-, WAV-, M4A-, FLAC- en OGG-opnamen; kies een van deze formaten voor de gedemonstreerde uploadworkflow. Houd de opname decodeerbaar en neem de relevante spraak op. Bewaar bij lang materiaal de identificatie en tijdsoorsprong, zodat latere fragmenten of bewerkingen nog naar de bron herleidbaar zijn.</p><p>De transcriptiereferentie retourneert tekst en gedetecteerde taal, met segmenten wanneer daarom wordt gevraagd, en documenteert afzonderlijk gestreamde transcriptiegebeurtenissen. Diarisatie is optioneel en staat standaard op false. De handleiding merkt op dat timestamp_granularities en een expliciete language-instelling momenteel niet compatibel zijn; kies daarom de gewenste timingworkflow of de handmatige taalhint in plaats van beide te combineren. Transcriptie met sprekerlabels, vocabulariumsturing en timing moeten volgens het beoogde resultaat worden gekozen en niet uit een basisverzoek worden verondersteld.</p><p>Overlappende spraak is een inhoudelijke beperking: Mistral zegt dat het model doorgaans één spreker transcribeert wanneer sprekers door elkaar praten. Een gelabelde transcriptie mag daarom niet als een volledige registratie van elke gelijktijdige uiting worden behandeld. Controleer voor een vergaderverslag moeilijke overlappingen en belangrijke namen of cijfers tegen de opname. Het model is bedoeld voor transcriptie; een samenvatting, vertaling of analyse kan een afzonderlijke taak op basis van die transcriptie zijn. Voxtral Realtime heeft een eigen latentieprofiel voor livetranscriptie, terwijl spraakgeneratie bij andere modellen hoort.</p><p>Bereid het resultaat voor op het volgende gebruik. Een vergaderworkflow kan transcriptie, sprekerlabels en timing bewaren voordat een afzonderlijke fase beslissingen extraheert; een mediaworkflow kan timing gebruiken om passages te vinden en ondertitels op te stellen; een opname met veel vaktermen kan de gerichte contextsturingslijst en een controle van de resulterende spellingen bevatten. Het nuttige eindproduct is tekst die aan de bronopname en ingestelde metadata gekoppeld is, waarbij deze genummerde transcriptie-editie onderscheiden blijft van het oorspronkelijke Mini-model en bijgewerkte latest-namen.</p>",
  "aboutText": "Voxtral Mini Transcribe 2 is de op transcriptie gerichte Voxtral-editie van Mistral AI die op de modelkaart van de producent als voxtral-mini-2602 wordt geïdentificeerd. Ze is ontworpen voor batchtranscriptie van opnamen en niet voor de bredere vraagbeantwoordingsrol van het oorspronkelijke Voxtral Mini 3B-model. De invoer is audio en het resultaat getranscribeerde tekst, optioneel verrijkt met sprekerlabels en tijdinformatie. Praktische toepassingen zijn vergadertranscripties, interviewanalyse, gespreksverslagen met meerdere deelnemers en tekst die met opgenomen media is uitgelijnd.\n\nDe fabrikant documenteert sprekerdiarisatie en begin-/eindtijden, zodat een transcriptie kan tonen wie wanneer sprak. Tijdstempels op woordniveau ondersteunen ondertiteling, audiozoekfuncties en de koppeling tussen een tekstpassage en haar positie in een opname. De producenthandleiding laat tijdstempels op segment- of woordniveau toe. Voor een interview is een nuttig artefact een reeks aan sprekers toegewezen passages met timing; bij ondertitelvoorbereiding kan woord- of segmenttiming een latere ondertitelstap sturen, in plaats van die timing uit gewone transcriptietekst te moeten afleiden.\n\nContextsturing aanvaardt maximaal 100 woorden of woordgroepen die het model naar de bedoelde spelling van namen, technische termen en domeinspecifiek vocabularium sturen. Mistral zegt dat deze functie voor Engels is geoptimaliseerd en dat ondersteuning in andere talen experimenteel is. Bereid een gerichte vocabulariumlijst op basis van het opnameonderwerp voor in plaats van een niet-gerelateerde woordenlijst. Een voorbeeld kan de projectnamen en gespecialiseerde termen aanleveren die waarschijnlijk in een technische bespreking voorkomen en vervolgens hun spelling in de voltooide transcriptie controleren.\n\nDeze editie ondersteunt dertien talen: Engels, Chinees, Hindi, Spaans, Arabisch, Frans, Portugees, Russisch, Duits, Japans, Koreaans, Italiaans en Nederlands. De fabrikant documenteert ook robuustheid tegen ruis en opnamen tot drie uur in één verzoek. Dat hoort bij de opnameworkflow van Mini Transcribe 2; de context- en duurvermeldingen van het oorspronkelijke 2507-model voor audiobegrip beschrijven een andere release. Automatische taaldetectie is beschikbaar, en de handleiding vermeldt dat het expliciet meegeven van een bekende audiotaal de transcriptienauwkeurigheid kan verbeteren.\n\nIn de gedocumenteerde producentworkflow kan audio worden aangeleverd als geüpload bestand, identificatie van een eerder geüpload bestand of verwijzing naar een opname. De bijbehorende uploaddemonstratie aanvaardt MP3-, WAV-, M4A-, FLAC- en OGG-opnamen; kies een van deze formaten voor de gedemonstreerde uploadworkflow. Houd de opname decodeerbaar en neem de relevante spraak op. Bewaar bij lang materiaal de identificatie en tijdsoorsprong, zodat latere fragmenten of bewerkingen nog naar de bron herleidbaar zijn.\n\nDe transcriptiereferentie retourneert tekst en gedetecteerde taal, met segmenten wanneer daarom wordt gevraagd, en documenteert afzonderlijk gestreamde transcriptiegebeurtenissen. Diarisatie is optioneel en staat standaard op false. De handleiding merkt op dat timestamp_granularities en een expliciete language-instelling momenteel niet compatibel zijn; kies daarom de gewenste timingworkflow of de handmatige taalhint in plaats van beide te combineren. Transcriptie met sprekerlabels, vocabulariumsturing en timing moeten volgens het beoogde resultaat worden gekozen en niet uit een basisverzoek worden verondersteld.\n\nOverlappende spraak is een inhoudelijke beperking: Mistral zegt dat het model doorgaans één spreker transcribeert wanneer sprekers door elkaar praten. Een gelabelde transcriptie mag daarom niet als een volledige registratie van elke gelijktijdige uiting worden behandeld. Controleer voor een vergaderverslag moeilijke overlappingen en belangrijke namen of cijfers tegen de opname. Het model is bedoeld voor transcriptie; een samenvatting, vertaling of analyse kan een afzonderlijke taak op basis van die transcriptie zijn. Voxtral Realtime heeft een eigen latentieprofiel voor livetranscriptie, terwijl spraakgeneratie bij andere modellen hoort.\n\nBereid het resultaat voor op het volgende gebruik. Een vergaderworkflow kan transcriptie, sprekerlabels en timing bewaren voordat een afzonderlijke fase beslissingen extraheert; een mediaworkflow kan timing gebruiken om passages te vinden en ondertitels op te stellen; een opname met veel vaktermen kan de gerichte contextsturingslijst en een controle van de resulterende spellingen bevatten. Het nuttige eindproduct is tekst die aan de bronopname en ingestelde metadata gekoppeld is, waarbij deze genummerde transcriptie-editie onderscheiden blijft van het oorspronkelijke Mini-model en bijgewerkte latest-namen.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "84a9971014f0332e4fdc3d29818dd6a1cec2e318b8309e222fdc80267ba40392",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "nl-be",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Mistral: Voxtral Mini Transcribe</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sluiten\">×</button></div><div class=\"idline\"><span>Mistral /</span><code>mistralai/voxtral-mini-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|mistralai%2Fvoxtral-mini-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\">Voxtral Mini Transcribe 2 zet opnamen om in tekst met sprekerdiarisatie, tijdstempels op woordniveau en vocabulariumsturing. Mistral documenteert 13 talen en opnamen tot drie uur voor deze op transcriptie gerichte editie, die onderscheiden blijft van Voxtral Realtime.</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>Voxtral Mini Transcribe 2 is de op transcriptie gerichte Voxtral-editie van Mistral AI die op de modelkaart van de producent als voxtral-mini-2602 wordt geïdentificeerd. Ze is ontworpen voor batchtranscriptie van opnamen en niet voor de bredere vraagbeantwoordingsrol van het oorspronkelijke Voxtral Mini 3B-model. De invoer is audio en het resultaat getranscribeerde tekst, optioneel verrijkt met sprekerlabels en tijdinformatie. Praktische toepassingen zijn vergadertranscripties, interviewanalyse, gespreksverslagen met meerdere deelnemers en tekst die met opgenomen media is uitgelijnd.</p><p>De fabrikant documenteert sprekerdiarisatie en begin-/eindtijden, zodat een transcriptie kan tonen wie wanneer sprak. Tijdstempels op woordniveau ondersteunen ondertiteling, audiozoekfuncties en de koppeling tussen een tekstpassage en haar positie in een opname. De producenthandleiding laat tijdstempels op segment- of woordniveau toe. Voor een interview is een nuttig artefact een reeks aan sprekers toegewezen passages met timing; bij ondertitelvoorbereiding kan woord- of segmenttiming een latere ondertitelstap sturen, in plaats van die timing uit gewone transcriptietekst te moeten afleiden.</p><p>Contextsturing aanvaardt maximaal 100 woorden of woordgroepen die het model naar de bedoelde spelling van namen, technische termen en domeinspecifiek vocabularium sturen. Mistral zegt dat deze functie voor Engels is geoptimaliseerd en dat ondersteuning in andere talen experimenteel is. Bereid een gerichte vocabulariumlijst op basis van het opnameonderwerp voor in plaats van een niet-gerelateerde woordenlijst. Een voorbeeld kan de projectnamen en gespecialiseerde termen aanleveren die waarschijnlijk in een technische bespreking voorkomen en vervolgens hun spelling in de voltooide transcriptie controleren.</p><p>Deze editie ondersteunt dertien talen: Engels, Chinees, Hindi, Spaans, Arabisch, Frans, Portugees, Russisch, Duits, Japans, Koreaans, Italiaans en Nederlands. De fabrikant documenteert ook robuustheid tegen ruis en opnamen tot drie uur in één verzoek. Dat hoort bij de opnameworkflow van Mini Transcribe 2; de context- en duurvermeldingen van het oorspronkelijke 2507-model voor audiobegrip beschrijven een andere release. Automatische taaldetectie is beschikbaar, en de handleiding vermeldt dat het expliciet meegeven van een bekende audiotaal de transcriptienauwkeurigheid kan verbeteren.</p><p>In de gedocumenteerde producentworkflow kan audio worden aangeleverd als geüpload bestand, identificatie van een eerder geüpload bestand of verwijzing naar een opname. De bijbehorende uploaddemonstratie aanvaardt MP3-, WAV-, M4A-, FLAC- en OGG-opnamen; kies een van deze formaten voor de gedemonstreerde uploadworkflow. Houd de opname decodeerbaar en neem de relevante spraak op. Bewaar bij lang materiaal de identificatie en tijdsoorsprong, zodat latere fragmenten of bewerkingen nog naar de bron herleidbaar zijn.</p><p>De transcriptiereferentie retourneert tekst en gedetecteerde taal, met segmenten wanneer daarom wordt gevraagd, en documenteert afzonderlijk gestreamde transcriptiegebeurtenissen. Diarisatie is optioneel en staat standaard op false. De handleiding merkt op dat timestamp_granularities en een expliciete language-instelling momenteel niet compatibel zijn; kies daarom de gewenste timingworkflow of de handmatige taalhint in plaats van beide te combineren. Transcriptie met sprekerlabels, vocabulariumsturing en timing moeten volgens het beoogde resultaat worden gekozen en niet uit een basisverzoek worden verondersteld.</p><p>Overlappende spraak is een inhoudelijke beperking: Mistral zegt dat het model doorgaans één spreker transcribeert wanneer sprekers door elkaar praten. Een gelabelde transcriptie mag daarom niet als een volledige registratie van elke gelijktijdige uiting worden behandeld. Controleer voor een vergaderverslag moeilijke overlappingen en belangrijke namen of cijfers tegen de opname. Het model is bedoeld voor transcriptie; een samenvatting, vertaling of analyse kan een afzonderlijke taak op basis van die transcriptie zijn. Voxtral Realtime heeft een eigen latentieprofiel voor livetranscriptie, terwijl spraakgeneratie bij andere modellen hoort.</p><p>Bereid het resultaat voor op het volgende gebruik. Een vergaderworkflow kan transcriptie, sprekerlabels en timing bewaren voordat een afzonderlijke fase beslissingen extraheert; een mediaworkflow kan timing gebruiken om passages te vinden en ondertitels op te stellen; een opname met veel vaktermen kan de gerichte contextsturingslijst en een controle van de resulterende spellingen bevatten. Het nuttige eindproduct is tekst die aan de bronopname en ingestelde metadata gekoppeld is, waarbij deze genummerde transcriptie-editie onderscheiden blijft van het oorspronkelijke Mini-model en bijgewerkte latest-namen.</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>Invoer</dt><dd><code>audio</code></dd></div><div><dt>Uitvoer</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>mistralai/voxtral-mini-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 je werkelijke, niet-lege PCM WAV-bestand, codeert alle bytes van het bestand 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 bestaande mediaregistratie die je toebehoort</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 geselecteerd is</span></dd><dt>Flex-modus</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer de flex-modus geselecteerd is</span></dd><dt>Maximale redeneerinspanning</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-tarieven</h4><h4>Prijzen per configuratie</h4><p class=\"note-s\">Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuratie</th><th>Tariefstaffel</th><th>Rekeneenheid</th><th>Kosten</th></tr></thead><tbody><tr><th data-cell-label=\"Configuratie\" scope=\"row\"><span class=\"card-cell-label\">Configuratie</span>Basistarieven voor tokens</th><td data-cell-label=\"Tariefstaffel\"><span class=\"card-cell-label\">Tariefstaffel</span>Basistarief</td><td data-cell-label=\"Rekeneenheid\"><span class=\"card-cell-label\">Rekeneenheid</span>—</td><td data-cell-label=\"Kosten\"><span class=\"card-cell-label\">Kosten</span><div><span>Invoer · Invoertokens</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Uitvoer · Uitvoertokens</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache lezen</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache schrijven</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache schrijven, 1 uur</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr><tr><th data-cell-label=\"Configuratie\" scope=\"row\"><span class=\"card-cell-label\">Configuratie</span>seconde audio-invoer</th><td data-cell-label=\"Tariefstaffel\"><span class=\"card-cell-label\">Tariefstaffel</span>—</td><td data-cell-label=\"Rekeneenheid\"><span class=\"card-cell-label\">Rekeneenheid</span>per seconde audio-invoer</td><td data-cell-label=\"Kosten\"><span class=\"card-cell-label\">Kosten</span><div><span>Invoer · seconde audio-invoer</span> <b>$0.0001</b> <span class=\"price-unit\">per seconde audio-invoer</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. <a href=\"/docs/nl-be/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-1942-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1942-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-1942-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1942-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;mistralai/voxtral-mini-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 antwoordinhoud, status en doorgestuurde headers. Deze handler voegt geen universele JSON-structuur, tekstveld of taakomhulling 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 de volledige respons en headers, iedere daadwerkelijke uitvoer, de oorspronkelijk teruggegeven identificatoren en alle verbruiksvelden. 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 werkelijke X-Client-Request-ID en het volledige antwoord. Raadpleeg de oorspronkelijke assets die je toebehoren en hun exacte ondertekende inhouds-URL&#39;s; dien een aanmaakaanvraag met onzekere uitkomst 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-inhoud of de 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 aanvraagveld.</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 je 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 groep van de sleutel heeft geen toegang tot deze methode.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar de teruggestuurde 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 teruggestuurde 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>Voor het geaccepteerde tarief kan de vereiste invoerhoeveelheid of grenswaarde niet worden bepaald.</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>De 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, het verbruik of de afrekening moet worden gecontroleerd.</td><td data-cell-label=\"Volgende stap\"><span class=\"card-cell-label\">Volgende stap</span>Bewaar de werkelijke aanvraag-ID en het oorspronkelijke antwoord. Raadpleeg de bestaande registratie die je toebehoort; dien de aanmaakaanvraag 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=mistralai%2Fvoxtral-mini-transcribe&amp;route=Ultra&amp;caller=mistralai%2Fvoxtral-mini-transcribe&amp;fmt=transcriptions\"><code>mistralai/voxtral-mini-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=mistralai%2Fvoxtral-mini-transcribe&amp;route=Ultra&amp;caller=mistralai%2Fvoxtral-mini-transcribe&amp;fmt=transcriptions\"><code>mistralai/voxtral-mini-transcribe</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "mistralai/voxtral-mini-transcribe",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "mistralai/voxtral-mini-transcribe",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|mistralai%2Fvoxtral-mini-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-inhoud of de expliciete canonieke model-ID is ongeldig.",
                "http_status": 400,
                "recovery": "Bewaar het antwoord en corrigeer het aangegeven aanvraagveld.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "De Ailoot API-sleutel is ongeldig.",
                "http_status": 401,
                "recovery": "Gebruik je geautoriseerde Ailoot API-sleutel.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "De groep van de sleutel heeft geen toegang tot deze methode.",
                "http_status": 403,
                "recovery": "Bewaar de teruggestuurde foutdetails.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "De geselecteerde methode heeft geen toegelaten route.",
                "http_status": 404,
                "recovery": "Bewaar de teruggestuurde foutdetails.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Voor het geaccepteerde tarief kan de vereiste invoerhoeveelheid of grenswaarde niet worden bepaald.",
                "http_status": 422,
                "recovery": "Bewaar het antwoord; gebruik de invoerweergave die het geaccepteerde tarief vereist.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "De 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, het verbruik of de afrekening moet worden gecontroleerd.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Bewaar de werkelijke aanvraag-ID en het oorspronkelijke antwoord. Raadpleeg de bestaande registratie die je toebehoort; dien de aanmaakaanvraag 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 werkelijke X-Client-Request-ID en het volledige antwoord. Raadpleeg de oorspronkelijke assets die je toebehoren en hun exacte ondertekende inhouds-URL's; dien een aanmaakaanvraag met onzekere uitkomst nooit opnieuw in."
            },
            "outputs": {
              "all_results": "Bewaar de volledige respons en headers, iedere daadwerkelijke uitvoer, de oorspronkelijk teruggegeven identificatoren en alle verbruiksvelden. 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 antwoordinhoud, status en doorgestuurde headers. Deze handler voegt geen universele JSON-structuur, tekstveld of taakomhulling toe."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "mistralai/voxtral-mini-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": [
                    "mistralai/voxtral-mini-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": "mistralai/voxtral-mini-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Het voorbeeld leest je werkelijke, niet-lege PCM WAV-bestand, codeert alle bytes van het bestand 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 bestaande mediaregistratie die je toebehoort",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'mistralai/voxtral-mini-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.0001
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/voxtral-mini-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.0001",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "mistralai/voxtral-mini-transcribe",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "24a0a3e7018ecace353f961d74283ba89c530ee44b011101537840fd7a551e6d",
    "input_html_sha256": "7d8768499f4ac959897175504e2e1e05f98fbb64029bc1ec8287e14f29051946",
    "private_audit_sha256": "92aefea20e431eae146faacd55af957dde0f69e77067a87ea905a372e566a574",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/nl-be/mistralai-voxtral-mini-transcribe/",
    "description": "Voxtral Mini Transcribe 2 zet opnamen om in tekst met sprekerdiarisatie, tijdstempels op woordniveau en vocabulariumsturing. Mistral documenteert 13 talen en opnamen tot drie uur voor deze op transcriptie gerichte editie, die onderscheiden blijft van Voxtral Realtime.",
    "locale": "nl-be",
    "md_url": "https://ailoot.ai/models/nl-be/mistralai-voxtral-mini-transcribe/index.md",
    "title": "Mistral: Voxtral Mini Transcribe — Ailoot",
    "url": "https://ailoot.ai/models/nl-be/mistralai-voxtral-mini-transcribe/"
  },
  "rawModel": {
    "about": "Voxtral Mini Transcribe 2 is de op transcriptie gerichte Voxtral-editie van Mistral AI die op de modelkaart van de producent als voxtral-mini-2602 wordt geïdentificeerd. Ze is ontworpen voor batchtranscriptie van opnamen en niet voor de bredere vraagbeantwoordingsrol van het oorspronkelijke Voxtral Mini 3B-model. De invoer is audio en het resultaat getranscribeerde tekst, optioneel verrijkt met sprekerlabels en tijdinformatie. Praktische toepassingen zijn vergadertranscripties, interviewanalyse, gespreksverslagen met meerdere deelnemers en tekst die met opgenomen media is uitgelijnd.\n\nDe fabrikant documenteert sprekerdiarisatie en begin-/eindtijden, zodat een transcriptie kan tonen wie wanneer sprak. Tijdstempels op woordniveau ondersteunen ondertiteling, audiozoekfuncties en de koppeling tussen een tekstpassage en haar positie in een opname. De producenthandleiding laat tijdstempels op segment- of woordniveau toe. Voor een interview is een nuttig artefact een reeks aan sprekers toegewezen passages met timing; bij ondertitelvoorbereiding kan woord- of segmenttiming een latere ondertitelstap sturen, in plaats van die timing uit gewone transcriptietekst te moeten afleiden.\n\nContextsturing aanvaardt maximaal 100 woorden of woordgroepen die het model naar de bedoelde spelling van namen, technische termen en domeinspecifiek vocabularium sturen. Mistral zegt dat deze functie voor Engels is geoptimaliseerd en dat ondersteuning in andere talen experimenteel is. Bereid een gerichte vocabulariumlijst op basis van het opnameonderwerp voor in plaats van een niet-gerelateerde woordenlijst. Een voorbeeld kan de projectnamen en gespecialiseerde termen aanleveren die waarschijnlijk in een technische bespreking voorkomen en vervolgens hun spelling in de voltooide transcriptie controleren.\n\nDeze editie ondersteunt dertien talen: Engels, Chinees, Hindi, Spaans, Arabisch, Frans, Portugees, Russisch, Duits, Japans, Koreaans, Italiaans en Nederlands. De fabrikant documenteert ook robuustheid tegen ruis en opnamen tot drie uur in één verzoek. Dat hoort bij de opnameworkflow van Mini Transcribe 2; de context- en duurvermeldingen van het oorspronkelijke 2507-model voor audiobegrip beschrijven een andere release. Automatische taaldetectie is beschikbaar, en de handleiding vermeldt dat het expliciet meegeven van een bekende audiotaal de transcriptienauwkeurigheid kan verbeteren.\n\nIn de gedocumenteerde producentworkflow kan audio worden aangeleverd als geüpload bestand, identificatie van een eerder geüpload bestand of verwijzing naar een opname. De bijbehorende uploaddemonstratie aanvaardt MP3-, WAV-, M4A-, FLAC- en OGG-opnamen; kies een van deze formaten voor de gedemonstreerde uploadworkflow. Houd de opname decodeerbaar en neem de relevante spraak op. Bewaar bij lang materiaal de identificatie en tijdsoorsprong, zodat latere fragmenten of bewerkingen nog naar de bron herleidbaar zijn.\n\nDe transcriptiereferentie retourneert tekst en gedetecteerde taal, met segmenten wanneer daarom wordt gevraagd, en documenteert afzonderlijk gestreamde transcriptiegebeurtenissen. Diarisatie is optioneel en staat standaard op false. De handleiding merkt op dat timestamp_granularities en een expliciete language-instelling momenteel niet compatibel zijn; kies daarom de gewenste timingworkflow of de handmatige taalhint in plaats van beide te combineren. Transcriptie met sprekerlabels, vocabulariumsturing en timing moeten volgens het beoogde resultaat worden gekozen en niet uit een basisverzoek worden verondersteld.\n\nOverlappende spraak is een inhoudelijke beperking: Mistral zegt dat het model doorgaans één spreker transcribeert wanneer sprekers door elkaar praten. Een gelabelde transcriptie mag daarom niet als een volledige registratie van elke gelijktijdige uiting worden behandeld. Controleer voor een vergaderverslag moeilijke overlappingen en belangrijke namen of cijfers tegen de opname. Het model is bedoeld voor transcriptie; een samenvatting, vertaling of analyse kan een afzonderlijke taak op basis van die transcriptie zijn. Voxtral Realtime heeft een eigen latentieprofiel voor livetranscriptie, terwijl spraakgeneratie bij andere modellen hoort.\n\nBereid het resultaat voor op het volgende gebruik. Een vergaderworkflow kan transcriptie, sprekerlabels en timing bewaren voordat een afzonderlijke fase beslissingen extraheert; een mediaworkflow kan timing gebruiken om passages te vinden en ondertitels op te stellen; een opname met veel vaktermen kan de gerichte contextsturingslijst en een controle van de resulterende spellingen bevatten. Het nuttige eindproduct is tekst die aan de bronopname en ingestelde metadata gekoppeld is, waarbij deze genummerde transcriptie-editie onderscheiden blijft van het oorspronkelijke Mini-model en bijgewerkte latest-namen.",
    "alias_of": null,
    "aliases": [],
    "author": "Mistral",
    "capabilities": {
      "context_length": 16384,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "De volledige prijsinformatie voor de configuratie vindt u bij de details."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "mistralai/voxtral-mini-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-inhoud of de expliciete canonieke model-ID is ongeldig.",
                "http_status": 400,
                "recovery": "Bewaar het antwoord en corrigeer het aangegeven aanvraagveld.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "De Ailoot API-sleutel is ongeldig.",
                "http_status": 401,
                "recovery": "Gebruik je geautoriseerde Ailoot API-sleutel.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "De groep van de sleutel heeft geen toegang tot deze methode.",
                "http_status": 403,
                "recovery": "Bewaar de teruggestuurde foutdetails.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "De geselecteerde methode heeft geen toegelaten route.",
                "http_status": 404,
                "recovery": "Bewaar de teruggestuurde foutdetails.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Voor het geaccepteerde tarief kan de vereiste invoerhoeveelheid of grenswaarde niet worden bepaald.",
                "http_status": 422,
                "recovery": "Bewaar het antwoord; gebruik de invoerweergave die het geaccepteerde tarief vereist.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "De 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, het verbruik of de afrekening moet worden gecontroleerd.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Bewaar de werkelijke aanvraag-ID en het oorspronkelijke antwoord. Raadpleeg de bestaande registratie die je toebehoort; dien de aanmaakaanvraag 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 werkelijke X-Client-Request-ID en het volledige antwoord. Raadpleeg de oorspronkelijke assets die je toebehoren en hun exacte ondertekende inhouds-URL's; dien een aanmaakaanvraag met onzekere uitkomst nooit opnieuw in."
            },
            "outputs": {
              "all_results": "Bewaar de volledige respons en headers, iedere daadwerkelijke uitvoer, de oorspronkelijk teruggegeven identificatoren en alle verbruiksvelden. 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 antwoordinhoud, status en doorgestuurde headers. Deze handler voegt geen universele JSON-structuur, tekstveld of taakomhulling toe."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "mistralai/voxtral-mini-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": [
                    "mistralai/voxtral-mini-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": "mistralai/voxtral-mini-transcribe"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Het voorbeeld leest je werkelijke, niet-lege PCM WAV-bestand, codeert alle bytes van het bestand 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 bestaande mediaregistratie die je toebehoort",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'mistralai/voxtral-mini-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.0001
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.0001",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.0001",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/voxtral-mini-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.0001",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.0001",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "mistralai/voxtral-mini-transcribe",
        "request_model_id": "mistralai/voxtral-mini-transcribe",
        "route_label": "Ultra"
      }
    ],
    "name": "Mistral: Voxtral Mini Transcribe",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Voxtral Mini Transcribe 2 zet opnamen om in tekst met sprekerdiarisatie, tijdstempels op woordniveau en vocabulariumsturing. Mistral documenteert 13 talen en opnamen tot drie uur voor deze op transcriptie gerichte editie, die onderscheiden blijft van Voxtral Realtime."
  },
  "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": "Voxtral Mini Transcribe 2 zet opnamen om in tekst met sprekerdiarisatie, tijdstempels op woordniveau en vocabulariumsturing. Mistral documenteert 13 talen en opnamen tot drie uur voor deze op transcriptie gerichte editie, die onderscheiden blijft van Voxtral Realtime.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "c21393d1d8366b1151d91f94d174ac6aabee451d174bf2be38b9a552747bf782",
    "renderer_sha256": "a5aefc67f30427b283b8d8bf7955908a0216c6e5e4ca3cc1887842431e2b1ee6"
  },
  "sourceRevision": "d3e119830db7ab157fac6ff85446e88dba5279d17d3ab9f9a1047e18244ec4ff"
}
