{
  "aboutHtml": "<p>Voxtral Mini Transcribe 2 är Mistral AI:s transkriptionsinriktade Voxtral-utgåva som identifieras i producentens modellkort som voxtral-mini-2602. Den är utformad för inspelningsbaserad batchtranskription snarare än den bredare frågesvarsrollen hos den ursprungliga modellen Voxtral Mini 3B. Indata är ljud och resultatet är transkriberad text, som valfritt kan berikas med talaretiketter och tidsinformation. Praktiska användningar omfattar mötestranskriptioner, intervjuanalys, samtalsprotokoll med flera deltagare och text synkroniserad med inspelade medier.</p><p>Tillverkaren dokumenterar talarseparering och start-/sluttider så att en transkription kan visa vem som talade och när. Tidsstämplar på ordnivå stöder undertexter, ljudsökning och koppling mellan ett textavsnitt och dess position i en inspelning. Producentens guide tillåter tidsstämplar på segment- eller ordnivå. För en intervju är en användbar leverans en följd av avsnitt med angiven talare och tider; vid förberedelse av undertexter kan ord- eller segmenttider vägleda ett senare textningssteg i stället för att tvinga fram en härledning av tiderna ur vanlig transkriptionstext.</p><p>Kontextstyrning accepterar upp till 100 ord eller fraser som vägleder modellen mot avsedd stavning av namn, tekniska termer och domänspecifikt ordförråd. Mistral anger att funktionen är optimerad för engelska och att stöd för andra språk är experimentellt. Förbered en fokuserad ordlista från inspelningens ämne i stället för en orelaterad ordlista. Ett eget exempel kan tillhandahålla projektnamn och specialisttermer som sannolikt förekommer i en teknisk diskussion och sedan kontrollera stavningen i den färdiga transkriptionen.</p><p>Den här utgåvan stöder tretton språk: engelska, kinesiska, hindi, spanska, arabiska, franska, portugisiska, ryska, tyska, japanska, koreanska, italienska och nederländska. Tillverkaren dokumenterar också robusthet mot brus och inspelningar på upp till tre timmar i en enda begäran. Detta hör till Mini Transcribe 2:s inspelningsflöde; kontext- och längdangivelserna för den ursprungliga ljudförståelsemodellen 2507 beskriver en annan utgåva. Automatisk språkidentifiering finns, och guiden anger att ett uttryckligt angivet känt ljudspråk kan förbättra transkriptionsnoggrannheten.</p><p>I det dokumenterade producentflödet kan ljud tillhandahållas som en uppladdad fil, en tidigare uppladdad filidentifierare eller en refererad inspelning. Den medföljande uppladdningsdemonstrationen accepterar inspelningar i MP3, WAV, M4A, FLAC och OGG; välj ett av dessa format för det demonstrerade uppladdningsflödet. Håll inspelningen avkodningsbar och inkludera det relevanta talet. För långt material bevarar du dess identifierare och tidsnollpunkt så att senare utdrag eller ändringar fortfarande kan spåras till källan.</p><p>Transkriptionsreferensen returnerar texten och det identifierade språket, med segment när de begärs, och dokumenterar separat strömmade transkriptionshändelser. Talarseparering är valfri och har standardvärdet false. Guiden påpekar att timestamp_granularities och en uttrycklig språkinställning för närvarande inte är kompatibla, så välj önskat tidsflöde eller den manuella språkledtråden i stället för att kombinera dem. Transkription med talaretiketter, ordlistestyrning och tidsinformation bör väljas utifrån det avsedda resultatet snarare än förutsättas i en grundläggande begäran.</p><p>Överlappande tal är en innehållslig begränsning: Mistral anger att modellen vanligtvis transkriberar en talare när flera talar samtidigt. En transkription med talaretiketter ska därför inte behandlas som en uttömmande redogörelse för varje samtidigt yttrande. För ett mötesprotokoll granskar du svåra överlappningar och viktiga namn eller siffror mot inspelningen. Modellens syfte är transkription; en sammanfattning, översättning eller analys kan vara en separat uppgift byggd på transkriptionen. Voxtral Realtime har en separat latensprofil för livetranskription, medan talgenerering hör till andra modeller.</p><p>Förbered resultatet för nästa användning. Ett mötesflöde kan bevara transkriptionen, talaretiketterna och tidsinformationen innan ett separat steg extraherar beslut; ett medieflöde kan använda tiderna för att lokalisera avsnitt och utarbeta undertexter; en terminologitung inspelning kan inkludera den fokuserade kontextstyrningslistan och en granskning av den resulterande stavningen. Den användbara leveransen är text knuten till sin källinspelning och konfigurerade metadata, med denna numrerade transkriptionsutgåva skild från den ursprungliga Mini-modellen och föränderliga latest-namn.</p>",
  "aboutText": "Voxtral Mini Transcribe 2 är Mistral AI:s transkriptionsinriktade Voxtral-utgåva som identifieras i producentens modellkort som voxtral-mini-2602. Den är utformad för inspelningsbaserad batchtranskription snarare än den bredare frågesvarsrollen hos den ursprungliga modellen Voxtral Mini 3B. Indata är ljud och resultatet är transkriberad text, som valfritt kan berikas med talaretiketter och tidsinformation. Praktiska användningar omfattar mötestranskriptioner, intervjuanalys, samtalsprotokoll med flera deltagare och text synkroniserad med inspelade medier.\n\nTillverkaren dokumenterar talarseparering och start-/sluttider så att en transkription kan visa vem som talade och när. Tidsstämplar på ordnivå stöder undertexter, ljudsökning och koppling mellan ett textavsnitt och dess position i en inspelning. Producentens guide tillåter tidsstämplar på segment- eller ordnivå. För en intervju är en användbar leverans en följd av avsnitt med angiven talare och tider; vid förberedelse av undertexter kan ord- eller segmenttider vägleda ett senare textningssteg i stället för att tvinga fram en härledning av tiderna ur vanlig transkriptionstext.\n\nKontextstyrning accepterar upp till 100 ord eller fraser som vägleder modellen mot avsedd stavning av namn, tekniska termer och domänspecifikt ordförråd. Mistral anger att funktionen är optimerad för engelska och att stöd för andra språk är experimentellt. Förbered en fokuserad ordlista från inspelningens ämne i stället för en orelaterad ordlista. Ett eget exempel kan tillhandahålla projektnamn och specialisttermer som sannolikt förekommer i en teknisk diskussion och sedan kontrollera stavningen i den färdiga transkriptionen.\n\nDen här utgåvan stöder tretton språk: engelska, kinesiska, hindi, spanska, arabiska, franska, portugisiska, ryska, tyska, japanska, koreanska, italienska och nederländska. Tillverkaren dokumenterar också robusthet mot brus och inspelningar på upp till tre timmar i en enda begäran. Detta hör till Mini Transcribe 2:s inspelningsflöde; kontext- och längdangivelserna för den ursprungliga ljudförståelsemodellen 2507 beskriver en annan utgåva. Automatisk språkidentifiering finns, och guiden anger att ett uttryckligt angivet känt ljudspråk kan förbättra transkriptionsnoggrannheten.\n\nI det dokumenterade producentflödet kan ljud tillhandahållas som en uppladdad fil, en tidigare uppladdad filidentifierare eller en refererad inspelning. Den medföljande uppladdningsdemonstrationen accepterar inspelningar i MP3, WAV, M4A, FLAC och OGG; välj ett av dessa format för det demonstrerade uppladdningsflödet. Håll inspelningen avkodningsbar och inkludera det relevanta talet. För långt material bevarar du dess identifierare och tidsnollpunkt så att senare utdrag eller ändringar fortfarande kan spåras till källan.\n\nTranskriptionsreferensen returnerar texten och det identifierade språket, med segment när de begärs, och dokumenterar separat strömmade transkriptionshändelser. Talarseparering är valfri och har standardvärdet false. Guiden påpekar att timestamp_granularities och en uttrycklig språkinställning för närvarande inte är kompatibla, så välj önskat tidsflöde eller den manuella språkledtråden i stället för att kombinera dem. Transkription med talaretiketter, ordlistestyrning och tidsinformation bör väljas utifrån det avsedda resultatet snarare än förutsättas i en grundläggande begäran.\n\nÖverlappande tal är en innehållslig begränsning: Mistral anger att modellen vanligtvis transkriberar en talare när flera talar samtidigt. En transkription med talaretiketter ska därför inte behandlas som en uttömmande redogörelse för varje samtidigt yttrande. För ett mötesprotokoll granskar du svåra överlappningar och viktiga namn eller siffror mot inspelningen. Modellens syfte är transkription; en sammanfattning, översättning eller analys kan vara en separat uppgift byggd på transkriptionen. Voxtral Realtime har en separat latensprofil för livetranskription, medan talgenerering hör till andra modeller.\n\nFörbered resultatet för nästa användning. Ett mötesflöde kan bevara transkriptionen, talaretiketterna och tidsinformationen innan ett separat steg extraherar beslut; ett medieflöde kan använda tiderna för att lokalisera avsnitt och utarbeta undertexter; en terminologitung inspelning kan inkludera den fokuserade kontextstyrningslistan och en granskning av den resulterande stavningen. Den användbara leveransen är text knuten till sin källinspelning och konfigurerade metadata, med denna numrerade transkriptionsutgåva skild från den ursprungliga Mini-modellen och föränderliga latest-namn.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "c1e4ec107ade2f9ac010e47dc6d12ab4a4bc2f115268b57d77d5b0741a94093c",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "sv",
  "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=\"Stäng\">×</button></div><div class=\"idline\"><span>Mistral /</span><code>mistralai/voxtral-mini-transcribe</code><button type=\"button\" id=\"copy-id\">Kopiera ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Modellkortets avsnitt\"><button type=\"button\" data-card-jump=\"overview\">Start</button><button type=\"button\" data-card-jump=\"methods\">Indata &amp; metoder</button><button type=\"button\" data-card-jump=\"pricing\">Priser</button><button type=\"button\" data-card-jump=\"examples\">Exempel</button><button type=\"button\" data-card-jump=\"results\">Resultat</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-metoder\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|transcriptions|/v1/audio/transcriptions|mistralai%2Fvoxtral-mini-transcribe\">Igenkänning</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Start</h3><p class=\"mdesc-full\">Voxtral Mini Transcribe 2 omvandlar inspelningar till text med talarseparering, tidsstämplar på ordnivå och styrning med en ordlista. Mistral dokumenterar 13 språk och inspelningar på upp till tre timmar för den här transkriptionsinriktade utgåvan, skild från Voxtral Realtime.</p><dl class=\"card-io\" data-card-io><div><dt>Godkända indata</dt><dd>Ljud</dd></div><div><dt>Resultat</dt><dd>Text</dd></div></dl><details class=\"card-about\"><summary>Om modellen</summary><p class=\"note-s\" data-model-method-boundary>Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.</p><div class=\"mabout\" id=\"m-about\"><p>Voxtral Mini Transcribe 2 är Mistral AI:s transkriptionsinriktade Voxtral-utgåva som identifieras i producentens modellkort som voxtral-mini-2602. Den är utformad för inspelningsbaserad batchtranskription snarare än den bredare frågesvarsrollen hos den ursprungliga modellen Voxtral Mini 3B. Indata är ljud och resultatet är transkriberad text, som valfritt kan berikas med talaretiketter och tidsinformation. Praktiska användningar omfattar mötestranskriptioner, intervjuanalys, samtalsprotokoll med flera deltagare och text synkroniserad med inspelade medier.</p><p>Tillverkaren dokumenterar talarseparering och start-/sluttider så att en transkription kan visa vem som talade och när. Tidsstämplar på ordnivå stöder undertexter, ljudsökning och koppling mellan ett textavsnitt och dess position i en inspelning. Producentens guide tillåter tidsstämplar på segment- eller ordnivå. För en intervju är en användbar leverans en följd av avsnitt med angiven talare och tider; vid förberedelse av undertexter kan ord- eller segmenttider vägleda ett senare textningssteg i stället för att tvinga fram en härledning av tiderna ur vanlig transkriptionstext.</p><p>Kontextstyrning accepterar upp till 100 ord eller fraser som vägleder modellen mot avsedd stavning av namn, tekniska termer och domänspecifikt ordförråd. Mistral anger att funktionen är optimerad för engelska och att stöd för andra språk är experimentellt. Förbered en fokuserad ordlista från inspelningens ämne i stället för en orelaterad ordlista. Ett eget exempel kan tillhandahålla projektnamn och specialisttermer som sannolikt förekommer i en teknisk diskussion och sedan kontrollera stavningen i den färdiga transkriptionen.</p><p>Den här utgåvan stöder tretton språk: engelska, kinesiska, hindi, spanska, arabiska, franska, portugisiska, ryska, tyska, japanska, koreanska, italienska och nederländska. Tillverkaren dokumenterar också robusthet mot brus och inspelningar på upp till tre timmar i en enda begäran. Detta hör till Mini Transcribe 2:s inspelningsflöde; kontext- och längdangivelserna för den ursprungliga ljudförståelsemodellen 2507 beskriver en annan utgåva. Automatisk språkidentifiering finns, och guiden anger att ett uttryckligt angivet känt ljudspråk kan förbättra transkriptionsnoggrannheten.</p><p>I det dokumenterade producentflödet kan ljud tillhandahållas som en uppladdad fil, en tidigare uppladdad filidentifierare eller en refererad inspelning. Den medföljande uppladdningsdemonstrationen accepterar inspelningar i MP3, WAV, M4A, FLAC och OGG; välj ett av dessa format för det demonstrerade uppladdningsflödet. Håll inspelningen avkodningsbar och inkludera det relevanta talet. För långt material bevarar du dess identifierare och tidsnollpunkt så att senare utdrag eller ändringar fortfarande kan spåras till källan.</p><p>Transkriptionsreferensen returnerar texten och det identifierade språket, med segment när de begärs, och dokumenterar separat strömmade transkriptionshändelser. Talarseparering är valfri och har standardvärdet false. Guiden påpekar att timestamp_granularities och en uttrycklig språkinställning för närvarande inte är kompatibla, så välj önskat tidsflöde eller den manuella språkledtråden i stället för att kombinera dem. Transkription med talaretiketter, ordlistestyrning och tidsinformation bör väljas utifrån det avsedda resultatet snarare än förutsättas i en grundläggande begäran.</p><p>Överlappande tal är en innehållslig begränsning: Mistral anger att modellen vanligtvis transkriberar en talare när flera talar samtidigt. En transkription med talaretiketter ska därför inte behandlas som en uttömmande redogörelse för varje samtidigt yttrande. För ett mötesprotokoll granskar du svåra överlappningar och viktiga namn eller siffror mot inspelningen. Modellens syfte är transkription; en sammanfattning, översättning eller analys kan vara en separat uppgift byggd på transkriptionen. Voxtral Realtime har en separat latensprofil för livetranskription, medan talgenerering hör till andra modeller.</p><p>Förbered resultatet för nästa användning. Ett mötesflöde kan bevara transkriptionen, talaretiketterna och tidsinformationen innan ett separat steg extraherar beslut; ett medieflöde kan använda tiderna för att lokalisera avsnitt och utarbeta undertexter; en terminologitung inspelning kan inkludera den fokuserade kontextstyrningslistan och en granskning av den resulterande stavningen. Den användbara leveransen är text knuten till sin källinspelning och konfigurerade metadata, med denna numrerade transkriptionsutgåva skild från den ursprungliga Mini-modellen och föränderliga latest-namn.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Tillgängligt i Ailoot · indata &amp; metoder</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Transkribering</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Indatatyper</dt><dd><code>audio</code></dd></div><div><dt>Utdatatyper</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Fält</th><th>Typ</th><th>Krav</th><th>Värden &amp; gränser</th><th>Standard</th></tr></thead><tbody><tr><th data-cell-label=\"Fält\" scope=\"row\"><span class=\"card-cell-label\">Fält</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Obligatoriskt</td><td data-cell-label=\"Värden &amp; gränser\"><span class=\"card-cell-label\">Värden &amp; gränser</span><div>mistralai/voxtral-mini-transcribe</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr><th data-cell-label=\"Fält\" scope=\"row\"><span class=\"card-cell-label\">Fält</span><code class=\"card-field-name\">input_audio</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>object</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Obligatoriskt</td><td data-cell-label=\"Värden &amp; gränser\"><span class=\"card-cell-label\">Värden &amp; gränser</span></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Metodparametrar och livscykel</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Avtal</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=\"Avtal\"><span class=\"card-cell-label\">Avtal</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=\"Avtal\"><span class=\"card-cell-label\">Avtal</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=\"Avtal\"><span class=\"card-cell-label\">Avtal</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=\"Avtal\"><span class=\"card-cell-label\">Avtal</span>Exemplet läser din faktiska, icke-tomma PCM WAV-fil, kodar filens samtliga byte som base64 och skickar input_audio.format som wav.</td></tr></tbody></table></div><p>Livscykel: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · exakt task_id från en befintlig mediepost som du äger</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Priser</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.</p><dl data-price-conditions><dt>Snabbt läge</dt><dd>Ej angivet <span class=\"note-s\">När snabbt läge är valt</span></dd><dt>Flex-läge</dt><dd>Ej angivet <span class=\"note-s\">När läget flex är valt</span></dd><dt>Högsta resonemangsnivå</dt><dd>Ej angivet <span class=\"note-s\">När den högsta resonemangsnivån använder standardjusteringen (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-priser</h4><h4>Priser efter konfiguration</h4><p class=\"note-s\">Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfiguration</th><th>Prislista</th><th>Debiteringsenhet</th><th>Avgift</th></tr></thead><tbody><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Grundpriser för token</th><td data-cell-label=\"Prislista\"><span class=\"card-cell-label\">Prislista</span>Grundpris</td><td data-cell-label=\"Debiteringsenhet\"><span class=\"card-cell-label\">Debiteringsenhet</span>—</td><td data-cell-label=\"Avgift\"><span class=\"card-cell-label\">Avgift</span><div><span>Indata · Indatatoken</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Utdata · Utdatatoken</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Indata · Cacheläsning</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Indata · Skrivning till cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Indata · Skrivning till cache, 1 tim</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>sekund inkommande ljud</th><td data-cell-label=\"Prislista\"><span class=\"card-cell-label\">Prislista</span>—</td><td data-cell-label=\"Debiteringsenhet\"><span class=\"card-cell-label\">Debiteringsenhet</span>per sekund indataljud</td><td data-cell-label=\"Avgift\"><span class=\"card-cell-label\">Avgift</span><div><span>Indata · sekund inkommande ljud</span> <b>$0.0001</b> <span class=\"price-unit\">per sekund indataljud</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. <a href=\"/docs/sv/billing/reserve/\">Så fungerar reservation och slutreglering →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Exempelbegäranden</h3><h4>Ailoot Ultra · Transkribering</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kodvarianter\"><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 · faktisk WAV-fil och hela det ursprungliga resultatet</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiera kod\"><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\">Ta emot och spara resultat</h3><h4>Ailoot Ultra · Transkribering</h4><p class=\"note-s\">Hela den ursprungliga svarskroppen, statusen och vidarebefordrade svarshuvuden. Denna hanterare lägger inte till någon universell JSON-struktur, något textfält eller något uppgiftshölje.</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>Behåll alla färdiga resultat</h5><p class=\"note-s\">Behåll varje fullständigt returnerat svar, fil och innehållsdel.</p><p class=\"note-s\">Spara hela svaret med headers, samtliga faktiska resultat, de ursprungliga returnerade identifierarna och alla användningsfält. Hämta den ursprungliga operationen utan att skicka skapandeförfrågan igen.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Om det ursprungliga svaret behöver kontrolleras</h5><p class=\"note-s\">Behåll faktiskt X-Client-Request-ID och hela svaret. Läs de ursprungliga tillgångarna som du äger och deras exakta signerade innehållslänkar; skicka aldrig en osäker skapandebegäran igen.</p></div><details class=\"card-about\" data-output-fields><summary>Svarsfält</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Fält</th><th>Typ</th></tr></thead><tbody><tr><th data-cell-label=\"Fält\" scope=\"row\"><span class=\"card-cell-label\">Fält</span><code class=\"card-field-name\">text (when present)</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Fält\" scope=\"row\"><span class=\"card-cell-label\">Fält</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Fel och nästa steg</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Svar</th><th>Villkor</th><th>Nästa steg</th></tr></thead><tbody><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>JSON-kroppen eller det uttryckliga kanoniska modell-ID:t är ogiltigt.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Behåll svaret och korrigera det angivna fältet i begäran.</td></tr><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>API-nyckeln för Ailoot är ogiltig.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Använd din behöriga API-nyckel för Ailoot.</td></tr><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>403 · <code>permission_error</code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>Nyckelgruppen ger inte tillträde till denna metod.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Behåll de returnerade feluppgifterna.</td></tr><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>Den valda metoden har ingen tillåten rutt.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Behåll de returnerade feluppgifterna.</td></tr><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>Den accepterade tariffen kan inte fastställa den mängd eller gräns för indata som krävs.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Behåll svaret; använd den representation av indata som den accepterade tariffen kräver.</td></tr><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>503 · <code></code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>Nödvändig lagring, rutt, metodpris eller reservation är inte tillgänglig.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Behåll hela det ursprungliga svaret. En osäker reservation ger inte tillstånd att skicka in igen.</td></tr><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>502 · <code>server_error</code></th><td data-cell-label=\"Villkor\"><span class=\"card-cell-label\">Villkor</span>Det ursprungliga resultatet, förbrukningen eller avräkningen kräver kontroll.</td><td data-cell-label=\"Nästa steg\"><span class=\"card-cell-label\">Nästa steg</span>Behåll det faktiska begärans-ID:t och det ursprungliga svaret. Läs den befintliga posten som du äger; skicka inte skapandebegäran igen.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Modellalias</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>Alias för metodsökvägar</h4><p class=\"note-s\">Använd metodsökvägarna som visas ovan.</p><h4>Relaterade anropar-ID:n</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": "JSON-kroppen eller det uttryckliga kanoniska modell-ID:t är ogiltigt.",
                "http_status": 400,
                "recovery": "Behåll svaret och korrigera det angivna fältet i begäran.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "API-nyckeln för Ailoot är ogiltig.",
                "http_status": 401,
                "recovery": "Använd din behöriga API-nyckel för Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Nyckelgruppen ger inte tillträde till denna metod.",
                "http_status": 403,
                "recovery": "Behåll de returnerade feluppgifterna.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Den valda metoden har ingen tillåten rutt.",
                "http_status": 404,
                "recovery": "Behåll de returnerade feluppgifterna.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Den accepterade tariffen kan inte fastställa den mängd eller gräns för indata som krävs.",
                "http_status": 422,
                "recovery": "Behåll svaret; använd den representation av indata som den accepterade tariffen kräver.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Nödvändig lagring, rutt, metodpris eller reservation är inte tillgänglig.",
                "http_status": 503,
                "recovery": "Behåll hela det ursprungliga svaret. En osäker reservation ger inte tillstånd att skicka in igen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Det ursprungliga resultatet, förbrukningen eller avräkningen kräver kontroll.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Behåll det faktiska begärans-ID:t och det ursprungliga svaret. Läs den befintliga posten som du äger; skicka inte skapandebegäran igen.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Behåll faktiskt X-Client-Request-ID och hela svaret. Läs de ursprungliga tillgångarna som du äger och deras exakta signerade innehållslänkar; skicka aldrig en osäker skapandebegäran igen."
            },
            "outputs": {
              "all_results": "Spara hela svaret med headers, samtliga faktiska resultat, de ursprungliga returnerade identifierarna och alla användningsfält. Hämta den ursprungliga operationen utan att skicka skapandeförfrågan igen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Hela den ursprungliga svarskroppen, statusen och vidarebefordrade svarshuvuden. Denna hanterare lägger inte till någon universell JSON-struktur, något textfält eller något uppgiftshölje."
            },
            "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": [
              "Exemplet läser din faktiska, icke-tomma PCM WAV-fil, kodar filens samtliga byte som base64 och skickar input_audio.format som wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "exakt task_id från en befintlig mediepost som du äger",
                "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": "Transkribering",
        "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": "2ffc55594994d3130e4edbfed8f9eabf8fbae5fe801267c2eefe7e9caa68f6f6",
    "input_html_sha256": "e540084b5d124c8e24f506ed15be85d3f916318e030dd1f80b13df3d6cf16841",
    "private_audit_sha256": "bc07f5f1ebfe80393ca3c1ee4009d54d58e3daa871ae01efa5bf591b7c0ad223",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sv/mistralai-voxtral-mini-transcribe/",
    "description": "Voxtral Mini Transcribe 2 omvandlar inspelningar till text med talarseparering, tidsstämplar på ordnivå och styrning med en ordlista. Mistral dokumenterar 13 språk och inspelningar på upp till tre timmar för den här transkriptionsinriktade utgåvan, skild från Voxtral Realtime.",
    "locale": "sv",
    "md_url": "https://ailoot.ai/models/sv/mistralai-voxtral-mini-transcribe/index.md",
    "title": "Mistral: Voxtral Mini Transcribe — Ailoot",
    "url": "https://ailoot.ai/models/sv/mistralai-voxtral-mini-transcribe/"
  },
  "rawModel": {
    "about": "Voxtral Mini Transcribe 2 är Mistral AI:s transkriptionsinriktade Voxtral-utgåva som identifieras i producentens modellkort som voxtral-mini-2602. Den är utformad för inspelningsbaserad batchtranskription snarare än den bredare frågesvarsrollen hos den ursprungliga modellen Voxtral Mini 3B. Indata är ljud och resultatet är transkriberad text, som valfritt kan berikas med talaretiketter och tidsinformation. Praktiska användningar omfattar mötestranskriptioner, intervjuanalys, samtalsprotokoll med flera deltagare och text synkroniserad med inspelade medier.\n\nTillverkaren dokumenterar talarseparering och start-/sluttider så att en transkription kan visa vem som talade och när. Tidsstämplar på ordnivå stöder undertexter, ljudsökning och koppling mellan ett textavsnitt och dess position i en inspelning. Producentens guide tillåter tidsstämplar på segment- eller ordnivå. För en intervju är en användbar leverans en följd av avsnitt med angiven talare och tider; vid förberedelse av undertexter kan ord- eller segmenttider vägleda ett senare textningssteg i stället för att tvinga fram en härledning av tiderna ur vanlig transkriptionstext.\n\nKontextstyrning accepterar upp till 100 ord eller fraser som vägleder modellen mot avsedd stavning av namn, tekniska termer och domänspecifikt ordförråd. Mistral anger att funktionen är optimerad för engelska och att stöd för andra språk är experimentellt. Förbered en fokuserad ordlista från inspelningens ämne i stället för en orelaterad ordlista. Ett eget exempel kan tillhandahålla projektnamn och specialisttermer som sannolikt förekommer i en teknisk diskussion och sedan kontrollera stavningen i den färdiga transkriptionen.\n\nDen här utgåvan stöder tretton språk: engelska, kinesiska, hindi, spanska, arabiska, franska, portugisiska, ryska, tyska, japanska, koreanska, italienska och nederländska. Tillverkaren dokumenterar också robusthet mot brus och inspelningar på upp till tre timmar i en enda begäran. Detta hör till Mini Transcribe 2:s inspelningsflöde; kontext- och längdangivelserna för den ursprungliga ljudförståelsemodellen 2507 beskriver en annan utgåva. Automatisk språkidentifiering finns, och guiden anger att ett uttryckligt angivet känt ljudspråk kan förbättra transkriptionsnoggrannheten.\n\nI det dokumenterade producentflödet kan ljud tillhandahållas som en uppladdad fil, en tidigare uppladdad filidentifierare eller en refererad inspelning. Den medföljande uppladdningsdemonstrationen accepterar inspelningar i MP3, WAV, M4A, FLAC och OGG; välj ett av dessa format för det demonstrerade uppladdningsflödet. Håll inspelningen avkodningsbar och inkludera det relevanta talet. För långt material bevarar du dess identifierare och tidsnollpunkt så att senare utdrag eller ändringar fortfarande kan spåras till källan.\n\nTranskriptionsreferensen returnerar texten och det identifierade språket, med segment när de begärs, och dokumenterar separat strömmade transkriptionshändelser. Talarseparering är valfri och har standardvärdet false. Guiden påpekar att timestamp_granularities och en uttrycklig språkinställning för närvarande inte är kompatibla, så välj önskat tidsflöde eller den manuella språkledtråden i stället för att kombinera dem. Transkription med talaretiketter, ordlistestyrning och tidsinformation bör väljas utifrån det avsedda resultatet snarare än förutsättas i en grundläggande begäran.\n\nÖverlappande tal är en innehållslig begränsning: Mistral anger att modellen vanligtvis transkriberar en talare när flera talar samtidigt. En transkription med talaretiketter ska därför inte behandlas som en uttömmande redogörelse för varje samtidigt yttrande. För ett mötesprotokoll granskar du svåra överlappningar och viktiga namn eller siffror mot inspelningen. Modellens syfte är transkription; en sammanfattning, översättning eller analys kan vara en separat uppgift byggd på transkriptionen. Voxtral Realtime har en separat latensprofil för livetranskription, medan talgenerering hör till andra modeller.\n\nFörbered resultatet för nästa användning. Ett mötesflöde kan bevara transkriptionen, talaretiketterna och tidsinformationen innan ett separat steg extraherar beslut; ett medieflöde kan använda tiderna för att lokalisera avsnitt och utarbeta undertexter; en terminologitung inspelning kan inkludera den fokuserade kontextstyrningslistan och en granskning av den resulterande stavningen. Den användbara leveransen är text knuten till sin källinspelning och konfigurerade metadata, med denna numrerade transkriptionsutgåva skild från den ursprungliga Mini-modellen och föränderliga latest-namn.",
    "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": "Fullständig prissättning för konfigurationen finns i detaljerna."
      }
    ],
    "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": "JSON-kroppen eller det uttryckliga kanoniska modell-ID:t är ogiltigt.",
                "http_status": 400,
                "recovery": "Behåll svaret och korrigera det angivna fältet i begäran.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "API-nyckeln för Ailoot är ogiltig.",
                "http_status": 401,
                "recovery": "Använd din behöriga API-nyckel för Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Nyckelgruppen ger inte tillträde till denna metod.",
                "http_status": 403,
                "recovery": "Behåll de returnerade feluppgifterna.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Den valda metoden har ingen tillåten rutt.",
                "http_status": 404,
                "recovery": "Behåll de returnerade feluppgifterna.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Den accepterade tariffen kan inte fastställa den mängd eller gräns för indata som krävs.",
                "http_status": 422,
                "recovery": "Behåll svaret; använd den representation av indata som den accepterade tariffen kräver.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Nödvändig lagring, rutt, metodpris eller reservation är inte tillgänglig.",
                "http_status": 503,
                "recovery": "Behåll hela det ursprungliga svaret. En osäker reservation ger inte tillstånd att skicka in igen.",
                "type": null
              },
              {
                "code": null,
                "condition": "Det ursprungliga resultatet, förbrukningen eller avräkningen kräver kontroll.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Behåll det faktiska begärans-ID:t och det ursprungliga svaret. Läs den befintliga posten som du äger; skicka inte skapandebegäran igen.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Behåll faktiskt X-Client-Request-ID och hela svaret. Läs de ursprungliga tillgångarna som du äger och deras exakta signerade innehållslänkar; skicka aldrig en osäker skapandebegäran igen."
            },
            "outputs": {
              "all_results": "Spara hela svaret med headers, samtliga faktiska resultat, de ursprungliga returnerade identifierarna och alla användningsfält. Hämta den ursprungliga operationen utan att skicka skapandeförfrågan igen.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Hela den ursprungliga svarskroppen, statusen och vidarebefordrade svarshuvuden. Denna hanterare lägger inte till någon universell JSON-struktur, något textfält eller något uppgiftshölje."
            },
            "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": [
              "Exemplet läser din faktiska, icke-tomma PCM WAV-fil, kodar filens samtliga byte som base64 och skickar input_audio.format som wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "exakt task_id från en befintlig mediepost som du äger",
                "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": "Transkribering",
        "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 omvandlar inspelningar till text med talarseparering, tidsstämplar på ordnivå och styrning med en ordlista. Mistral dokumenterar 13 språk och inspelningar på upp till tre timmar för den här transkriptionsinriktade utgåvan, skild från 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 omvandlar inspelningar till text med talarseparering, tidsstämplar på ordnivå och styrning med en ordlista. Mistral dokumenterar 13 språk och inspelningar på upp till tre timmar för den här transkriptionsinriktade utgåvan, skild från Voxtral Realtime.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "7db2265c2316f257742862c118ec5b61a15018a55bbd3dfc3c7d3be53aeb3c8b",
    "renderer_sha256": "8a45bb31b83d2551e6d975cf4683518c7cb445a54b9394a01947f4dd103f1051"
  },
  "sourceRevision": "e33dfb1312527936ed055046488a28d0a82702310bcdad18d736a12f326a3633"
}
