{
  "aboutHtml": "<p>Microsoft AI MAI-Transcribe 2 to edycja rozpoznawania mowy z nagrań w drugiej generacji rodziny transkrypcji Microsoft. Zamienia wypowiedzi na tekst pisany w 60 językach, z automatyczną identyfikacją języka i obsługą mowy przełączającej się między językami. Model dodaje diaryzację mówców, czasowanie na poziomie słów i wybieralne style transkrypcji. Użyteczne rezultaty obejmują transkrypcję spotkania z przypisaniem mówców, przeszukiwalny zapis wywiadu, dane wyrównania napisów lub sprawdzony tekst dyktowany zawierający terminologię specjalistyczną.</p><p>Przygotuj nagranie z zachowanym materiałem mówionym. Producent wymienia wejście WAV, MP3 i FLAC. Zachowuj oryginalne audio do porównywania niepewnych słów, nazw i liczb z rozpoznanym tekstem. Nagranie może zawierać szum tła lub zmienną jakość mikrofonu, z którymi model ma sobie radzić, ale kontrola nadal powinna skupiać się na niejasnych lub nakładających się fragmentach. Przy wywiadzie zachowuj kolejność tur i pauz, zamiast usuwać kontekst pomagający interpretować odpowiedź.</p><p>Automatyczne wykrywanie języka przydaje się, gdy język nie jest znany z góry. Udokumentowany zestaw 60 języków obejmuje angielski, rosyjski, chiński, japoński, koreański, arabski, francuski, niemiecki, hiszpański, indonezyjski, malajski, tajski i wietnamski. Przełączanie języków obejmuje naturalne zmiany między nimi, w tym mieszanki takie jak Hinglish czy Spanglish. Interfejs producenta przyjmuje także pojedynczą wskazówkę językową, którą opisuje jako silną instrukcję. Stosuj ją tylko wtedy, gdy nagranie jest rzeczywiście w określonym języku, zamiast wymuszać jeden oczekiwany język w rozmowie wielojęzycznej.</p><p>Wskazówki słów kluczowych dostarczają terminów dziedzinowych, skrótów, nazw produktów i nazw własnych, które inaczej mogłyby być trudne do rozróżnienia na podstawie dźwięku. Przygotuj skoncentrowaną listę związaną z nagraniem, na przykład nazwę projektu, linię produktów lub terminy techniczne używane w dyskusji. Przewodnik obsługi opisuje je jako wskazówki rozpoznawania, a nie wymuszone dopasowania. Dla wykładu technicznego dołącz dokładną pisownię nazwanych przyrządów i terminów specjalistycznych, a potem sprawdź, czy transkrypcja umieszcza je tam, gdzie rzeczywiście zostały wypowiedziane. Dostarczony termin nie jest dowodem jego użycia przez mówcę.</p><p>Wybierz styl wyjścia według zamierzonego rezultatu. Verbatim, udokumentowany styl domyślny, zachowuje wypełniacze, nieudane początki wypowiedzi i samopoprawki. Clean usuwa niepłynności, tworząc czytelniejszą transkrypcję. Zapis służący badaniu przebiegu rozmowy może zachowywać zawahania i poprawki; czytelna transkrypcja lekcji może używać oczyszczonego brzmienia. Zachowuj oryginalne audio przy obu wynikach. Oczyszczanie poprawia prezentację tekstu mówionego i nie powinno być traktowane jako osobne streszczenie ani nowa interpretacja intencji mówcy.</p><p>Diaryzacja mówców rozdziela tury według wykrytego mówcy, a znaczniki czasu na poziomie słów dostarczają przesunięcia i czasu trwania każdego słowa. Interfejs obsługi oferuje również czasowanie segmentów lub brak czasowania. Segmenty dzielone są według języka, a przy włączonej diaryzacji także według mówcy. Pola czasowe używają milisekund i mogą wspierać nawigację, wyszukiwanie i edycję. Oznaczenia rozróżniają wykrytych mówców; powiązanie oznaczenia z imieniem uczestnika jest osobnym etapem weryfikacji. Dla napisów wykorzystuj sprawdzone czasy słów do przygotowania czytelnych grup kwestii, zamiast zakładać, że wynik rozpoznawania jest już gotowym plikiem napisów.</p><p>Karta modelu podaje maksymalny rozmiar pliku 300 MB i dwie godziny. Powiązana synchroniczna referencja REST dla udokumentowanego interfejsu 2025-10-15 wymaga natomiast pliku mniejszego niż 250 MB i krótszego niż dwie godziny. Są to odrębne opublikowane ograniczenia karty modelu i obsługi; przygotuj plik mieszczący się w obowiązującym limicie interfejsu. Przewodnik MAI podaje również, że diaryzacja obsługuje krótsze nagrania niż transkrypcja bez diaryzacji. Długi materiał z wieloma mówcami porządkuj w spójne sekcje, gdy potrzebne jest przypisanie mówców, i zachowuj pozycję sekcji w oryginalnym nagraniu do późniejszej kontroli.</p><p>Udokumentowane wyjście to strukturalne dane transkrypcji: pełny tekst, frazy i, na żądanie, informacje o mówcach oraz czasowaniu. Fraza może zawierać tekst, język, przesunięcie i czas trwania; czasowanie słów może wiązać rozpoznane słowo z dźwiękiem. Dla przeszukiwalnego archiwum zachowuj te zależności, aby znaleziony termin prowadził z powrotem do nagrania. W procesie spotkania sprawdzona transkrypcja staje się wejściem do późniejszego streszczania lub ekstrakcji działań do wykonania. Wynikiem modelu mowy jest rozpoznana treść, a nie niezależnie zweryfikowany zapis decyzji spotkania.</p><p>Rozróżnienie wersji jest konkretne. MAI-Transcribe 1.5 obejmuje 43 języki, natomiast ta edycja obejmuje 60 i dodaje udokumentowane ustawienia diaryzacji, znaczników czasu słów oraz clean/verbatim. MAI-Transcribe 2 Streaming to odrębny model do przyrostowej transkrypcji w czasie rzeczywistym z własnym zestawem funkcji; jego opóźnienie pierwszego wyniku częściowego nie opisuje tej edycji do nagrań. Sprawdzaj transkrypcję względem audio pod kątem nazw, liczb, tur mówców i fragmentów mieszających języki przed użyciem jej jako źródła napisów, cytatów lub dokumentu pochodnego.</p>",
  "aboutText": "Microsoft AI MAI-Transcribe 2 to edycja rozpoznawania mowy z nagrań w drugiej generacji rodziny transkrypcji Microsoft. Zamienia wypowiedzi na tekst pisany w 60 językach, z automatyczną identyfikacją języka i obsługą mowy przełączającej się między językami. Model dodaje diaryzację mówców, czasowanie na poziomie słów i wybieralne style transkrypcji. Użyteczne rezultaty obejmują transkrypcję spotkania z przypisaniem mówców, przeszukiwalny zapis wywiadu, dane wyrównania napisów lub sprawdzony tekst dyktowany zawierający terminologię specjalistyczną.\n\nPrzygotuj nagranie z zachowanym materiałem mówionym. Producent wymienia wejście WAV, MP3 i FLAC. Zachowuj oryginalne audio do porównywania niepewnych słów, nazw i liczb z rozpoznanym tekstem. Nagranie może zawierać szum tła lub zmienną jakość mikrofonu, z którymi model ma sobie radzić, ale kontrola nadal powinna skupiać się na niejasnych lub nakładających się fragmentach. Przy wywiadzie zachowuj kolejność tur i pauz, zamiast usuwać kontekst pomagający interpretować odpowiedź.\n\nAutomatyczne wykrywanie języka przydaje się, gdy język nie jest znany z góry. Udokumentowany zestaw 60 języków obejmuje angielski, rosyjski, chiński, japoński, koreański, arabski, francuski, niemiecki, hiszpański, indonezyjski, malajski, tajski i wietnamski. Przełączanie języków obejmuje naturalne zmiany między nimi, w tym mieszanki takie jak Hinglish czy Spanglish. Interfejs producenta przyjmuje także pojedynczą wskazówkę językową, którą opisuje jako silną instrukcję. Stosuj ją tylko wtedy, gdy nagranie jest rzeczywiście w określonym języku, zamiast wymuszać jeden oczekiwany język w rozmowie wielojęzycznej.\n\nWskazówki słów kluczowych dostarczają terminów dziedzinowych, skrótów, nazw produktów i nazw własnych, które inaczej mogłyby być trudne do rozróżnienia na podstawie dźwięku. Przygotuj skoncentrowaną listę związaną z nagraniem, na przykład nazwę projektu, linię produktów lub terminy techniczne używane w dyskusji. Przewodnik obsługi opisuje je jako wskazówki rozpoznawania, a nie wymuszone dopasowania. Dla wykładu technicznego dołącz dokładną pisownię nazwanych przyrządów i terminów specjalistycznych, a potem sprawdź, czy transkrypcja umieszcza je tam, gdzie rzeczywiście zostały wypowiedziane. Dostarczony termin nie jest dowodem jego użycia przez mówcę.\n\nWybierz styl wyjścia według zamierzonego rezultatu. Verbatim, udokumentowany styl domyślny, zachowuje wypełniacze, nieudane początki wypowiedzi i samopoprawki. Clean usuwa niepłynności, tworząc czytelniejszą transkrypcję. Zapis służący badaniu przebiegu rozmowy może zachowywać zawahania i poprawki; czytelna transkrypcja lekcji może używać oczyszczonego brzmienia. Zachowuj oryginalne audio przy obu wynikach. Oczyszczanie poprawia prezentację tekstu mówionego i nie powinno być traktowane jako osobne streszczenie ani nowa interpretacja intencji mówcy.\n\nDiaryzacja mówców rozdziela tury według wykrytego mówcy, a znaczniki czasu na poziomie słów dostarczają przesunięcia i czasu trwania każdego słowa. Interfejs obsługi oferuje również czasowanie segmentów lub brak czasowania. Segmenty dzielone są według języka, a przy włączonej diaryzacji także według mówcy. Pola czasowe używają milisekund i mogą wspierać nawigację, wyszukiwanie i edycję. Oznaczenia rozróżniają wykrytych mówców; powiązanie oznaczenia z imieniem uczestnika jest osobnym etapem weryfikacji. Dla napisów wykorzystuj sprawdzone czasy słów do przygotowania czytelnych grup kwestii, zamiast zakładać, że wynik rozpoznawania jest już gotowym plikiem napisów.\n\nKarta modelu podaje maksymalny rozmiar pliku 300 MB i dwie godziny. Powiązana synchroniczna referencja REST dla udokumentowanego interfejsu 2025-10-15 wymaga natomiast pliku mniejszego niż 250 MB i krótszego niż dwie godziny. Są to odrębne opublikowane ograniczenia karty modelu i obsługi; przygotuj plik mieszczący się w obowiązującym limicie interfejsu. Przewodnik MAI podaje również, że diaryzacja obsługuje krótsze nagrania niż transkrypcja bez diaryzacji. Długi materiał z wieloma mówcami porządkuj w spójne sekcje, gdy potrzebne jest przypisanie mówców, i zachowuj pozycję sekcji w oryginalnym nagraniu do późniejszej kontroli.\n\nUdokumentowane wyjście to strukturalne dane transkrypcji: pełny tekst, frazy i, na żądanie, informacje o mówcach oraz czasowaniu. Fraza może zawierać tekst, język, przesunięcie i czas trwania; czasowanie słów może wiązać rozpoznane słowo z dźwiękiem. Dla przeszukiwalnego archiwum zachowuj te zależności, aby znaleziony termin prowadził z powrotem do nagrania. W procesie spotkania sprawdzona transkrypcja staje się wejściem do późniejszego streszczania lub ekstrakcji działań do wykonania. Wynikiem modelu mowy jest rozpoznana treść, a nie niezależnie zweryfikowany zapis decyzji spotkania.\n\nRozróżnienie wersji jest konkretne. MAI-Transcribe 1.5 obejmuje 43 języki, natomiast ta edycja obejmuje 60 i dodaje udokumentowane ustawienia diaryzacji, znaczników czasu słów oraz clean/verbatim. MAI-Transcribe 2 Streaming to odrębny model do przyrostowej transkrypcji w czasie rzeczywistym z własnym zestawem funkcji; jego opóźnienie pierwszego wyniku częściowego nie opisuje tej edycji do nagrań. Sprawdzaj transkrypcję względem audio pod kątem nazw, liczb, tur mówców i fragmentów mieszających języki przed użyciem jej jako źródła napisów, cytatów lub dokumentu pochodnego.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "014684042026562a14c5201614a71605bff272a37b2ea6c6f9abe87f7d361a6b",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "pl",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Microsoft AI: MAI-Transcribe 2</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zamknij\">×</button></div><div class=\"idline\"><span>Microsoft AI /</span><code>microsoft/mai-transcribe-2</code><button type=\"button\" id=\"copy-id\">Kopiuj ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Sekcje karty modelu\"><button type=\"button\" data-card-jump=\"overview\">Start</button><button type=\"button\" data-card-jump=\"methods\">Dane wejściowe i metody</button><button type=\"button\" data-card-jump=\"pricing\">Cennik</button><button type=\"button\" data-card-jump=\"examples\">Przykłady</button><button type=\"button\" data-card-jump=\"results\">Wyniki</button><button type=\"button\" data-card-jump=\"aliases\">Aliasy</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metody API\"><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|microsoft%2Fmai-transcribe-2\">Rozpoznawanie</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\">Microsoft AI MAI-Transcribe 2 zamienia nagraną mowę na tekst w 60 językach, z automatyczną identyfikacją języka i obsługą przełączania języków. Dodaje diaryzację mówców, czasowanie słów, wskazówki słów kluczowych oraz styl oczyszczony lub dosłowny do zapisów spotkań, napisów, przeszukiwalnego audio i specjalistycznego dyktowania.</p><dl class=\"card-io\" data-card-io><div><dt>Akceptowane dane wejściowe</dt><dd>Audio</dd></div><div><dt>Wyniki</dt><dd>Tekst</dd></div></dl><details class=\"card-about\"><summary>O modelu</summary><p class=\"note-s\" data-model-method-boundary>Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.</p><div class=\"mabout\" id=\"m-about\"><p>Microsoft AI MAI-Transcribe 2 to edycja rozpoznawania mowy z nagrań w drugiej generacji rodziny transkrypcji Microsoft. Zamienia wypowiedzi na tekst pisany w 60 językach, z automatyczną identyfikacją języka i obsługą mowy przełączającej się między językami. Model dodaje diaryzację mówców, czasowanie na poziomie słów i wybieralne style transkrypcji. Użyteczne rezultaty obejmują transkrypcję spotkania z przypisaniem mówców, przeszukiwalny zapis wywiadu, dane wyrównania napisów lub sprawdzony tekst dyktowany zawierający terminologię specjalistyczną.</p><p>Przygotuj nagranie z zachowanym materiałem mówionym. Producent wymienia wejście WAV, MP3 i FLAC. Zachowuj oryginalne audio do porównywania niepewnych słów, nazw i liczb z rozpoznanym tekstem. Nagranie może zawierać szum tła lub zmienną jakość mikrofonu, z którymi model ma sobie radzić, ale kontrola nadal powinna skupiać się na niejasnych lub nakładających się fragmentach. Przy wywiadzie zachowuj kolejność tur i pauz, zamiast usuwać kontekst pomagający interpretować odpowiedź.</p><p>Automatyczne wykrywanie języka przydaje się, gdy język nie jest znany z góry. Udokumentowany zestaw 60 języków obejmuje angielski, rosyjski, chiński, japoński, koreański, arabski, francuski, niemiecki, hiszpański, indonezyjski, malajski, tajski i wietnamski. Przełączanie języków obejmuje naturalne zmiany między nimi, w tym mieszanki takie jak Hinglish czy Spanglish. Interfejs producenta przyjmuje także pojedynczą wskazówkę językową, którą opisuje jako silną instrukcję. Stosuj ją tylko wtedy, gdy nagranie jest rzeczywiście w określonym języku, zamiast wymuszać jeden oczekiwany język w rozmowie wielojęzycznej.</p><p>Wskazówki słów kluczowych dostarczają terminów dziedzinowych, skrótów, nazw produktów i nazw własnych, które inaczej mogłyby być trudne do rozróżnienia na podstawie dźwięku. Przygotuj skoncentrowaną listę związaną z nagraniem, na przykład nazwę projektu, linię produktów lub terminy techniczne używane w dyskusji. Przewodnik obsługi opisuje je jako wskazówki rozpoznawania, a nie wymuszone dopasowania. Dla wykładu technicznego dołącz dokładną pisownię nazwanych przyrządów i terminów specjalistycznych, a potem sprawdź, czy transkrypcja umieszcza je tam, gdzie rzeczywiście zostały wypowiedziane. Dostarczony termin nie jest dowodem jego użycia przez mówcę.</p><p>Wybierz styl wyjścia według zamierzonego rezultatu. Verbatim, udokumentowany styl domyślny, zachowuje wypełniacze, nieudane początki wypowiedzi i samopoprawki. Clean usuwa niepłynności, tworząc czytelniejszą transkrypcję. Zapis służący badaniu przebiegu rozmowy może zachowywać zawahania i poprawki; czytelna transkrypcja lekcji może używać oczyszczonego brzmienia. Zachowuj oryginalne audio przy obu wynikach. Oczyszczanie poprawia prezentację tekstu mówionego i nie powinno być traktowane jako osobne streszczenie ani nowa interpretacja intencji mówcy.</p><p>Diaryzacja mówców rozdziela tury według wykrytego mówcy, a znaczniki czasu na poziomie słów dostarczają przesunięcia i czasu trwania każdego słowa. Interfejs obsługi oferuje również czasowanie segmentów lub brak czasowania. Segmenty dzielone są według języka, a przy włączonej diaryzacji także według mówcy. Pola czasowe używają milisekund i mogą wspierać nawigację, wyszukiwanie i edycję. Oznaczenia rozróżniają wykrytych mówców; powiązanie oznaczenia z imieniem uczestnika jest osobnym etapem weryfikacji. Dla napisów wykorzystuj sprawdzone czasy słów do przygotowania czytelnych grup kwestii, zamiast zakładać, że wynik rozpoznawania jest już gotowym plikiem napisów.</p><p>Karta modelu podaje maksymalny rozmiar pliku 300 MB i dwie godziny. Powiązana synchroniczna referencja REST dla udokumentowanego interfejsu 2025-10-15 wymaga natomiast pliku mniejszego niż 250 MB i krótszego niż dwie godziny. Są to odrębne opublikowane ograniczenia karty modelu i obsługi; przygotuj plik mieszczący się w obowiązującym limicie interfejsu. Przewodnik MAI podaje również, że diaryzacja obsługuje krótsze nagrania niż transkrypcja bez diaryzacji. Długi materiał z wieloma mówcami porządkuj w spójne sekcje, gdy potrzebne jest przypisanie mówców, i zachowuj pozycję sekcji w oryginalnym nagraniu do późniejszej kontroli.</p><p>Udokumentowane wyjście to strukturalne dane transkrypcji: pełny tekst, frazy i, na żądanie, informacje o mówcach oraz czasowaniu. Fraza może zawierać tekst, język, przesunięcie i czas trwania; czasowanie słów może wiązać rozpoznane słowo z dźwiękiem. Dla przeszukiwalnego archiwum zachowuj te zależności, aby znaleziony termin prowadził z powrotem do nagrania. W procesie spotkania sprawdzona transkrypcja staje się wejściem do późniejszego streszczania lub ekstrakcji działań do wykonania. Wynikiem modelu mowy jest rozpoznana treść, a nie niezależnie zweryfikowany zapis decyzji spotkania.</p><p>Rozróżnienie wersji jest konkretne. MAI-Transcribe 1.5 obejmuje 43 języki, natomiast ta edycja obejmuje 60 i dodaje udokumentowane ustawienia diaryzacji, znaczników czasu słów oraz clean/verbatim. MAI-Transcribe 2 Streaming to odrębny model do przyrostowej transkrypcji w czasie rzeczywistym z własnym zestawem funkcji; jego opóźnienie pierwszego wyniku częściowego nie opisuje tej edycji do nagrań. Sprawdzaj transkrypcję względem audio pod kątem nazw, liczb, tur mówców i fragmentów mieszających języki przed użyciem jej jako źródła napisów, cytatów lub dokumentu pochodnego.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Dostępne w Ailoot · dane wejściowe i metody</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Transkrypcja</b> <code>POST /v1/audio/transcriptions</code></summary><dl class=\"method-capabilities\"><div><dt>Wejście</dt><dd><code>audio</code></dd></div><div><dt>Wyjście</dt><dd><code>text</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Pole</th><th>Typ</th><th>Wymaganie</th><th>Wartości i limity</th><th>Domyślnie</th></tr></thead><tbody><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</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=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Wymagane</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>microsoft/mai-transcribe-2</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</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=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Wymagane</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">language</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=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>number</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>Minimum: 0</div><div>Maksimum: 1</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">response_format</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=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>json, verbose_json</div></td><td data-cell-label=\"Domyślnie\" data-default=\"known\"><span class=\"card-cell-label\">Domyślnie</span>json</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">timestamp_granularities</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>array</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">provider</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=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parametry i cykl życia metody</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Kontrakt</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>model, input_audio</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_types</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>audio</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_conditions</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>Odczytaj rzeczywisty plik WAV i zakoduj jego prawdziwe bajty dla zadeklarowanego wejścia JSON input_audio; dla tej konkretnej deklaracji obsługującej wyłącznie JSON nie deklaruje się ścieżki multipart.</td></tr></tbody></table></div><p>Cykl życia: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Rzeczywiście zwrócony task_id lub wpis w bibliotece multimediów</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\">Cennik</h3><div class=\"card-result-process\" data-billing-basis><h5>Jak obliczana jest ostateczna opłata</h5><p class=\"note-s\">Wyświetlane stawki służą do oszacowania kosztu przed generowaniem. Ostateczna opłata jest obliczana na podstawie kosztu zarejestrowanego dla pierwotnego generowania. Zmierzony czas trwania wyniku i prognozowane ilości nie stanowią ostatecznej ilości podlegającej rozliczeniu.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.</p><dl data-price-conditions><dt>Tryb szybki</dt><dd>Nie określono <span class=\"note-s\">Gdy wybrany jest tryb szybki</span></dd><dt>Tryb flex</dt><dd>Nie określono <span class=\"note-s\">Gdy wybrany jest tryb flex</span></dd><dt>Maksymalna intensywność rozumowania</dt><dd>Nie określono <span class=\"note-s\">Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Szacunkowe stawki do porównania</h4><h4>Ceny według konfiguracji</h4><p class=\"note-s\">Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfiguracja</th><th>Tabela stawek</th><th>Przewidywana ilość</th><th>Jednostka rozliczeniowa</th><th>Opłata</th></tr></thead><tbody><tr><th data-cell-label=\"Konfiguracja\" scope=\"row\"><span class=\"card-cell-label\">Konfiguracja</span>Bazowe stawki za tokeny</th><td data-cell-label=\"Tabela stawek\"><span class=\"card-cell-label\">Tabela stawek</span>Stawka podstawowa</td><td data-cell-label=\"Przewidywana ilość\"><span class=\"card-cell-label\">Przewidywana ilość</span>—</td><td data-cell-label=\"Jednostka rozliczeniowa\"><span class=\"card-cell-label\">Jednostka rozliczeniowa</span>—</td><td data-cell-label=\"Opłata\"><span class=\"card-cell-label\">Opłata</span><div><span>Wejście · Tokeny wejściowe · Szacunek tylko do porównania</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wyjście · Tokeny wyjściowe · Szacunek tylko do porównania</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Odczyt cache · Szacunek tylko do porównania</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Zapis do cache · Szacunek tylko do porównania</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Zapis do cache, 1 godz. · Szacunek tylko do porównania</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div></td></tr><tr><th data-cell-label=\"Konfiguracja\" scope=\"row\"><span class=\"card-cell-label\">Konfiguracja</span>godzina wejściowego audio</th><td data-cell-label=\"Tabela stawek\"><span class=\"card-cell-label\">Tabela stawek</span>—</td><td data-cell-label=\"Przewidywana ilość\"><span class=\"card-cell-label\">Przewidywana ilość</span>—</td><td data-cell-label=\"Jednostka rozliczeniowa\"><span class=\"card-cell-label\">Jednostka rozliczeniowa</span>za godzinę dźwięku wejściowego</td><td data-cell-label=\"Opłata\"><span class=\"card-cell-label\">Opłata</span><div><span>Wejście · godzina wejściowego audio · Szacunek tylko do porównania</span> <b>$0.2</b> <span class=\"price-unit\">za godzinę dźwięku wejściowego</span></div></td></tr><tr><th data-cell-label=\"Konfiguracja\" scope=\"row\"><span class=\"card-cell-label\">Konfiguracja</span>Szacowany koszt generowania</th><td data-cell-label=\"Tabela stawek\"><span class=\"card-cell-label\">Tabela stawek</span>—</td><td data-cell-label=\"Przewidywana ilość\"><span class=\"card-cell-label\">Przewidywana ilość</span>szacunek dla jednego generowania</td><td data-cell-label=\"Jednostka rozliczeniowa\"><span class=\"card-cell-label\">Jednostka rozliczeniowa</span>—</td><td data-cell-label=\"Opłata\"><span class=\"card-cell-label\">Opłata</span><div><span>Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania</span> <b>$0.00005555555555555556</b> <span class=\"price-unit\">szacunek przed generowaniem</span></div><p class=\"note-s\">Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. <a href=\"/docs/pl/billing/reserve/\">Jak działają rezerwacja i rozliczenie →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Przykładowe żądania</h3><h4>Ailoot Ultra · Transkrypcja</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Warianty kodu\"><button class=\"cg-tab\" id=\"model-code-1847-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1847-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · natywna treść żądania w dokładnej postaci i kompletny wynik</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiuj 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-1847-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1847-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 WAV recording}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nimport base64\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;): raise SystemExit(&#39;Supply an actual WAV audio file&#39;)\nif len(audio)&gt;26214400: raise SystemExit(&#39;Use a documented supported large-file flow&#39;)\nrequest={&#39;model&#39;: &#39;microsoft/mai-transcribe-2&#39;, &#39;input_audio&#39;: {&#39;data&#39;: &#39;${BASE64_ACTUAL_WAV_BYTES}&#39;, &#39;format&#39;: &#39;wav&#39;}}\nrequest[&#39;input_audio&#39;][&#39;data&#39;]=base64.b64encode(audio).decode(&#39;ascii&#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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Odbieranie i zapisywanie wyników</h3><h4>Ailoot Ultra · Transkrypcja</h4><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><details class=\"card-about\"><summary>Inne odczyty treści</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Warianty kodu\"><button class=\"cg-tab\" id=\"model-code-1848-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1848-panel-0\" aria-selected=\"true\" tabindex=\"0\">Odczytaj istniejące zasoby należące do Ciebie</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiuj 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-1848-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1848-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Zachowaj wszystkie ukończone wyniki</h5><p class=\"note-s\">Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.</p><p class=\"note-s\">Zachowaj pełną odpowiedź i nagłówki, wszystkie rzeczywiście uzyskane wyniki, pierwotnie zwrócone identyfikatory oraz wszystkie pola zużycia. Odzyskaj pierwotną operację bez ponownego wysyłania żądania utworzenia.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jeśli trzeba sprawdzić pierwotną odpowiedź</h5><p class=\"note-s\">Zachowaj zwrócony X-Client-Request-ID do uzgodnienia danych. Odczytuj wyłącznie rzeczywiście zwrócone wartości task_id/asset_id lub własną bibliotekę multimediów; nigdy nie buduj adresu URL zadania na podstawie identyfikatora operacji i nigdy nie wysyłaj ponownie żądania utworzenia.</p></div><details class=\"card-about\" data-output-fields><summary>Pola odpowiedzi</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Pole</th><th>Typ</th></tr></thead><tbody><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">text</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">segments[]</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">words[]</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">speaker fields</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">timestamps</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasy</h3><h4>Aliasy modelu</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=microsoft%2Fmai-transcribe-2&amp;route=Ultra&amp;caller=microsoft%2Fmai-transcribe-2&amp;fmt=transcriptions\"><code>microsoft/mai-transcribe-2</code></a></span></p><h4>Aliasy ścieżek metod</h4><p class=\"note-s\">Użyj ścieżek metod podanych powyżej.</p><h4>Powiązane ID modeli</h4><p class=\"note-s\"><a href=\"#m=microsoft%2Fmai-transcribe-2&amp;route=Ultra&amp;caller=microsoft%2Fmai-transcribe-2&amp;fmt=transcriptions\"><code>microsoft/mai-transcribe-2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "microsoft/mai-transcribe-2",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "microsoft/mai-transcribe-2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|microsoft%2Fmai-transcribe-2",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Wyświetlane stawki służą do oszacowania kosztu przed generowaniem. Ostateczna opłata jest obliczana na podstawie kosztu zarejestrowanego dla pierwotnego generowania. Zmierzony czas trwania wyniku i prognozowane ilości nie stanowią ostatecznej ilości podlegającej rozliczeniu.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "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.",
            "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 URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Zachowaj zwrócony X-Client-Request-ID do uzgodnienia danych. Odczytuj wyłącznie rzeczywiście zwrócone wartości task_id/asset_id lub własną bibliotekę multimediów; nigdy nie buduj adresu URL zadania na podstawie identyfikatora operacji i nigdy nie wysyłaj ponownie żądania utworzenia."
            },
            "outputs": {
              "all_results": "Zachowaj pełną odpowiedź i nagłówki, wszystkie rzeczywiście uzyskane wyniki, pierwotnie zwrócone identyfikatory oraz wszystkie pola zużycia. Odzyskaj pierwotną operację bez ponownego wysyłania żądania utworzenia.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                },
                {
                  "description": null,
                  "name": "segments[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "words[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "speaker fields",
                  "type": null
                },
                {
                  "description": null,
                  "name": "timestamps",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "microsoft/mai-transcribe-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default": "json",
                "default_known": true,
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "enum": [
                        "wav",
                        "mp3",
                        "flac",
                        "m4a",
                        "ogg",
                        "webm",
                        "aac"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "language": {
                  "description": "ISO-639-1 code; omitted means auto-detection",
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "microsoft/mai-transcribe-2"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "json",
                  "description": "verbose_json requires exact model/provider support",
                  "enum": [
                    "json",
                    "verbose_json"
                  ],
                  "type": "string"
                },
                "temperature": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "timestamp_granularities": {
                  "description": "Only used with supported verbose_json",
                  "items": {
                    "enum": [
                      "segment",
                      "word"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "microsoft/mai-transcribe-2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Odczytaj rzeczywisty plik WAV i zakoduj jego prawdziwe bajty dla zadeklarowanego wejścia JSON input_audio; dla tej konkretnej deklaracji obsługującej wyłącznie JSON nie deklaruje się ścieżki multipart."
            ],
            "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 URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Rzeczywiście zwrócony task_id lub wpis w bibliotece multimediów",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit 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",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              },
              {
                "description": null,
                "name": "segments[]",
                "type": null
              },
              {
                "description": null,
                "name": "words[]",
                "type": null
              },
              {
                "description": null,
                "name": "speaker fields",
                "type": null
              },
              {
                "description": null,
                "name": "timestamps",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio hour"
            },
            "label": "input audio hour",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "stt_hour",
                "label": "input audio hour",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per input audio hour",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "stt_hour"
              }
            ]
          },
          {
            "basis": "Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Szacowany koszt generowania",
            "units": [
              {
                "amount": "0.00005555555555555556",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.00005555555555555556",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual WAV recording}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')\nif len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')\nrequest={'model': 'microsoft/mai-transcribe-2', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}\nrequest['input_audio']['data']=base64.b64encode(audio).decode('ascii')\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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "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": "Transkrypcja",
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio hour"
            },
            "label": "input audio hour",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "stt_hour",
                "label": "input audio hour",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per input audio hour",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "stt_hour"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.00005555555555555556",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.00005555555555555556",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "microsoft/mai-transcribe-2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "stt_hour",
            "label": "input audio hour",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "per input audio hour",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "stt_hour"
          },
          {
            "amount": "0.00005555555555555556",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.00005555555555555556",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "microsoft/mai-transcribe-2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "6eb574ad10e11b603f86210e6d71085d91a3f0ddc5d3dbede1b407817d2da831",
    "input_html_sha256": "1959eb04f65e2c5085ffdd992ef8f03b7f19f53e471c18275c0771d61f8946ce",
    "private_audit_sha256": "f5a3d2a5d87abdd24fbb9b80bc574b9d53e022edcc66a230e59df211c41d5901",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pl/microsoft-mai-transcribe-2/",
    "description": "Microsoft AI MAI-Transcribe 2 zamienia nagraną mowę na tekst w 60 językach, z automatyczną identyfikacją języka i obsługą przełączania języków. Dodaje diaryzację mówców, czasowanie słów, wskazówki słów kluczowych oraz styl oczyszczony lub dosłowny do zapisów spotkań, napisów, przeszukiwalnego audio i specjalistycznego dyktowania.",
    "locale": "pl",
    "md_url": "https://ailoot.ai/models/pl/microsoft-mai-transcribe-2/index.md",
    "title": "Microsoft AI: MAI-Transcribe 2 — Ailoot",
    "url": "https://ailoot.ai/models/pl/microsoft-mai-transcribe-2/"
  },
  "rawModel": {
    "about": "Microsoft AI MAI-Transcribe 2 to edycja rozpoznawania mowy z nagrań w drugiej generacji rodziny transkrypcji Microsoft. Zamienia wypowiedzi na tekst pisany w 60 językach, z automatyczną identyfikacją języka i obsługą mowy przełączającej się między językami. Model dodaje diaryzację mówców, czasowanie na poziomie słów i wybieralne style transkrypcji. Użyteczne rezultaty obejmują transkrypcję spotkania z przypisaniem mówców, przeszukiwalny zapis wywiadu, dane wyrównania napisów lub sprawdzony tekst dyktowany zawierający terminologię specjalistyczną.\n\nPrzygotuj nagranie z zachowanym materiałem mówionym. Producent wymienia wejście WAV, MP3 i FLAC. Zachowuj oryginalne audio do porównywania niepewnych słów, nazw i liczb z rozpoznanym tekstem. Nagranie może zawierać szum tła lub zmienną jakość mikrofonu, z którymi model ma sobie radzić, ale kontrola nadal powinna skupiać się na niejasnych lub nakładających się fragmentach. Przy wywiadzie zachowuj kolejność tur i pauz, zamiast usuwać kontekst pomagający interpretować odpowiedź.\n\nAutomatyczne wykrywanie języka przydaje się, gdy język nie jest znany z góry. Udokumentowany zestaw 60 języków obejmuje angielski, rosyjski, chiński, japoński, koreański, arabski, francuski, niemiecki, hiszpański, indonezyjski, malajski, tajski i wietnamski. Przełączanie języków obejmuje naturalne zmiany między nimi, w tym mieszanki takie jak Hinglish czy Spanglish. Interfejs producenta przyjmuje także pojedynczą wskazówkę językową, którą opisuje jako silną instrukcję. Stosuj ją tylko wtedy, gdy nagranie jest rzeczywiście w określonym języku, zamiast wymuszać jeden oczekiwany język w rozmowie wielojęzycznej.\n\nWskazówki słów kluczowych dostarczają terminów dziedzinowych, skrótów, nazw produktów i nazw własnych, które inaczej mogłyby być trudne do rozróżnienia na podstawie dźwięku. Przygotuj skoncentrowaną listę związaną z nagraniem, na przykład nazwę projektu, linię produktów lub terminy techniczne używane w dyskusji. Przewodnik obsługi opisuje je jako wskazówki rozpoznawania, a nie wymuszone dopasowania. Dla wykładu technicznego dołącz dokładną pisownię nazwanych przyrządów i terminów specjalistycznych, a potem sprawdź, czy transkrypcja umieszcza je tam, gdzie rzeczywiście zostały wypowiedziane. Dostarczony termin nie jest dowodem jego użycia przez mówcę.\n\nWybierz styl wyjścia według zamierzonego rezultatu. Verbatim, udokumentowany styl domyślny, zachowuje wypełniacze, nieudane początki wypowiedzi i samopoprawki. Clean usuwa niepłynności, tworząc czytelniejszą transkrypcję. Zapis służący badaniu przebiegu rozmowy może zachowywać zawahania i poprawki; czytelna transkrypcja lekcji może używać oczyszczonego brzmienia. Zachowuj oryginalne audio przy obu wynikach. Oczyszczanie poprawia prezentację tekstu mówionego i nie powinno być traktowane jako osobne streszczenie ani nowa interpretacja intencji mówcy.\n\nDiaryzacja mówców rozdziela tury według wykrytego mówcy, a znaczniki czasu na poziomie słów dostarczają przesunięcia i czasu trwania każdego słowa. Interfejs obsługi oferuje również czasowanie segmentów lub brak czasowania. Segmenty dzielone są według języka, a przy włączonej diaryzacji także według mówcy. Pola czasowe używają milisekund i mogą wspierać nawigację, wyszukiwanie i edycję. Oznaczenia rozróżniają wykrytych mówców; powiązanie oznaczenia z imieniem uczestnika jest osobnym etapem weryfikacji. Dla napisów wykorzystuj sprawdzone czasy słów do przygotowania czytelnych grup kwestii, zamiast zakładać, że wynik rozpoznawania jest już gotowym plikiem napisów.\n\nKarta modelu podaje maksymalny rozmiar pliku 300 MB i dwie godziny. Powiązana synchroniczna referencja REST dla udokumentowanego interfejsu 2025-10-15 wymaga natomiast pliku mniejszego niż 250 MB i krótszego niż dwie godziny. Są to odrębne opublikowane ograniczenia karty modelu i obsługi; przygotuj plik mieszczący się w obowiązującym limicie interfejsu. Przewodnik MAI podaje również, że diaryzacja obsługuje krótsze nagrania niż transkrypcja bez diaryzacji. Długi materiał z wieloma mówcami porządkuj w spójne sekcje, gdy potrzebne jest przypisanie mówców, i zachowuj pozycję sekcji w oryginalnym nagraniu do późniejszej kontroli.\n\nUdokumentowane wyjście to strukturalne dane transkrypcji: pełny tekst, frazy i, na żądanie, informacje o mówcach oraz czasowaniu. Fraza może zawierać tekst, język, przesunięcie i czas trwania; czasowanie słów może wiązać rozpoznane słowo z dźwiękiem. Dla przeszukiwalnego archiwum zachowuj te zależności, aby znaleziony termin prowadził z powrotem do nagrania. W procesie spotkania sprawdzona transkrypcja staje się wejściem do późniejszego streszczania lub ekstrakcji działań do wykonania. Wynikiem modelu mowy jest rozpoznana treść, a nie niezależnie zweryfikowany zapis decyzji spotkania.\n\nRozróżnienie wersji jest konkretne. MAI-Transcribe 1.5 obejmuje 43 języki, natomiast ta edycja obejmuje 60 i dodaje udokumentowane ustawienia diaryzacji, znaczników czasu słów oraz clean/verbatim. MAI-Transcribe 2 Streaming to odrębny model do przyrostowej transkrypcji w czasie rzeczywistym z własnym zestawem funkcji; jego opóźnienie pierwszego wyniku częściowego nie opisuje tej edycji do nagrań. Sprawdzaj transkrypcję względem audio pod kątem nazw, liczb, tur mówców i fragmentów mieszających języki przed użyciem jej jako źródła napisów, cytatów lub dokumentu pochodnego.",
    "alias_of": null,
    "aliases": [],
    "author": "Microsoft AI",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00005555555555555556",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.00005555555555555556",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Pełny cennik konfiguracji w szczegółach."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "microsoft/mai-transcribe-2",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Wyświetlane stawki służą do oszacowania kosztu przed generowaniem. Ostateczna opłata jest obliczana na podstawie kosztu zarejestrowanego dla pierwotnego generowania. Zmierzony czas trwania wyniku i prognozowane ilości nie stanowią ostatecznej ilości podlegającej rozliczeniu.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "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.",
            "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 URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Zachowaj zwrócony X-Client-Request-ID do uzgodnienia danych. Odczytuj wyłącznie rzeczywiście zwrócone wartości task_id/asset_id lub własną bibliotekę multimediów; nigdy nie buduj adresu URL zadania na podstawie identyfikatora operacji i nigdy nie wysyłaj ponownie żądania utworzenia."
            },
            "outputs": {
              "all_results": "Zachowaj pełną odpowiedź i nagłówki, wszystkie rzeczywiście uzyskane wyniki, pierwotnie zwrócone identyfikatory oraz wszystkie pola zużycia. Odzyskaj pierwotną operację bez ponownego wysyłania żądania utworzenia.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "text",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                },
                {
                  "description": null,
                  "name": "segments[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "words[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "speaker fields",
                  "type": null
                },
                {
                  "description": null,
                  "name": "timestamps",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "microsoft/mai-transcribe-2"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "name": "input_audio",
                "required": true,
                "type": "object"
              },
              {
                "name": "language",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 0,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default": "json",
                "default_known": true,
                "enum": [
                  "json",
                  "verbose_json"
                ],
                "enum_known": true,
                "name": "response_format",
                "required": false,
                "type": "string"
              },
              {
                "items": {
                  "enum": [
                    "segment",
                    "word"
                  ],
                  "type": "string"
                },
                "name": "timestamp_granularities",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "enum": [
                        "wav",
                        "mp3",
                        "flac",
                        "m4a",
                        "ogg",
                        "webm",
                        "aac"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "language": {
                  "description": "ISO-639-1 code; omitted means auto-detection",
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "microsoft/mai-transcribe-2"
                  ],
                  "type": "string"
                },
                "provider": {
                  "description": "Data policy and exact provider options; order/only/ignore are not applied to STT",
                  "properties": {
                    "data_collection": {
                      "enum": [
                        "allow",
                        "deny",
                        null
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "options": {
                      "type": "object"
                    },
                    "zdr": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "response_format": {
                  "default": "json",
                  "description": "verbose_json requires exact model/provider support",
                  "enum": [
                    "json",
                    "verbose_json"
                  ],
                  "type": "string"
                },
                "temperature": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "timestamp_granularities": {
                  "description": "Only used with supported verbose_json",
                  "items": {
                    "enum": [
                      "segment",
                      "word"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "microsoft/mai-transcribe-2"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Odczytaj rzeczywisty plik WAV i zakoduj jego prawdziwe bajty dla zadeklarowanego wejścia JSON input_audio; dla tej konkretnej deklaracji obsługującej wyłącznie JSON nie deklaruje się ścieżki multipart."
            ],
            "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 URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Rzeczywiście zwrócony task_id lub wpis w bibliotece multimediów",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit 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",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              },
              {
                "description": null,
                "name": "segments[]",
                "type": null
              },
              {
                "description": null,
                "name": "words[]",
                "type": null
              },
              {
                "description": null,
                "name": "speaker fields",
                "type": null
              },
              {
                "description": null,
                "name": "timestamps",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio hour"
            },
            "label": "input audio hour",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "stt_hour",
                "label": "input audio hour",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per input audio hour",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "stt_hour"
              }
            ]
          },
          {
            "basis": "Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Szacowany koszt generowania",
            "units": [
              {
                "amount": "0.00005555555555555556",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.00005555555555555556",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual WAV recording}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nimport base64\naudio=Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4]==b'RIFF' and audio[8:12]==b'WAVE'): raise SystemExit('Supply an actual WAV audio file')\nif len(audio)>26214400: raise SystemExit('Use a documented supported large-file flow')\nrequest={'model': 'microsoft/mai-transcribe-2', 'input_audio': {'data': '${BASE64_ACTUAL_WAV_BYTES}', 'format': 'wav'}}\nrequest['input_audio']['data']=base64.b64encode(audio).decode('ascii')\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# Keep the complete original response and headers. Read every returned segment, word and usage field.\n# Preserve actual operation/task/asset IDs; continue reads of the original result without resubmitting.\n",
            "label": "curl · exact native body and complete result",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "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": "Transkrypcja",
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio hour"
            },
            "label": "input audio hour",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "stt_hour",
                "label": "input audio hour",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per input audio hour",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "stt_hour"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.00005555555555555556",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.00005555555555555556",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "microsoft/mai-transcribe-2",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "stt_hour",
            "label": "input audio hour",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "per input audio hour",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "stt_hour"
          },
          {
            "amount": "0.00005555555555555556",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.00005555555555555556",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "microsoft/mai-transcribe-2",
        "request_model_id": "microsoft/mai-transcribe-2",
        "route_label": "Ultra"
      }
    ],
    "name": "Microsoft AI: MAI-Transcribe 2",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 5.555555555555556e-05,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 5.555555555555556e-05,
      "varies": false
    },
    "short": "Microsoft AI MAI-Transcribe 2 zamienia nagraną mowę na tekst w 60 językach, z automatyczną identyfikacją języka i obsługą przełączania języków. Dodaje diaryzację mówców, czasowanie słów, wskazówki słów kluczowych oraz styl oczyszczony lub dosłowny do zapisów spotkań, napisów, przeszukiwalnego audio i specjalistycznego dyktowania."
  },
  "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": "Microsoft AI MAI-Transcribe 2 zamienia nagraną mowę na tekst w 60 językach, z automatyczną identyfikacją języka i obsługą przełączania języków. Dodaje diaryzację mówców, czasowanie słów, wskazówki słów kluczowych oraz styl oczyszczony lub dosłowny do zapisów spotkań, napisów, przeszukiwalnego audio i specjalistycznego dyktowania.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "cbc247e5a5e2af7acbf84ddce6c983ea82cbe1033465656cda56eb17fd9ff81d",
    "renderer_sha256": "1217dcf19a93e99ac1d6fd7bf974dc19adc12fea4bd4470c2601f04e48f688cb"
  },
  "sourceRevision": "cd9dde1ce32a1f5cd9eebdbfe93f54961627ba3fdb2aca9a2d43091f0788179f"
}
