{
  "aboutHtml": "<p>Universal-3.5 Pro to model AssemblyAI do rozpoznawania mowy, służący do zamiany nagranej wypowiedzi na tekst. W profilu Sync krótki klip audio daje kompletną transkrypcję w jednej odpowiedzi. Sprawdza się to w wiadomościach głosowych, wejściu typu „naciśnij i mów” i odrębnych turach rozmowy, gdy aplikacja wie już, kiedy nagranie ma się zakończyć.</p><p>Przygotuj audio jako klip o określonych granicach. Wymagania Sync firmy AssemblyAI dopuszczają czas od 80 milisekund do 120 sekund przy maksymalnym rozmiarze pliku 40 MB. Obsługiwane formaty to WAV lub surowy PCM z 16-bitowymi próbkami ze znakiem w porządku little-endian. Audio może być mono lub stereo; stereo jest wewnętrznie miksowane do mono. Obsługiwane częstotliwości próbkowania to 8, 16, 22,05, 24, 32, 44,1 i 48 kHz. Nagłówek WAV podaje częstotliwość próbkowania i liczbę kanałów; surowy PCM wymaga osobnego podania tych wartości w konfiguracji transkrypcji.</p><p>Zarejestruj całą wypowiedź i zachowaj nienaruszone początek i koniec mowy. Przydatnym oryginalnym zadaniem jest krótka wiadomość głosowa do pomocy produktowej, zawierająca nazwę produktu, identyfikator zamówienia i prośbę. Zachowaj klip źródłowy, aby można było sprawdzić te ważne szczegóły w transkrypcji. Dla dłuższego nagrania przygotuj przepływ odpowiedni do transkrypcji długich materiałów, zamiast traktować limit czasu krótkiego klipu jako informację o pojemności audio całego modelu.</p><p>Wynik zawiera pełną transkrypcję, listę słów z poziomem pewności dla każdego słowa oraz ogólny poziom pewności od zera do jednego. Podaje także czas przesłanego audio i identyfikator żądania, dzięki czemu tekst można powiązać z oryginalnym klipem. Wykorzystaj pewność słów do znalezienia fragmentów wymagających sprawdzenia odsłuchem, zwłaszcza nazw, liczb i terminologii branżowej ważnych dla aplikacji.</p><p>Znaczniki czasu słów są opcjonalne i domyślnie wyłączone. Po ich zażądaniu każde dopasowane słowo może mieć czas początku i końca w milisekundach względem początku klipu. Profil producenta pozostawia te wartości nieobecne, gdy nie da się dopasować słowa, zamiast wymyślać przybliżony czas. Dokładność znaczników jest najlepsza dla audio w języku angielskim. Przygotowując podświetlanie słów, przeszukiwalny przebieg dźwięku lub dopasowanie napisów, jawnie zachowaj brakujące czasy i porównaj tekst z nagraniem, zanim użyjesz go jako gotowej ścieżki napisów.</p><p>Polecenie kontekstowe opisuje temat nagrania. Może wskazywać dziedzinę, scenariusz lub konkretne szczegóły znane już aplikacji, a jego maksymalna długość wynosi 6 000 znaków. Zacznij od krótkiego opisu pasującego do audio, na przykład rozmowy z pomocą techniczną o konkretnym urządzeniu. Polecenie dostarcza kontekstu rozpoznawania; nie jest prośbą o przeredagowanie wiadomości mówiącego w inny dokument.</p><p>Osobna lista kluczowych terminów ukierunkowuje rozpoznawanie na określone słownictwo. Profil Sync dopuszcza do 100 terminów i 8 000 znaków łącznie na tej liście. Podawaj dokładną pisownię nietypowych nazw, skrótowców i terminów produktowych, pomijając zwykłe, dobrze rozpoznawane słowa. Duże lub zbędne listy terminów mogą prowadzić do nadmiernych korekt, dlatego skup listę na słowach ważnych w nagraniu. Opis kontekstu i listę słownictwa można stosować razem.</p><p>Wcześniejsza rozmowa może również pomóc zinterpretować krótką odpowiedź. Podaj poprzednie wypowiedzi chronologicznie, od najstarszej do najnowszej, pozostawiając bieżące audio jako turę poddawaną transkrypcji. Udokumentowany limit kontekstu wynosi 500 tur lub 16 000 znaków łącznie. Jeśli kontekst przekracza te limity lub dostępny kontekst modelu, najpierw usuwane są najstarsze wpisy. Przydaje się to, gdy krótka odpowiedź zawiera identyfikator lub odniesienie, którego znaczenie wynika z poprzedniego pytania.</p><p>Wybór języka ukierunkowuje rozpoznawanie na jeden lub kilka oczekiwanych języków. Obecny interfejs Sync przyjmuje 32 kody języków i domyślnie wybiera angielski, jeśli nie podano wyboru. Dla audio z przełączaniem języków wymień oczekiwane języki. Niestandardowe polecenie kontekstowe zastępuje zarządzane ustawienie domyślne i ma pierwszeństwo przed osobnym ukierunkowaniem kodami języków, dlatego podaj oczekiwane języki wewnątrz tego polecenia, gdy potrzebny jest zarówno kontekst językowy, jak i sytuacyjny. Zachowaj transkrypcję w faktycznie używanych językach, zamiast traktować ją jako polecenie tłumaczenia.</p><p>Model występuje również w innych przepływach transkrypcji AssemblyAI, natomiast wymagania krótkich klipów i pola wynikowe profilu Sync należą do tego konkretnego interfejsu. Przepływ Dictation producenta dodaje osobny etap porządkowania tekstu; transkrypcja i przeredagowana wiadomość są różnymi materiałami. Zachowaj rozpoznaną wypowiedź, jeśli późniejszy etap redagowania lub podsumowania tworzy wersję uporządkowaną, aby oryginalne sformułowania pozostały dostępne do porównania.</p><p>Przydatne materiały wynikowe obejmują transkrybowaną wiadomość głosową, ukończoną turę dla asystenta, krótki przeszukiwalny tekst audio lub listę słów z czasami dla interfejsu przeglądu. Sprawdź decydujące słowa z nagraniem, zachowaj wszelkie brakujące dopasowania i utrzymaj powiązanie klipu ze zwróconym tekstem. Wynik rozpoznawania dostarcza kolejnemu etapowi aplikacji transkrypcję opartą na źródle; odpowiedź na prośbę lub redagowanie wiadomości należą do otaczającego przepływu pracy.</p>",
  "aboutText": "Universal-3.5 Pro to model AssemblyAI do rozpoznawania mowy, służący do zamiany nagranej wypowiedzi na tekst. W profilu Sync krótki klip audio daje kompletną transkrypcję w jednej odpowiedzi. Sprawdza się to w wiadomościach głosowych, wejściu typu „naciśnij i mów” i odrębnych turach rozmowy, gdy aplikacja wie już, kiedy nagranie ma się zakończyć.\n\nPrzygotuj audio jako klip o określonych granicach. Wymagania Sync firmy AssemblyAI dopuszczają czas od 80 milisekund do 120 sekund przy maksymalnym rozmiarze pliku 40 MB. Obsługiwane formaty to WAV lub surowy PCM z 16-bitowymi próbkami ze znakiem w porządku little-endian. Audio może być mono lub stereo; stereo jest wewnętrznie miksowane do mono. Obsługiwane częstotliwości próbkowania to 8, 16, 22,05, 24, 32, 44,1 i 48 kHz. Nagłówek WAV podaje częstotliwość próbkowania i liczbę kanałów; surowy PCM wymaga osobnego podania tych wartości w konfiguracji transkrypcji.\n\nZarejestruj całą wypowiedź i zachowaj nienaruszone początek i koniec mowy. Przydatnym oryginalnym zadaniem jest krótka wiadomość głosowa do pomocy produktowej, zawierająca nazwę produktu, identyfikator zamówienia i prośbę. Zachowaj klip źródłowy, aby można było sprawdzić te ważne szczegóły w transkrypcji. Dla dłuższego nagrania przygotuj przepływ odpowiedni do transkrypcji długich materiałów, zamiast traktować limit czasu krótkiego klipu jako informację o pojemności audio całego modelu.\n\nWynik zawiera pełną transkrypcję, listę słów z poziomem pewności dla każdego słowa oraz ogólny poziom pewności od zera do jednego. Podaje także czas przesłanego audio i identyfikator żądania, dzięki czemu tekst można powiązać z oryginalnym klipem. Wykorzystaj pewność słów do znalezienia fragmentów wymagających sprawdzenia odsłuchem, zwłaszcza nazw, liczb i terminologii branżowej ważnych dla aplikacji.\n\nZnaczniki czasu słów są opcjonalne i domyślnie wyłączone. Po ich zażądaniu każde dopasowane słowo może mieć czas początku i końca w milisekundach względem początku klipu. Profil producenta pozostawia te wartości nieobecne, gdy nie da się dopasować słowa, zamiast wymyślać przybliżony czas. Dokładność znaczników jest najlepsza dla audio w języku angielskim. Przygotowując podświetlanie słów, przeszukiwalny przebieg dźwięku lub dopasowanie napisów, jawnie zachowaj brakujące czasy i porównaj tekst z nagraniem, zanim użyjesz go jako gotowej ścieżki napisów.\n\nPolecenie kontekstowe opisuje temat nagrania. Może wskazywać dziedzinę, scenariusz lub konkretne szczegóły znane już aplikacji, a jego maksymalna długość wynosi 6 000 znaków. Zacznij od krótkiego opisu pasującego do audio, na przykład rozmowy z pomocą techniczną o konkretnym urządzeniu. Polecenie dostarcza kontekstu rozpoznawania; nie jest prośbą o przeredagowanie wiadomości mówiącego w inny dokument.\n\nOsobna lista kluczowych terminów ukierunkowuje rozpoznawanie na określone słownictwo. Profil Sync dopuszcza do 100 terminów i 8 000 znaków łącznie na tej liście. Podawaj dokładną pisownię nietypowych nazw, skrótowców i terminów produktowych, pomijając zwykłe, dobrze rozpoznawane słowa. Duże lub zbędne listy terminów mogą prowadzić do nadmiernych korekt, dlatego skup listę na słowach ważnych w nagraniu. Opis kontekstu i listę słownictwa można stosować razem.\n\nWcześniejsza rozmowa może również pomóc zinterpretować krótką odpowiedź. Podaj poprzednie wypowiedzi chronologicznie, od najstarszej do najnowszej, pozostawiając bieżące audio jako turę poddawaną transkrypcji. Udokumentowany limit kontekstu wynosi 500 tur lub 16 000 znaków łącznie. Jeśli kontekst przekracza te limity lub dostępny kontekst modelu, najpierw usuwane są najstarsze wpisy. Przydaje się to, gdy krótka odpowiedź zawiera identyfikator lub odniesienie, którego znaczenie wynika z poprzedniego pytania.\n\nWybór języka ukierunkowuje rozpoznawanie na jeden lub kilka oczekiwanych języków. Obecny interfejs Sync przyjmuje 32 kody języków i domyślnie wybiera angielski, jeśli nie podano wyboru. Dla audio z przełączaniem języków wymień oczekiwane języki. Niestandardowe polecenie kontekstowe zastępuje zarządzane ustawienie domyślne i ma pierwszeństwo przed osobnym ukierunkowaniem kodami języków, dlatego podaj oczekiwane języki wewnątrz tego polecenia, gdy potrzebny jest zarówno kontekst językowy, jak i sytuacyjny. Zachowaj transkrypcję w faktycznie używanych językach, zamiast traktować ją jako polecenie tłumaczenia.\n\nModel występuje również w innych przepływach transkrypcji AssemblyAI, natomiast wymagania krótkich klipów i pola wynikowe profilu Sync należą do tego konkretnego interfejsu. Przepływ Dictation producenta dodaje osobny etap porządkowania tekstu; transkrypcja i przeredagowana wiadomość są różnymi materiałami. Zachowaj rozpoznaną wypowiedź, jeśli późniejszy etap redagowania lub podsumowania tworzy wersję uporządkowaną, aby oryginalne sformułowania pozostały dostępne do porównania.\n\nPrzydatne materiały wynikowe obejmują transkrybowaną wiadomość głosową, ukończoną turę dla asystenta, krótki przeszukiwalny tekst audio lub listę słów z czasami dla interfejsu przeglądu. Sprawdź decydujące słowa z nagraniem, zachowaj wszelkie brakujące dopasowania i utrzymaj powiązanie klipu ze zwróconym tekstem. Wynik rozpoznawania dostarcza kolejnemu etapowi aplikacji transkrypcję opartą na źródle; odpowiedź na prośbę lub redagowanie wiadomości należą do otaczającego przepływu pracy.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "ed6b51c2b18074e85bf11a404f12ad7475ad708cdfe4217ec11e0c063e031a66",
    "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\">AssemblyAI: Universal-3.5 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zamknij\">×</button></div><div class=\"idline\"><span>AssemblyAI /</span><code>assemblyai/universal-3-5-pro</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|assemblyai%2Funiversal-3-5-pro\">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\">Universal-3.5 Pro to model AssemblyAI do rozpoznawania mowy, który zamienia krótki klip audio w kompletną transkrypcję w jednej odpowiedzi. Jego profil Sync dodaje poziom pewności dla słów, opcjonalne znaczniki czasu słów, wskazówki słownikowe i kontekst wcześniejszej rozmowy na potrzeby wejścia głosowego oraz funkcji „naciśnij i mów”.</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>Universal-3.5 Pro to model AssemblyAI do rozpoznawania mowy, służący do zamiany nagranej wypowiedzi na tekst. W profilu Sync krótki klip audio daje kompletną transkrypcję w jednej odpowiedzi. Sprawdza się to w wiadomościach głosowych, wejściu typu „naciśnij i mów” i odrębnych turach rozmowy, gdy aplikacja wie już, kiedy nagranie ma się zakończyć.</p><p>Przygotuj audio jako klip o określonych granicach. Wymagania Sync firmy AssemblyAI dopuszczają czas od 80 milisekund do 120 sekund przy maksymalnym rozmiarze pliku 40 MB. Obsługiwane formaty to WAV lub surowy PCM z 16-bitowymi próbkami ze znakiem w porządku little-endian. Audio może być mono lub stereo; stereo jest wewnętrznie miksowane do mono. Obsługiwane częstotliwości próbkowania to 8, 16, 22,05, 24, 32, 44,1 i 48 kHz. Nagłówek WAV podaje częstotliwość próbkowania i liczbę kanałów; surowy PCM wymaga osobnego podania tych wartości w konfiguracji transkrypcji.</p><p>Zarejestruj całą wypowiedź i zachowaj nienaruszone początek i koniec mowy. Przydatnym oryginalnym zadaniem jest krótka wiadomość głosowa do pomocy produktowej, zawierająca nazwę produktu, identyfikator zamówienia i prośbę. Zachowaj klip źródłowy, aby można było sprawdzić te ważne szczegóły w transkrypcji. Dla dłuższego nagrania przygotuj przepływ odpowiedni do transkrypcji długich materiałów, zamiast traktować limit czasu krótkiego klipu jako informację o pojemności audio całego modelu.</p><p>Wynik zawiera pełną transkrypcję, listę słów z poziomem pewności dla każdego słowa oraz ogólny poziom pewności od zera do jednego. Podaje także czas przesłanego audio i identyfikator żądania, dzięki czemu tekst można powiązać z oryginalnym klipem. Wykorzystaj pewność słów do znalezienia fragmentów wymagających sprawdzenia odsłuchem, zwłaszcza nazw, liczb i terminologii branżowej ważnych dla aplikacji.</p><p>Znaczniki czasu słów są opcjonalne i domyślnie wyłączone. Po ich zażądaniu każde dopasowane słowo może mieć czas początku i końca w milisekundach względem początku klipu. Profil producenta pozostawia te wartości nieobecne, gdy nie da się dopasować słowa, zamiast wymyślać przybliżony czas. Dokładność znaczników jest najlepsza dla audio w języku angielskim. Przygotowując podświetlanie słów, przeszukiwalny przebieg dźwięku lub dopasowanie napisów, jawnie zachowaj brakujące czasy i porównaj tekst z nagraniem, zanim użyjesz go jako gotowej ścieżki napisów.</p><p>Polecenie kontekstowe opisuje temat nagrania. Może wskazywać dziedzinę, scenariusz lub konkretne szczegóły znane już aplikacji, a jego maksymalna długość wynosi 6 000 znaków. Zacznij od krótkiego opisu pasującego do audio, na przykład rozmowy z pomocą techniczną o konkretnym urządzeniu. Polecenie dostarcza kontekstu rozpoznawania; nie jest prośbą o przeredagowanie wiadomości mówiącego w inny dokument.</p><p>Osobna lista kluczowych terminów ukierunkowuje rozpoznawanie na określone słownictwo. Profil Sync dopuszcza do 100 terminów i 8 000 znaków łącznie na tej liście. Podawaj dokładną pisownię nietypowych nazw, skrótowców i terminów produktowych, pomijając zwykłe, dobrze rozpoznawane słowa. Duże lub zbędne listy terminów mogą prowadzić do nadmiernych korekt, dlatego skup listę na słowach ważnych w nagraniu. Opis kontekstu i listę słownictwa można stosować razem.</p><p>Wcześniejsza rozmowa może również pomóc zinterpretować krótką odpowiedź. Podaj poprzednie wypowiedzi chronologicznie, od najstarszej do najnowszej, pozostawiając bieżące audio jako turę poddawaną transkrypcji. Udokumentowany limit kontekstu wynosi 500 tur lub 16 000 znaków łącznie. Jeśli kontekst przekracza te limity lub dostępny kontekst modelu, najpierw usuwane są najstarsze wpisy. Przydaje się to, gdy krótka odpowiedź zawiera identyfikator lub odniesienie, którego znaczenie wynika z poprzedniego pytania.</p><p>Wybór języka ukierunkowuje rozpoznawanie na jeden lub kilka oczekiwanych języków. Obecny interfejs Sync przyjmuje 32 kody języków i domyślnie wybiera angielski, jeśli nie podano wyboru. Dla audio z przełączaniem języków wymień oczekiwane języki. Niestandardowe polecenie kontekstowe zastępuje zarządzane ustawienie domyślne i ma pierwszeństwo przed osobnym ukierunkowaniem kodami języków, dlatego podaj oczekiwane języki wewnątrz tego polecenia, gdy potrzebny jest zarówno kontekst językowy, jak i sytuacyjny. Zachowaj transkrypcję w faktycznie używanych językach, zamiast traktować ją jako polecenie tłumaczenia.</p><p>Model występuje również w innych przepływach transkrypcji AssemblyAI, natomiast wymagania krótkich klipów i pola wynikowe profilu Sync należą do tego konkretnego interfejsu. Przepływ Dictation producenta dodaje osobny etap porządkowania tekstu; transkrypcja i przeredagowana wiadomość są różnymi materiałami. Zachowaj rozpoznaną wypowiedź, jeśli późniejszy etap redagowania lub podsumowania tworzy wersję uporządkowaną, aby oryginalne sformułowania pozostały dostępne do porównania.</p><p>Przydatne materiały wynikowe obejmują transkrybowaną wiadomość głosową, ukończoną turę dla asystenta, krótki przeszukiwalny tekst audio lub listę słów z czasami dla interfejsu przeglądu. Sprawdź decydujące słowa z nagraniem, zachowaj wszelkie brakujące dopasowania i utrzymaj powiązanie klipu ze zwróconym tekstem. Wynik rozpoznawania dostarcza kolejnemu etapowi aplikacji transkrypcję opartą na źródle; odpowiedź na prośbę lub redagowanie wiadomości należą do otaczającego przepływu pracy.</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>assemblyai/universal-3-5-pro</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></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>Przykład odczytuje Twój rzeczywisty, niepusty plik PCM WAV, koduje wszystkie bajty pliku jako base64 i wysyła input_audio.format z wartością wav.</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> · dokładne task_id z istniejącego rekordu multimediów należących do użytkownika</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 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>Stawki Ailoot</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>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=\"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</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wyjście · Tokeny wyjściowe</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Odczyt cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Zapis do cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Zapis do cache, 1 godz.</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>sekunda wejściowego audio</th><td data-cell-label=\"Tabela stawek\"><span class=\"card-cell-label\">Tabela stawek</span>—</td><td data-cell-label=\"Jednostka rozliczeniowa\"><span class=\"card-cell-label\">Jednostka rozliczeniowa</span>za sekundę dźwięku wejściowego</td><td data-cell-label=\"Opłata\"><span class=\"card-cell-label\">Opłata</span><div><span>Wejście · sekunda wejściowego audio</span> <b>$0.00025</b> <span class=\"price-unit\">za sekundę dźwięku wejściowego</span></div></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-1073-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1073-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · rzeczywisty plik WAV i kompletny pierwotny 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-1073-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1073-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}&quot;\nexport AILOOT_AUDIO_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ[&#39;AILOOT_AUDIO_FILE&#39;]).read_bytes()\nif not (audio[:4] == b&#39;RIFF&#39; and audio[8:12] == b&#39;WAVE&#39;):\n    raise SystemExit(&#39;Supply your actual PCM WAV audio file&#39;)\nwith wave.open(io.BytesIO(audio), &#39;rb&#39;) as recording:\n    if recording.getcomptype() != &#39;NONE&#39; or recording.getnframes() &lt;= 0:\n        raise SystemExit(&#39;Supply a nonempty PCM WAV recording&#39;)\nrequest = {&#39;model&#39;: &#39;assemblyai/universal-3-5-pro&#39;, &#39;input_audio&#39;: {&#39;data&#39;: base64.b64encode(audio).decode(&#39;ascii&#39;), &#39;format&#39;: &#39;wav&#39;}}\nPath(&#39;request.json&#39;).write_text(json.dumps(request, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Odbieranie i zapisywanie wyników</h3><h4>Ailoot Ultra · Transkrypcja</h4><p class=\"note-s\">Kompletna treść oryginalnej odpowiedzi, status i przekazane nagłówki. Ta funkcja obsługująca nie dodaje uniwersalnej struktury JSON, pola tekstowego ani obudowy zadania.</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>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 rzeczywiste X-Client-Request-ID i kompletną odpowiedź. Odczytuj pierwotne zasoby należące do użytkownika i ich dokładne podpisane adresy URL treści; nigdy nie ponawiaj niepewnego 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 (when present)</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">usage (when present)</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span></td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Błędy i dalsze kroki</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Odpowiedź</th><th>Warunek</th><th>Następny krok</th></tr></thead><tbody><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Treść JSON lub jawny kanoniczny identyfikator modelu są nieprawidłowe.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Zachowaj odpowiedź i popraw wskazane pole żądania.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Klucz API Ailoot jest nieprawidłowy.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Użyj swojego autoryzowanego klucza API Ailoot.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>403 · <code>permission_error</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Grupa klucza nie ma uprawnień do tej metody.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Zachowaj zwrócone szczegóły błędu.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Wybrana metoda nie ma dopuszczonej ścieżki.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Zachowaj zwrócone szczegóły błędu.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Zaakceptowana taryfa nie może uzyskać wymaganej ilości danych wejściowych lub ich górnej granicy.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Zachowaj odpowiedź; użyj reprezentacji danych wejściowych wymaganej przez zaakceptowaną taryfę.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>503 · <code></code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Wymagany magazyn, ścieżka, cena metody lub rezerwacja są niedostępne.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Zachowaj kompletną oryginalną odpowiedź. Niepewna rezerwacja nie uprawnia do ponownego wysłania.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>502 · <code>server_error</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Pierwotny wynik, dane użycia lub rozliczenie wymagają sprawdzenia.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Zachowaj rzeczywisty identyfikator żądania i oryginalną odpowiedź. Odczytuj istniejący rekord należący do użytkownika; nie wysyłaj ponownie żądania utworzenia.</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=assemblyai%2Funiversal-3-5-pro&amp;route=Ultra&amp;caller=assemblyai%2Funiversal-3-5-pro&amp;fmt=transcriptions\"><code>assemblyai/universal-3-5-pro</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=assemblyai%2Funiversal-3-5-pro&amp;route=Ultra&amp;caller=assemblyai%2Funiversal-3-5-pro&amp;fmt=transcriptions\"><code>assemblyai/universal-3-5-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "assemblyai/universal-3-5-pro",
        "fmt": "transcriptions",
        "http": "POST",
        "path": "/v1/audio/transcriptions",
        "request_model_id": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|transcriptions|/v1/audio/transcriptions|assemblyai%2Funiversal-3-5-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Treść JSON lub jawny kanoniczny identyfikator modelu są nieprawidłowe.",
                "http_status": 400,
                "recovery": "Zachowaj odpowiedź i popraw wskazane pole żądania.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Klucz API Ailoot jest nieprawidłowy.",
                "http_status": 401,
                "recovery": "Użyj swojego autoryzowanego klucza API Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Grupa klucza nie ma uprawnień do tej metody.",
                "http_status": 403,
                "recovery": "Zachowaj zwrócone szczegóły błędu.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Wybrana metoda nie ma dopuszczonej ścieżki.",
                "http_status": 404,
                "recovery": "Zachowaj zwrócone szczegóły błędu.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Zaakceptowana taryfa nie może uzyskać wymaganej ilości danych wejściowych lub ich górnej granicy.",
                "http_status": 422,
                "recovery": "Zachowaj odpowiedź; użyj reprezentacji danych wejściowych wymaganej przez zaakceptowaną taryfę.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Wymagany magazyn, ścieżka, cena metody lub rezerwacja są niedostępne.",
                "http_status": 503,
                "recovery": "Zachowaj kompletną oryginalną odpowiedź. Niepewna rezerwacja nie uprawnia do ponownego wysłania.",
                "type": null
              },
              {
                "code": null,
                "condition": "Pierwotny wynik, dane użycia lub rozliczenie wymagają sprawdzenia.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Zachowaj rzeczywisty identyfikator żądania i oryginalną odpowiedź. Odczytuj istniejący rekord należący do użytkownika; nie wysyłaj ponownie żądania utworzenia.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Zachowaj rzeczywiste X-Client-Request-ID i kompletną odpowiedź. Odczytuj pierwotne zasoby należące do użytkownika i ich dokładne podpisane adresy URL treści; nigdy nie ponawiaj niepewnego 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 (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Kompletna treść oryginalnej odpowiedzi, status i przekazane nagłówki. Ta funkcja obsługująca nie dodaje uniwersalnej struktury JSON, pola tekstowego ani obudowy zadania."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "assemblyai/universal-3-5-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "assemblyai/universal-3-5-pro"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "assemblyai/universal-3-5-pro"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Przykład odczytuje Twój rzeczywisty, niepusty plik PCM WAV, koduje wszystkie bajty pliku jako base64 i wysyła input_audio.format z wartością wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "dokładne task_id z istniejącego rekordu multimediów należących do użytkownika",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00025",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00025",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'assemblyai/universal-3-5-pro', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "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": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.00025
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00025",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00025",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00025",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00025",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    }
  ],
  "model_id": "assemblyai/universal-3-5-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b207c859e13831b8b7857df5710c5b85f5786fd06ba0e5d3fbe12fa332723b4f",
    "input_html_sha256": "40c3182217ffe4aab440ae1400680086241776602eaccc2d8958d52e57a961c4",
    "private_audit_sha256": "8f651d2dd7499e71f176ff1cc7ae4d5cbdee5f040135ab11643b3229139aa53a",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pl/assemblyai-universal-3-5-pro/",
    "description": "Universal-3.5 Pro to model AssemblyAI do rozpoznawania mowy, który zamienia krótki klip audio w kompletną transkrypcję w jednej odpowiedzi. Jego profil Sync dodaje poziom pewności dla słów, opcjonalne znaczniki czasu słów, wskazówki słownikowe i kontekst wcześniejszej rozmowy na potrzeby wejścia głosowego oraz funkcji „naciśnij i mów”.",
    "locale": "pl",
    "md_url": "https://ailoot.ai/models/pl/assemblyai-universal-3-5-pro/index.md",
    "title": "AssemblyAI: Universal-3.5 Pro — Ailoot",
    "url": "https://ailoot.ai/models/pl/assemblyai-universal-3-5-pro/"
  },
  "rawModel": {
    "about": "Universal-3.5 Pro to model AssemblyAI do rozpoznawania mowy, służący do zamiany nagranej wypowiedzi na tekst. W profilu Sync krótki klip audio daje kompletną transkrypcję w jednej odpowiedzi. Sprawdza się to w wiadomościach głosowych, wejściu typu „naciśnij i mów” i odrębnych turach rozmowy, gdy aplikacja wie już, kiedy nagranie ma się zakończyć.\n\nPrzygotuj audio jako klip o określonych granicach. Wymagania Sync firmy AssemblyAI dopuszczają czas od 80 milisekund do 120 sekund przy maksymalnym rozmiarze pliku 40 MB. Obsługiwane formaty to WAV lub surowy PCM z 16-bitowymi próbkami ze znakiem w porządku little-endian. Audio może być mono lub stereo; stereo jest wewnętrznie miksowane do mono. Obsługiwane częstotliwości próbkowania to 8, 16, 22,05, 24, 32, 44,1 i 48 kHz. Nagłówek WAV podaje częstotliwość próbkowania i liczbę kanałów; surowy PCM wymaga osobnego podania tych wartości w konfiguracji transkrypcji.\n\nZarejestruj całą wypowiedź i zachowaj nienaruszone początek i koniec mowy. Przydatnym oryginalnym zadaniem jest krótka wiadomość głosowa do pomocy produktowej, zawierająca nazwę produktu, identyfikator zamówienia i prośbę. Zachowaj klip źródłowy, aby można było sprawdzić te ważne szczegóły w transkrypcji. Dla dłuższego nagrania przygotuj przepływ odpowiedni do transkrypcji długich materiałów, zamiast traktować limit czasu krótkiego klipu jako informację o pojemności audio całego modelu.\n\nWynik zawiera pełną transkrypcję, listę słów z poziomem pewności dla każdego słowa oraz ogólny poziom pewności od zera do jednego. Podaje także czas przesłanego audio i identyfikator żądania, dzięki czemu tekst można powiązać z oryginalnym klipem. Wykorzystaj pewność słów do znalezienia fragmentów wymagających sprawdzenia odsłuchem, zwłaszcza nazw, liczb i terminologii branżowej ważnych dla aplikacji.\n\nZnaczniki czasu słów są opcjonalne i domyślnie wyłączone. Po ich zażądaniu każde dopasowane słowo może mieć czas początku i końca w milisekundach względem początku klipu. Profil producenta pozostawia te wartości nieobecne, gdy nie da się dopasować słowa, zamiast wymyślać przybliżony czas. Dokładność znaczników jest najlepsza dla audio w języku angielskim. Przygotowując podświetlanie słów, przeszukiwalny przebieg dźwięku lub dopasowanie napisów, jawnie zachowaj brakujące czasy i porównaj tekst z nagraniem, zanim użyjesz go jako gotowej ścieżki napisów.\n\nPolecenie kontekstowe opisuje temat nagrania. Może wskazywać dziedzinę, scenariusz lub konkretne szczegóły znane już aplikacji, a jego maksymalna długość wynosi 6 000 znaków. Zacznij od krótkiego opisu pasującego do audio, na przykład rozmowy z pomocą techniczną o konkretnym urządzeniu. Polecenie dostarcza kontekstu rozpoznawania; nie jest prośbą o przeredagowanie wiadomości mówiącego w inny dokument.\n\nOsobna lista kluczowych terminów ukierunkowuje rozpoznawanie na określone słownictwo. Profil Sync dopuszcza do 100 terminów i 8 000 znaków łącznie na tej liście. Podawaj dokładną pisownię nietypowych nazw, skrótowców i terminów produktowych, pomijając zwykłe, dobrze rozpoznawane słowa. Duże lub zbędne listy terminów mogą prowadzić do nadmiernych korekt, dlatego skup listę na słowach ważnych w nagraniu. Opis kontekstu i listę słownictwa można stosować razem.\n\nWcześniejsza rozmowa może również pomóc zinterpretować krótką odpowiedź. Podaj poprzednie wypowiedzi chronologicznie, od najstarszej do najnowszej, pozostawiając bieżące audio jako turę poddawaną transkrypcji. Udokumentowany limit kontekstu wynosi 500 tur lub 16 000 znaków łącznie. Jeśli kontekst przekracza te limity lub dostępny kontekst modelu, najpierw usuwane są najstarsze wpisy. Przydaje się to, gdy krótka odpowiedź zawiera identyfikator lub odniesienie, którego znaczenie wynika z poprzedniego pytania.\n\nWybór języka ukierunkowuje rozpoznawanie na jeden lub kilka oczekiwanych języków. Obecny interfejs Sync przyjmuje 32 kody języków i domyślnie wybiera angielski, jeśli nie podano wyboru. Dla audio z przełączaniem języków wymień oczekiwane języki. Niestandardowe polecenie kontekstowe zastępuje zarządzane ustawienie domyślne i ma pierwszeństwo przed osobnym ukierunkowaniem kodami języków, dlatego podaj oczekiwane języki wewnątrz tego polecenia, gdy potrzebny jest zarówno kontekst językowy, jak i sytuacyjny. Zachowaj transkrypcję w faktycznie używanych językach, zamiast traktować ją jako polecenie tłumaczenia.\n\nModel występuje również w innych przepływach transkrypcji AssemblyAI, natomiast wymagania krótkich klipów i pola wynikowe profilu Sync należą do tego konkretnego interfejsu. Przepływ Dictation producenta dodaje osobny etap porządkowania tekstu; transkrypcja i przeredagowana wiadomość są różnymi materiałami. Zachowaj rozpoznaną wypowiedź, jeśli późniejszy etap redagowania lub podsumowania tworzy wersję uporządkowaną, aby oryginalne sformułowania pozostały dostępne do porównania.\n\nPrzydatne materiały wynikowe obejmują transkrybowaną wiadomość głosową, ukończoną turę dla asystenta, krótki przeszukiwalny tekst audio lub listę słów z czasami dla interfejsu przeglądu. Sprawdź decydujące słowa z nagraniem, zachowaj wszelkie brakujące dopasowania i utrzymaj powiązanie klipu ze zwróconym tekstem. Wynik rozpoznawania dostarcza kolejnemu etapowi aplikacji transkrypcję opartą na źródle; odpowiedź na prośbę lub redagowanie wiadomości należą do otaczającego przepływu pracy.",
    "alias_of": null,
    "aliases": [],
    "author": "AssemblyAI",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "audio"
      ],
      "manufacturer_output": [
        "transcription"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00025",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00025",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ],
        "summary": "Pełny cennik konfiguracji w szczegółach."
      }
    ],
    "ctx": null,
    "formats": [
      "transcriptions"
    ],
    "id": "assemblyai/universal-3-5-pro",
    "input": [
      "audio"
    ],
    "kind": "audio",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "errors": [
              {
                "code": null,
                "condition": "Treść JSON lub jawny kanoniczny identyfikator modelu są nieprawidłowe.",
                "http_status": 400,
                "recovery": "Zachowaj odpowiedź i popraw wskazane pole żądania.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Klucz API Ailoot jest nieprawidłowy.",
                "http_status": 401,
                "recovery": "Użyj swojego autoryzowanego klucza API Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Grupa klucza nie ma uprawnień do tej metody.",
                "http_status": 403,
                "recovery": "Zachowaj zwrócone szczegóły błędu.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Wybrana metoda nie ma dopuszczonej ścieżki.",
                "http_status": 404,
                "recovery": "Zachowaj zwrócone szczegóły błędu.",
                "type": "not_found_error"
              },
              {
                "code": null,
                "condition": "Zaakceptowana taryfa nie może uzyskać wymaganej ilości danych wejściowych lub ich górnej granicy.",
                "http_status": 422,
                "recovery": "Zachowaj odpowiedź; użyj reprezentacji danych wejściowych wymaganej przez zaakceptowaną taryfę.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Wymagany magazyn, ścieżka, cena metody lub rezerwacja są niedostępne.",
                "http_status": 503,
                "recovery": "Zachowaj kompletną oryginalną odpowiedź. Niepewna rezerwacja nie uprawnia do ponownego wysłania.",
                "type": null
              },
              {
                "code": null,
                "condition": "Pierwotny wynik, dane użycia lub rozliczenie wymagają sprawdzenia.",
                "http_status": 502,
                "operation_id_source": "actual X-Client-Request-ID",
                "recovery": "Zachowaj rzeczywisty identyfikator żądania i oryginalną odpowiedź. Odczytuj istniejący rekord należący do użytkownika; nie wysyłaj ponownie żądania utworzenia.",
                "response_headers": {
                  "x-should-retry": "false"
                },
                "type": "server_error"
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed content URL"
                }
              ],
              "dedicated_method_polling_or_cancel": false,
              "mode": "synchronous_result_then_owned_library",
              "original_POST_adds_task_envelope": false,
              "status": [
                {
                  "http": "GET",
                  "id_source": "exact task_id from an existing owned media record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Zachowaj rzeczywiste X-Client-Request-ID i kompletną odpowiedź. Odczytuj pierwotne zasoby należące do użytkownika i ich dokładne podpisane adresy URL treści; nigdy nie ponawiaj niepewnego 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 (when present)",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage (when present)",
                  "type": null
                }
              ],
              "result": "Kompletna treść oryginalnej odpowiedzi, status i przekazane nagłówki. Ta funkcja obsługująca nie dodaje uniwersalnej struktury JSON, pola tekstowego ani obudowy zadania."
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "assemblyai/universal-3-5-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "input_audio",
                "required": true,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "input_audio": {
                  "properties": {
                    "data": {
                      "contentEncoding": "base64",
                      "type": "string"
                    },
                    "format": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "data",
                    "format"
                  ],
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "assemblyai/universal-3-5-pro"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_audio"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_audio": {
                  "data": "${BASE64_ACTUAL_WAV_BYTES}",
                  "format": "wav"
                },
                "model": "assemblyai/universal-3-5-pro"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Przykład odczytuje Twój rzeczywisty, niepusty plik PCM WAV, koduje wszystkie bajty pliku jako base64 i wysyła input_audio.format z wartością wav."
            ],
            "material_types": [
              "audio"
            ],
            "required": [
              "model",
              "input_audio"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed content URL"
              }
            ],
            "dedicated_method_polling_or_cancel": false,
            "mode": "synchronous_result_then_owned_library",
            "original_POST_adds_task_envelope": false,
            "status": [
              {
                "http": "GET",
                "id_source": "dokładne task_id z istniejącego rekordu multimediów należących do użytkownika",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Retain the actual X-Client-Request-ID and complete response. Read the original owned assets and their exact signed content URLs; never resubmit an uncertain creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/audio/transcriptions"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "text",
            "fields": [
              {
                "description": null,
                "name": "text (when present)",
                "type": null
              },
              {
                "description": null,
                "name": "usage (when present)",
                "type": null
              }
            ],
            "result": "Complete original response body, status and forwarded headers. No universal JSON shape, text field or task envelope is added by this handler."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00025",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00025",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_AUDIO_FILE:?Set the path to your actual PCM WAV recording}\"\nexport AILOOT_AUDIO_FILE\npython3 - <<'PY_REQUEST'\nimport base64, io, json, os, wave\nfrom pathlib import Path\naudio = Path(os.environ['AILOOT_AUDIO_FILE']).read_bytes()\nif not (audio[:4] == b'RIFF' and audio[8:12] == b'WAVE'):\n    raise SystemExit('Supply your actual PCM WAV audio file')\nwith wave.open(io.BytesIO(audio), 'rb') as recording:\n    if recording.getcomptype() != 'NONE' or recording.getnframes() <= 0:\n        raise SystemExit('Supply a nonempty PCM WAV recording')\nrequest = {'model': 'assemblyai/universal-3-5-pro', 'input_audio': {'data': base64.b64encode(audio).decode('ascii'), 'format': 'wav'}}\nPath('request.json').write_text(json.dumps(request, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/audio/transcriptions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o response.bin\n# Retain the complete original response, headers and actual X-Client-Request-ID.\n# Read existing owned records for recovery; do not resubmit an uncertain operation.\n",
            "label": "curl · actual WAV file and complete original result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "transcriptions",
        "hints": [
          "The example reads your actual nonempty PCM WAV file, encodes the complete file bytes as base64 and sends input_audio.format as wav.",
          "The format value in the example is the documented recipe; no model-specific format list, limit or default is asserted.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "audio"
        ],
        "label": "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": "per_request",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "audio_input_second": 0.00025
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input audio second"
            },
            "label": "input audio second",
            "units": [
              {
                "amount": "0.00025",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "audio_input_second",
                "label": "input audio second",
                "native_amount_usd_per_unit": "0.00025",
                "native_quantity": 1,
                "public_unit_label": "per input audio second",
                "quantity": 1,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "audio_input_second"
              }
            ]
          }
        ],
        "request_model_id": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.00025",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "audio_input_second",
            "label": "input audio second",
            "native_amount_usd_per_unit": "0.00025",
            "native_quantity": 1,
            "public_unit_label": "per input audio second",
            "quantity": 1,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "audio_input_second"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "assemblyai/universal-3-5-pro",
        "request_model_id": "assemblyai/universal-3-5-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "AssemblyAI: Universal-3.5 Pro",
    "price": {
      "in": null,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": null,
      "sort_out": null,
      "varies": true
    },
    "short": "Universal-3.5 Pro to model AssemblyAI do rozpoznawania mowy, który zamienia krótki klip audio w kompletną transkrypcję w jednej odpowiedzi. Jego profil Sync dodaje poziom pewności dla słów, opcjonalne znaczniki czasu słów, wskazówki słownikowe i kontekst wcześniejszej rozmowy na potrzeby wejścia głosowego oraz funkcji „naciśnij i mów”."
  },
  "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": "Universal-3.5 Pro to model AssemblyAI do rozpoznawania mowy, który zamienia krótki klip audio w kompletną transkrypcję w jednej odpowiedzi. Jego profil Sync dodaje poziom pewności dla słów, opcjonalne znaczniki czasu słów, wskazówki słownikowe i kontekst wcześniejszej rozmowy na potrzeby wejścia głosowego oraz funkcji „naciśnij i mów”.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "20934f640848e78765887ea343938d7a0eb08aec99392d60d486279924feeea0",
    "renderer_sha256": "1217dcf19a93e99ac1d6fd7bf974dc19adc12fea4bd4470c2601f04e48f688cb"
  },
  "sourceRevision": "7e64d599f78281480fdd2268ca9799addb5b6efab8878be11157b962de5892c6"
}
