{
  "aboutHtml": "<p>Mistral Small 4 łączy ogólne wykonywanie instrukcji, rozumowanie i programowanie w jednym modelu multimodalnym. Producent opisuje go jako połączenie rodzin Instruct, rozumowania Magistral i programowania Devstral. Przyjmuje tekst i obrazy oraz zwraca tekst, z wywołaniami funkcji i wynikiem JSON dostępnymi dla aplikacji wspomaganych narzędziami.</p><p>Architektura i główne funkcje</p><p>Wydanie ma 119 mld parametrów łącznie i aktywuje 6,5 mld na token. Jego architektura mixture-of-experts zawiera 128 ekspertów, z 4 aktywnymi, a producent dokumentuje okno kontekstowe o wielkości 256 tys. tokenów. Liczba aktywnych parametrów i ekspertów opisuje organizację modelu; różni się od ilości treści tekstowej lub obrazowej zawartej w jednym zadaniu.</p><p>Model zapewnia funkcje instrukcyjne i rozumowania w tym samym checkpoincie. Producent wskazuje też wizję, przestrzeganie promptu systemowego i obsługę kilkudziesięciu języków, w tym angielskiego, francuskiego, hiszpańskiego, niemieckiego, włoskiego, portugalskiego, niderlandzkiego, chińskiego, japońskiego, koreańskiego i arabskiego. Instrukcja tekstowa może więc pytać o obraz lub łączyć pisemne wymaganie z widocznymi dowodami, a odpowiedź zostanie zwrócona jako tekst.</p><p>Zadanie wizualne może dostarczać stronę dokumentu i pytać o wartości istotne dla nazwanego warunku. Zachowaj czytelność etykiet i jednostek oraz określ, czy wynik powinien zachować oryginalne brzmienie, podsumować je czy porównać z innym źródłem. Zadanie interfejsowe może połączyć zrzut ekranu z celem użytkownika i żądać właściwego widocznego elementu sterującego oraz dowodów potwierdzających proponowany kolejny krok.</p><p>Wybór trybu instrukcyjnego lub rozumowania</p><p>Opublikowana karta dokumentuje intensywność rozumowania none dla natychmiastowej odpowiedzi w stylu instrukcyjnym i high dla rozumowania, z high zalecanym do złożonych promptów. Wybór dokonywany jest dla każdego żądania w obrębie tego samego modelu Small 4. Zwykła klasyfikacja lub krótkie przeredagowanie mogą mieć inny kontrakt odpowiedzi niż problem matematyczny, wizualny lub programistyczny wymagający rozwiniętego wyjaśnienia.</p><p>Producent zaleca temperaturę 0.7 dla wysokiej intensywności rozumowania. Dla none określa temperatury między 0.0 a 0.7 zależnie od zadania. Ustawienia te opisują udokumentowane tryby i nie zmieniają intensywności rozumowania w gwarancję poprawnego wyniku. Zdefiniuj założenia, postać wyniku i istotny materiał źródłowy przed wyborem, ile rozumowania wymaga zadanie.</p><p>Dla problemu do rozwiązania podaj pełny warunek i poproś o istotne uzasadnione kroki, a następnie wyrażenie końcowe. Dla zadania programistycznego podaj wymaganie, dotkniętą funkcję i konkretne dane wejściowe; zażądaj proponowanej implementacji oddzielnie od wyjaśnienia i przykładów. Demonstracje użycia producenta obejmują wykonywanie instrukcji, narzędzie obliczeniowe zastosowane do obrazu i rozumowanie wizualne, pokazując, jak dowody tekstowe i wizualne mogą wchodzić do tych różnych zadań.</p><p>Kod, dokumenty i narzędzia</p><p>Model jest pozycjonowany do eksploracji kodu i agentów inżynierii oprogramowania, ogólnych asystentów, rozumienia dokumentów i badań. Żądanie agenta programistycznego może wskazywać moduł do zmiany, interfejs do zachowania i zachowanie, które powinno nastąpić. Dostarcz istotne źródła i dowody błędu. Model może proponować kolejną operację lub zmianę kodu, a aplikacja zapewnia dostęp do repozytorium, wykonywanie i informację zwrotną.</p><p>Dla ekstrakcji z dokumentów wskaż wymagane pola i sposób przedstawiania brakujących informacji. Przydatny rekord może rozdzielać identyfikator dokumentu, stwierdzenie źródłowe, zinterpretowane wymaganie i nierozstrzygnięte pytanie. Karta usługi producenta wymienia niestandardowe uporządkowane wyniki i odpowiadanie na pytania o dokumenty; to drugie wykorzystuje przetwarzanie dokumentu i OCR do przygotowania tekstu oraz struktury przed analizą modelu językowego. Bezpośrednie pytanie o obraz i przepływ dokumentowy wspomagany OCR powinny zachować własne sposoby przygotowania wejścia.</p><p>Wywoływanie funkcji wymaga jasno opisanych narzędzi. Model wybiera funkcję i tworzy argumenty; aplikacja wykonuje operację i zwraca jej wynik na potrzeby późniejszej odpowiedzi. Ta sama logika obowiązuje niezależnie od tego, czy zadanie dotyczy wyszukiwania, obliczenia czy operacji programistycznej. Formatowanie JSON porządkuje odpowiedź, a wywołanie narzędzia prosi o działanie zewnętrzne; nie należy traktować ich jako wymiennych wyników.</p><p>Karta usługi wymienia też przewidywane wyniki, prefiksy odpowiedzi, przetwarzanie wsadowe i rozmowy agentowe. Przewidywane wyniki są przydatne, gdy dokument lub plik kodu trzeba wygenerować ponownie tylko z ograniczoną zmianą, a reszta treści jest znana. Określ zmianę i materiał do zachowania. Kontynuacja prefiksu używa znanego początku odpowiedzi, a przetwarzanie wsadowe dotyczy przesyłania pracy, a nie dodatkowego trybu rozumowania.</p><p>Zakres kontekstu i edycji</p><p>Planuj pisemne zadanie, materiał wizualny, rozmowę i pożądaną odpowiedź w obrębie udokumentowanego kontekstu o wielkości 256 tys. tokenów. Udostępniony przykład użycia konfiguruje kontekst o wielkości 262 144 tokenów, a jego przykład generowania 1024 tokenów nie jest osobną maksymalną pojemnością wyjścia. Przeczytane źródła nie podają niezależnego sztywnego limitu długości odpowiedzi, którym można by zastąpić długość wybraną dla zadania.</p><p>Small 4 ma własną architekturę mixture-of-experts o 119 mld parametrów i tryby hybrydowe. Nie powinien dziedziczyć gęstej architektury o 128 mld parametrów Medium 3.5 ani osobnych edycji Instruct i Reasoning Ministral 3. Producent udostępnia też odrębne artefakty skwantyzowane i do dekodowania spekulacyjnego; są to osobne artefakty wdrożeniowe, a nie różne modalności treści. Zachowaj wskazane wydanie Small 4 i tryb żądany dla właściwego wyjaśnienia, uporządkowanego rekordu lub wyniku programistycznego.</p>",
  "aboutText": "Mistral Small 4 łączy ogólne wykonywanie instrukcji, rozumowanie i programowanie w jednym modelu multimodalnym. Producent opisuje go jako połączenie rodzin Instruct, rozumowania Magistral i programowania Devstral. Przyjmuje tekst i obrazy oraz zwraca tekst, z wywołaniami funkcji i wynikiem JSON dostępnymi dla aplikacji wspomaganych narzędziami.\n\nArchitektura i główne funkcje\n\nWydanie ma 119 mld parametrów łącznie i aktywuje 6,5 mld na token. Jego architektura mixture-of-experts zawiera 128 ekspertów, z 4 aktywnymi, a producent dokumentuje okno kontekstowe o wielkości 256 tys. tokenów. Liczba aktywnych parametrów i ekspertów opisuje organizację modelu; różni się od ilości treści tekstowej lub obrazowej zawartej w jednym zadaniu.\n\nModel zapewnia funkcje instrukcyjne i rozumowania w tym samym checkpoincie. Producent wskazuje też wizję, przestrzeganie promptu systemowego i obsługę kilkudziesięciu języków, w tym angielskiego, francuskiego, hiszpańskiego, niemieckiego, włoskiego, portugalskiego, niderlandzkiego, chińskiego, japońskiego, koreańskiego i arabskiego. Instrukcja tekstowa może więc pytać o obraz lub łączyć pisemne wymaganie z widocznymi dowodami, a odpowiedź zostanie zwrócona jako tekst.\n\nZadanie wizualne może dostarczać stronę dokumentu i pytać o wartości istotne dla nazwanego warunku. Zachowaj czytelność etykiet i jednostek oraz określ, czy wynik powinien zachować oryginalne brzmienie, podsumować je czy porównać z innym źródłem. Zadanie interfejsowe może połączyć zrzut ekranu z celem użytkownika i żądać właściwego widocznego elementu sterującego oraz dowodów potwierdzających proponowany kolejny krok.\n\nWybór trybu instrukcyjnego lub rozumowania\n\nOpublikowana karta dokumentuje intensywność rozumowania none dla natychmiastowej odpowiedzi w stylu instrukcyjnym i high dla rozumowania, z high zalecanym do złożonych promptów. Wybór dokonywany jest dla każdego żądania w obrębie tego samego modelu Small 4. Zwykła klasyfikacja lub krótkie przeredagowanie mogą mieć inny kontrakt odpowiedzi niż problem matematyczny, wizualny lub programistyczny wymagający rozwiniętego wyjaśnienia.\n\nProducent zaleca temperaturę 0.7 dla wysokiej intensywności rozumowania. Dla none określa temperatury między 0.0 a 0.7 zależnie od zadania. Ustawienia te opisują udokumentowane tryby i nie zmieniają intensywności rozumowania w gwarancję poprawnego wyniku. Zdefiniuj założenia, postać wyniku i istotny materiał źródłowy przed wyborem, ile rozumowania wymaga zadanie.\n\nDla problemu do rozwiązania podaj pełny warunek i poproś o istotne uzasadnione kroki, a następnie wyrażenie końcowe. Dla zadania programistycznego podaj wymaganie, dotkniętą funkcję i konkretne dane wejściowe; zażądaj proponowanej implementacji oddzielnie od wyjaśnienia i przykładów. Demonstracje użycia producenta obejmują wykonywanie instrukcji, narzędzie obliczeniowe zastosowane do obrazu i rozumowanie wizualne, pokazując, jak dowody tekstowe i wizualne mogą wchodzić do tych różnych zadań.\n\nKod, dokumenty i narzędzia\n\nModel jest pozycjonowany do eksploracji kodu i agentów inżynierii oprogramowania, ogólnych asystentów, rozumienia dokumentów i badań. Żądanie agenta programistycznego może wskazywać moduł do zmiany, interfejs do zachowania i zachowanie, które powinno nastąpić. Dostarcz istotne źródła i dowody błędu. Model może proponować kolejną operację lub zmianę kodu, a aplikacja zapewnia dostęp do repozytorium, wykonywanie i informację zwrotną.\n\nDla ekstrakcji z dokumentów wskaż wymagane pola i sposób przedstawiania brakujących informacji. Przydatny rekord może rozdzielać identyfikator dokumentu, stwierdzenie źródłowe, zinterpretowane wymaganie i nierozstrzygnięte pytanie. Karta usługi producenta wymienia niestandardowe uporządkowane wyniki i odpowiadanie na pytania o dokumenty; to drugie wykorzystuje przetwarzanie dokumentu i OCR do przygotowania tekstu oraz struktury przed analizą modelu językowego. Bezpośrednie pytanie o obraz i przepływ dokumentowy wspomagany OCR powinny zachować własne sposoby przygotowania wejścia.\n\nWywoływanie funkcji wymaga jasno opisanych narzędzi. Model wybiera funkcję i tworzy argumenty; aplikacja wykonuje operację i zwraca jej wynik na potrzeby późniejszej odpowiedzi. Ta sama logika obowiązuje niezależnie od tego, czy zadanie dotyczy wyszukiwania, obliczenia czy operacji programistycznej. Formatowanie JSON porządkuje odpowiedź, a wywołanie narzędzia prosi o działanie zewnętrzne; nie należy traktować ich jako wymiennych wyników.\n\nKarta usługi wymienia też przewidywane wyniki, prefiksy odpowiedzi, przetwarzanie wsadowe i rozmowy agentowe. Przewidywane wyniki są przydatne, gdy dokument lub plik kodu trzeba wygenerować ponownie tylko z ograniczoną zmianą, a reszta treści jest znana. Określ zmianę i materiał do zachowania. Kontynuacja prefiksu używa znanego początku odpowiedzi, a przetwarzanie wsadowe dotyczy przesyłania pracy, a nie dodatkowego trybu rozumowania.\n\nZakres kontekstu i edycji\n\nPlanuj pisemne zadanie, materiał wizualny, rozmowę i pożądaną odpowiedź w obrębie udokumentowanego kontekstu o wielkości 256 tys. tokenów. Udostępniony przykład użycia konfiguruje kontekst o wielkości 262 144 tokenów, a jego przykład generowania 1024 tokenów nie jest osobną maksymalną pojemnością wyjścia. Przeczytane źródła nie podają niezależnego sztywnego limitu długości odpowiedzi, którym można by zastąpić długość wybraną dla zadania.\n\nSmall 4 ma własną architekturę mixture-of-experts o 119 mld parametrów i tryby hybrydowe. Nie powinien dziedziczyć gęstej architektury o 128 mld parametrów Medium 3.5 ani osobnych edycji Instruct i Reasoning Ministral 3. Producent udostępnia też odrębne artefakty skwantyzowane i do dekodowania spekulacyjnego; są to osobne artefakty wdrożeniowe, a nie różne modalności treści. Zachowaj wskazane wydanie Small 4 i tryb żądany dla właściwego wyjaśnienia, uporządkowanego rekordu lub wyniku programistycznego.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "5eb2bdc4bf41b0ff2db1c82a6eaaf78f0095c07514793e2b6c6125b3e24623bc",
    "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\">Mistral: Mistral Small 4 (batch)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Zamknij\">×</button></div><div class=\"idline\"><span>Mistral /</span><code>mistralai/mistral-small-2603:batch</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|batches|/v1/batches|mistralai%2Fmistral-small-2603%3Abatch\">Przetwarzanie wsadowe</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\">Mistral Small 4 to hybrydowy model przyjmujący tekst i obrazy, z możliwościami instrukcyjnymi, rozumowania i programowania. Wydanie mixture-of-experts o 119 mld parametrów aktywuje 6,5 mld parametrów na token i obsługuje kontekst producenta o wielkości 256 tys. tokenów, wybieraną intensywność rozumowania, JSON i wywołania funkcji.</p><dl class=\"card-io\" data-card-io><div><dt>Akceptowane dane wejściowe</dt><dd>Tekst</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>Mistral Small 4 łączy ogólne wykonywanie instrukcji, rozumowanie i programowanie w jednym modelu multimodalnym. Producent opisuje go jako połączenie rodzin Instruct, rozumowania Magistral i programowania Devstral. Przyjmuje tekst i obrazy oraz zwraca tekst, z wywołaniami funkcji i wynikiem JSON dostępnymi dla aplikacji wspomaganych narzędziami.</p><p>Architektura i główne funkcje</p><p>Wydanie ma 119 mld parametrów łącznie i aktywuje 6,5 mld na token. Jego architektura mixture-of-experts zawiera 128 ekspertów, z 4 aktywnymi, a producent dokumentuje okno kontekstowe o wielkości 256 tys. tokenów. Liczba aktywnych parametrów i ekspertów opisuje organizację modelu; różni się od ilości treści tekstowej lub obrazowej zawartej w jednym zadaniu.</p><p>Model zapewnia funkcje instrukcyjne i rozumowania w tym samym checkpoincie. Producent wskazuje też wizję, przestrzeganie promptu systemowego i obsługę kilkudziesięciu języków, w tym angielskiego, francuskiego, hiszpańskiego, niemieckiego, włoskiego, portugalskiego, niderlandzkiego, chińskiego, japońskiego, koreańskiego i arabskiego. Instrukcja tekstowa może więc pytać o obraz lub łączyć pisemne wymaganie z widocznymi dowodami, a odpowiedź zostanie zwrócona jako tekst.</p><p>Zadanie wizualne może dostarczać stronę dokumentu i pytać o wartości istotne dla nazwanego warunku. Zachowaj czytelność etykiet i jednostek oraz określ, czy wynik powinien zachować oryginalne brzmienie, podsumować je czy porównać z innym źródłem. Zadanie interfejsowe może połączyć zrzut ekranu z celem użytkownika i żądać właściwego widocznego elementu sterującego oraz dowodów potwierdzających proponowany kolejny krok.</p><p>Wybór trybu instrukcyjnego lub rozumowania</p><p>Opublikowana karta dokumentuje intensywność rozumowania none dla natychmiastowej odpowiedzi w stylu instrukcyjnym i high dla rozumowania, z high zalecanym do złożonych promptów. Wybór dokonywany jest dla każdego żądania w obrębie tego samego modelu Small 4. Zwykła klasyfikacja lub krótkie przeredagowanie mogą mieć inny kontrakt odpowiedzi niż problem matematyczny, wizualny lub programistyczny wymagający rozwiniętego wyjaśnienia.</p><p>Producent zaleca temperaturę 0.7 dla wysokiej intensywności rozumowania. Dla none określa temperatury między 0.0 a 0.7 zależnie od zadania. Ustawienia te opisują udokumentowane tryby i nie zmieniają intensywności rozumowania w gwarancję poprawnego wyniku. Zdefiniuj założenia, postać wyniku i istotny materiał źródłowy przed wyborem, ile rozumowania wymaga zadanie.</p><p>Dla problemu do rozwiązania podaj pełny warunek i poproś o istotne uzasadnione kroki, a następnie wyrażenie końcowe. Dla zadania programistycznego podaj wymaganie, dotkniętą funkcję i konkretne dane wejściowe; zażądaj proponowanej implementacji oddzielnie od wyjaśnienia i przykładów. Demonstracje użycia producenta obejmują wykonywanie instrukcji, narzędzie obliczeniowe zastosowane do obrazu i rozumowanie wizualne, pokazując, jak dowody tekstowe i wizualne mogą wchodzić do tych różnych zadań.</p><p>Kod, dokumenty i narzędzia</p><p>Model jest pozycjonowany do eksploracji kodu i agentów inżynierii oprogramowania, ogólnych asystentów, rozumienia dokumentów i badań. Żądanie agenta programistycznego może wskazywać moduł do zmiany, interfejs do zachowania i zachowanie, które powinno nastąpić. Dostarcz istotne źródła i dowody błędu. Model może proponować kolejną operację lub zmianę kodu, a aplikacja zapewnia dostęp do repozytorium, wykonywanie i informację zwrotną.</p><p>Dla ekstrakcji z dokumentów wskaż wymagane pola i sposób przedstawiania brakujących informacji. Przydatny rekord może rozdzielać identyfikator dokumentu, stwierdzenie źródłowe, zinterpretowane wymaganie i nierozstrzygnięte pytanie. Karta usługi producenta wymienia niestandardowe uporządkowane wyniki i odpowiadanie na pytania o dokumenty; to drugie wykorzystuje przetwarzanie dokumentu i OCR do przygotowania tekstu oraz struktury przed analizą modelu językowego. Bezpośrednie pytanie o obraz i przepływ dokumentowy wspomagany OCR powinny zachować własne sposoby przygotowania wejścia.</p><p>Wywoływanie funkcji wymaga jasno opisanych narzędzi. Model wybiera funkcję i tworzy argumenty; aplikacja wykonuje operację i zwraca jej wynik na potrzeby późniejszej odpowiedzi. Ta sama logika obowiązuje niezależnie od tego, czy zadanie dotyczy wyszukiwania, obliczenia czy operacji programistycznej. Formatowanie JSON porządkuje odpowiedź, a wywołanie narzędzia prosi o działanie zewnętrzne; nie należy traktować ich jako wymiennych wyników.</p><p>Karta usługi wymienia też przewidywane wyniki, prefiksy odpowiedzi, przetwarzanie wsadowe i rozmowy agentowe. Przewidywane wyniki są przydatne, gdy dokument lub plik kodu trzeba wygenerować ponownie tylko z ograniczoną zmianą, a reszta treści jest znana. Określ zmianę i materiał do zachowania. Kontynuacja prefiksu używa znanego początku odpowiedzi, a przetwarzanie wsadowe dotyczy przesyłania pracy, a nie dodatkowego trybu rozumowania.</p><p>Zakres kontekstu i edycji</p><p>Planuj pisemne zadanie, materiał wizualny, rozmowę i pożądaną odpowiedź w obrębie udokumentowanego kontekstu o wielkości 256 tys. tokenów. Udostępniony przykład użycia konfiguruje kontekst o wielkości 262 144 tokenów, a jego przykład generowania 1024 tokenów nie jest osobną maksymalną pojemnością wyjścia. Przeczytane źródła nie podają niezależnego sztywnego limitu długości odpowiedzi, którym można by zastąpić długość wybraną dla zadania.</p><p>Small 4 ma własną architekturę mixture-of-experts o 119 mld parametrów i tryby hybrydowe. Nie powinien dziedziczyć gęstej architektury o 128 mld parametrów Medium 3.5 ani osobnych edycji Instruct i Reasoning Ministral 3. Producent udostępnia też odrębne artefakty skwantyzowane i do dekodowania spekulacyjnego; są to osobne artefakty wdrożeniowe, a nie różne modalności treści. Zachowaj wskazane wydanie Small 4 i tryb żądany dla właściwego wyjaśnienia, uporządkowanego rekordu lub wyniku programistycznego.</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 · Batch</b> <code>POST /v1/batches</code></summary><dl class=\"method-capabilities\"><div><dt>Wejście</dt><dd><code>text</code></dd></div><div><dt>Wyjście</dt><dd><code>text</code></dd></div><div><dt>Format wyjściowy</dt><dd>JSON bezpośrednio w results[].response.body</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 data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">endpoint</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>/v1/chat/completions</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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>mistralai/mistral-small-2603:batch</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">requests</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>batch_item[]</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>Minimalna liczba elementów: 1</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">requests[].custom_id</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></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">requests[].body.messages</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>message[]</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Wymagane</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">completion_window</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>24h</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>object|null</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">requests[].body.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>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>mistralai/mistral-small-2603:batch, mistralai/mistral-small-2603</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">provider.only</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string[]</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>mistral</div></td><td data-cell-label=\"Domyślnie\" data-default=\"unspecified\"><span class=\"card-cell-label\">Domyślnie</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">provider.allow_fallbacks</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>boolean|null</code></td><td data-cell-label=\"Wymaganie\"><span class=\"card-cell-label\">Wymaganie</span>Opcjonalne</td><td data-cell-label=\"Wartości i limity\"><span class=\"card-cell-label\">Wartości i limity</span><div>false, null</div></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>endpoint, model, requests</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>text</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>representation</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>requests[] bezpośrednio w żądaniu; każdy element zawiera custom_id i body</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>request_endpoint_profile</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>/v1/chat/completions</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>file_material</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>Wywołujący może lokalnie wczytać rzeczywisty plik JSONL w kodowaniu UTF-8 do requests[]. Nie używa się przeznaczenia przesyłanego pliku, input_file_id ani odwołania do pliku. Brak materiałów klienta lub ich pusta zawartość zatrzymują przygotowanie przed POST.</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>serialization_order</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>endpoint, model, provider (jeśli podano), completion_window (jeśli podano), requests na końcu</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>optional_controls</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>provider.only, provider.allow_fallbacks, completion_window</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>schema_scope</code></th><td data-cell-label=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>Treści żądań tekstowych Chat Completions w udokumentowanej strukturze Batch z danymi bezpośrednio w żądaniu.</td></tr></tbody></table></div><p>Cykl życia: <code>asynchronous</code></p><p class=\"note-s\"><code>GET /v1/batches/{operation_id}</code> · Rzeczywista wartość response.id zwrócona przy pierwotnym utworzeniu; ten sam użytkownik, klucz i grupa</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><dt>Wycena jawnej pamięci podręcznej</dt><dd>Niewłączone <span class=\"note-s\">Gdy zażądano jawnej pamięci podręcznej</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>Tokeny kontekstu, więcej niż</th><th>Tokeny kontekstu, do podanej wartości włącznie</th><th>Opłata</th></tr></thead><tbody><tr><th data-cell-label=\"Konfiguracja\" scope=\"row\"><span class=\"card-cell-label\">Konfiguracja</span>Podstawowe 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=\"Tokeny kontekstu, więcej niż\"><span class=\"card-cell-label\">Tokeny kontekstu, więcej niż</span>—</td><td data-cell-label=\"Tokeny kontekstu, do podanej wartości włącznie\"><span class=\"card-cell-label\">Tokeny kontekstu, do podanej wartości włącznie</span>Bez górnej granicy</td><td data-cell-label=\"Opłata\"><span class=\"card-cell-label\">Opłata</span><div><span>Wejście · Tokeny wejściowe</span> <b>$0.00015</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wyjście · Tokeny wyjściowe</span> <b>$0.0006</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Odczyt cache</span> <b>$0.000015</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>Przedział długości żądania 1</th><td data-cell-label=\"Tabela stawek\"><span class=\"card-cell-label\">Tabela stawek</span>—</td><td data-cell-label=\"Tokeny kontekstu, więcej niż\"><span class=\"card-cell-label\">Tokeny kontekstu, więcej niż</span>0</td><td data-cell-label=\"Tokeny kontekstu, do podanej wartości włącznie\"><span class=\"card-cell-label\">Tokeny kontekstu, do podanej wartości włącznie</span>Bez górnej granicy</td><td data-cell-label=\"Opłata\"><span class=\"card-cell-label\">Opłata</span><div><span>Wejście · Tokeny wejściowe</span> <b>$0.00015</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wyjście · Tokeny wyjściowe</span> <b>$0.0006</b> <span class=\"price-unit\">/ 1K tokenów</span></div><div><span>Wejście · Odczyt cache</span> <b>$0.000015</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></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 · Batch</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-1932-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1932-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · zachowany zestaw danych testowych</button><button class=\"cg-tab\" id=\"model-code-1932-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1932-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python HTTP · rzeczywisty JSONL klienta</button><button class=\"cg-tab\" id=\"model-code-1932-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1932-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Python · zapisz każdy ukończony 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-1932-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1932-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json\nfrom pathlib import Path\nbody=json.loads(&#39;{&quot;endpoint&quot;:&quot;/v1/chat/completions&quot;,&quot;model&quot;:&quot;mistralai/mistral-small-2603:batch&quot;,&quot;requests&quot;:[{&quot;custom_id&quot;:&quot;req-0001&quot;,&quot;body&quot;:{&quot;messages&quot;:[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Hello!&quot;}],&quot;max_tokens&quot;:16}}]}&#39;)\nPath(&quot;batch-request.json&quot;).write_text(json.dumps(body,ensure_ascii=False),encoding=&quot;utf-8&quot;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1932-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1932-tab-1\" hidden><pre data-lang=\"python\"><code>import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(&quot;Customer JSONL file is missing&quot;)\n    items = [json.loads(line) for line in path.read_text(encoding=&quot;utf-8&quot;).splitlines() if line.strip()]\n    if not items: raise ValueError(&quot;Customer JSONL contains no requests&quot;)\n    ids = set()\n    for item in items:\n        if set(item) != {&quot;custom_id&quot;, &quot;body&quot;}: raise ValueError(&quot;Each item needs custom_id and body&quot;)\n        cid = item[&quot;custom_id&quot;]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(&quot;custom_id must be nonempty and unique&quot;)\n        ids.add(cid)\n        if not isinstance(item[&quot;body&quot;], dict) or not item[&quot;body&quot;].get(&quot;messages&quot;): raise ValueError(&quot;Supply actual text messages&quot;)\n        supplied_model = item[&quot;body&quot;].get(&quot;model&quot;)\n        if supplied_model is not None and supplied_model not in [&#39;mistralai/mistral-small-2603:batch&#39;, &#39;mistralai/mistral-small-2603&#39;]: raise ValueError(&quot;body.model must be an exact documented caller or wire ID&quot;)\n    return {&quot;endpoint&quot;:&quot;/v1/chat/completions&quot;, &quot;model&quot;:&quot;mistralai/mistral-small-2603:batch&quot;, &quot;requests&quot;:items}\n\nif __name__ == &quot;__main__&quot;:\n    material = os.environ.get(&quot;AILOOT_BATCH_REQUESTS_JSONL&quot;, &quot;&quot;)\n    if not material: raise SystemExit(&quot;Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file&quot;)\n    body = prepare_requests(material)\n    key = os.environ.get(&quot;AILOOT_API_KEY&quot;, &quot;&quot;)\n    if not key: raise SystemExit(&quot;Set AILOOT_API_KEY&quot;)\n    request = Request(&quot;https://api.ailoot.ai/v1/batches&quot;, data=json.dumps(body, ensure_ascii=False).encode(&quot;utf-8&quot;), headers={&quot;Authorization&quot;:&quot;Bearer &quot; + key, &quot;Content-Type&quot;:&quot;application/json&quot;}, method=&quot;POST&quot;)\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(&quot;batch-create-response.json&quot;).write_bytes(raw)\n        print(raw.decode(&quot;utf-8&quot;))\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1932-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-1932-tab-2\" hidden><pre data-lang=\"python\"><code>import json\nfrom pathlib import Path\nraw = Path(&quot;batch-status-response.json&quot;).read_bytes()\nresponse = json.loads(raw)\nif response.get(&quot;status&quot;) != &quot;completed&quot;:\n    raise SystemExit(&quot;Keep the original operation; read its status without resubmitting&quot;)\nresults = response.get(&quot;results&quot;)\nif not isinstance(results, list) or not results:\n    raise SystemExit(&quot;Preserve the original response; completed results are missing&quot;)\nPath(&quot;batch-results.jsonl&quot;).write_text(&quot;&quot;.join(json.dumps(item, ensure_ascii=False) + &quot;\\n&quot; for item in results), encoding=&quot;utf-8&quot;)\n# Preserve batch-status-response.json with aggregate usage and every result/error.\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 · Batch</h4><p class=\"note-s\">JSON bezpośrednio w results[].response.body</p><ul class=\"card-result-paths\"><li><code>GET /v1/batches/{operation_id}</code></li></ul><h5>Sprawdź status zadania</h5><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-1933-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1933-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · status pierwotnej operacji</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-1933-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1933-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nBATCH_OPERATION_ID=&quot;$(python3 - &lt;&lt;&#39;PY_ID&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(&quot;batch-create-response.json&quot;).read_text(encoding=&quot;utf-8&quot;))\noperation = response.get(&quot;id&quot;)\nif not isinstance(operation, str) or not operation: raise SystemExit(&quot;No actual original operation ID; preserve the response and do not resubmit&quot;)\nprint(quote(operation, safe=&quot;&quot;))\nPY_ID\n)&quot;\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o batch-status-response.json\n</code></pre></div></div></div><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łny pierwotny JSON stanu, każdy wynik i custom_id oraz pełną treść odpowiedzi lub błędu. Zapisz ukończone wyniki z results[] jako JSONL bez filtrowania.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Jeśli trzeba sprawdzić pierwotną odpowiedź</h5><p class=\"note-s\">Zachowaj pierwotny identyfikator operacji. Odpowiedź 503 result_pending_check zawiera X-Should-Retry:false; nigdy nie wysyłaj ponownie pierwotnego żądania Batch, którego wynik jest nieznany.</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\">results[].custom_id</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">results[].response.body.choices[].message.content</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string|null</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">results[].error</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>object|null</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>object|null</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><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>string</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">endpoint</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">request_counts</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>object</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">results[].id</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">results[].response.status_code</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer</td></tr><tr><th data-cell-label=\"Pole\" scope=\"row\"><span class=\"card-cell-label\">Pole</span><code class=\"card-field-name\">results[].response.request_id</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</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>Nieprawidłowa udokumentowana struktura z danymi bezpośrednio w żądaniu, zduplikowane klucze, problem z tożsamością elementu lub konflikt ze skonfigurowanymi możliwościami modelu.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Popraw wskazane pola przed wysłaniem jakiegokolwiek nowego żą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>Nieprawidłowy klucz API.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Użyj autoryzowanego klucza 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 Batch jest niedostępna.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Sprawdź uprawnienia klucza i grupy.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>422 · <code>invalid_request_error</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Batch korzysta z rozliczania z salda; utworzenie w ramach subskrypcji jest odrzucane.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Użyj autoryzowanej grupy rozliczanej z salda.</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>Nie można wycenić danych wejściowych Batch.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Zachowaj odpowiedź; użyj danych wejściowych udokumentowanych dla tej rodziny API.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>402 · <code>billing_error</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Rezerwa dla Batch jest niedostępna.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Rozwiąż problem dopuszczenia żądania przed wysłaniem nowego.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>503 · <code>price_unavailable</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Cena metody Batch lub stawki natywne są niedostępne.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Zachowaj odpowiedź; nie zastępuj cen innymi.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>503 · <code>api_error</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Dokładna trasa dostawcy jest niedostępna.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Zachowaj odpowiedź na potrzeby naprawy trasy.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>503 · <code>result_pending_check</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Pierwotny wynik wymaga sprawdzenia; X-Should-Retry:false.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Zachowaj pierwotny operation_id/id i odczytuj stan operacji; nigdy nie powtarzaj pierwotnego POST.</td></tr><tr><th data-cell-label=\"Odpowiedź\" scope=\"row\"><span class=\"card-cell-label\">Odpowiedź</span>404 · <code>not_found</code></th><td data-cell-label=\"Warunek\"><span class=\"card-cell-label\">Warunek</span>Operacja sprawdzania stanu Batch nie istnieje lub należy do innej tożsamości.</td><td data-cell-label=\"Następny krok\"><span class=\"card-cell-label\">Następny krok</span>Użyj dokładnego pierwotnego id oraz tego samego użytkownika, klucza i grupy.</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=mistralai%2Fmistral-small-2603%3Abatch&amp;route=Ultra&amp;caller=mistralai%2Fmistral-small-2603%3Abatch&amp;fmt=batches\"><code>mistralai/mistral-small-2603:batch</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=mistralai%2Fmistral-small-2603%3Abatch&amp;route=Ultra&amp;caller=mistralai%2Fmistral-small-2603%3Abatch&amp;fmt=batches\"><code>mistralai/mistral-small-2603:batch</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "mistralai/mistral-small-2603:batch",
        "fmt": "batches",
        "http": "POST",
        "path": "/v1/batches",
        "request_model_id": "mistralai/mistral-small-2603:batch",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|batches|/v1/batches|mistralai%2Fmistral-small-2603%3Abatch",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0.015,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Preserve full JSON and every result; provider real IDs are only read from actual returned responses.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Nieprawidłowa udokumentowana struktura z danymi bezpośrednio w żądaniu, zduplikowane klucze, problem z tożsamością elementu lub konflikt ze skonfigurowanymi możliwościami modelu.",
                "http_status": 400,
                "recovery": "Popraw wskazane pola przed wysłaniem jakiegokolwiek nowego żądania.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Nieprawidłowy klucz API.",
                "http_status": 401,
                "recovery": "Użyj autoryzowanego klucza Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Grupa Batch jest niedostępna.",
                "http_status": 403,
                "recovery": "Sprawdź uprawnienia klucza i grupy.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Batch korzysta z rozliczania z salda; utworzenie w ramach subskrypcji jest odrzucane.",
                "http_status": 422,
                "recovery": "Użyj autoryzowanej grupy rozliczanej z salda.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Nie można wycenić danych wejściowych Batch.",
                "http_status": 422,
                "recovery": "Zachowaj odpowiedź; użyj danych wejściowych udokumentowanych dla tej rodziny API.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Rezerwa dla Batch jest niedostępna.",
                "http_status": 402,
                "recovery": "Rozwiąż problem dopuszczenia żądania przed wysłaniem nowego.",
                "type": "billing_error"
              },
              {
                "code": null,
                "condition": "Cena metody Batch lub stawki natywne są niedostępne.",
                "http_status": 503,
                "recovery": "Zachowaj odpowiedź; nie zastępuj cen innymi.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Dokładna trasa dostawcy jest niedostępna.",
                "http_status": 503,
                "recovery": "Zachowaj odpowiedź na potrzeby naprawy trasy.",
                "type": "api_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Pierwotny wynik wymaga sprawdzenia; X-Should-Retry:false.",
                "http_status": 503,
                "recovery": "Zachowaj pierwotny operation_id/id i odczytuj stan operacji; nigdy nie powtarzaj pierwotnego POST.",
                "type": null
              },
              {
                "code": "not_found",
                "condition": "Operacja sprawdzania stanu Batch nie istnieje lub należy do innej tożsamości.",
                "http_status": 404,
                "recovery": "Użyj dokładnego pierwotnego id oraz tego samego użytkownika, klucza i grupy.",
                "type": null
              }
            ],
            "example_body": {
              "endpoint": "/v1/chat/completions",
              "model": "mistralai/mistral-small-2603:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "input_constraints": [
              "Use the exact shown :batch model ID.",
              "Each custom_id must be nonempty and unique within the batch.",
              "Keep requests last in the serialized body; duplicate JSON keys are rejected.",
              "Each body.model is omitted or equals the exact batch caller or its documented base ID.",
              "Per-item provider, service_tier and input_type are outside this batch profile.",
              "stream is omitted or false.",
              "Supply text messages for this Chat batch profile; image/audio/file/video objects, hosted tools and cache-control fields are outside this profile.",
              "If body.model is present, use only the exact caller or wire ID listed here; no suffix conversion is needed.",
              "For google/ wire IDs, all items use an identical response_format."
            ],
            "outputs": {
              "all_results": "Zachowaj pełny pierwotny JSON stanu, każdy wynik i custom_id oraz pełną treść odpowiedzi lub błędu. Zapisz ukończone wyniki z results[] jako JSONL bez filtrowania.",
              "enclosing_family": "batch",
              "family": "text",
              "fields": [
                {
                  "name": "results[].custom_id",
                  "type": "string"
                },
                {
                  "name": "results[].response.body.choices[].message.content",
                  "type": "string|null"
                },
                {
                  "name": "results[].error",
                  "type": "object|null"
                },
                {
                  "name": "usage",
                  "type": "object|null"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "endpoint",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "request_counts",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "results[].id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].response.status_code",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].response.request_id",
                  "type": "string"
                }
              ],
              "format": "JSON bezpośrednio w results[].response.body"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "/v1/chat/completions"
                ],
                "enum_known": true,
                "name": "endpoint",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/mistral-small-2603:batch"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "requests",
                "required": true,
                "type": "batch_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].custom_id",
                "required": true,
                "type": "string",
                "unique_within_batch": true
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].body.messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "24h"
                ],
                "enum_known": true,
                "name": "completion_window",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/mistral-small-2603:batch",
                  "mistralai/mistral-small-2603"
                ],
                "enum_known": true,
                "name": "requests[].body.model",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  [
                    "mistral"
                  ]
                ],
                "enum_known": true,
                "name": "provider.only",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  null
                ],
                "enum_known": true,
                "name": "provider.allow_fallbacks",
                "required": false,
                "type": "boolean|null"
              }
            ],
            "provider_policy": {
              "allow_fallbacks": false,
              "configured_only": [
                "mistral"
              ],
              "per_item_override": false,
              "when_omitted": "Current Source injects the exact persisted declaration before fresh submission."
            },
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "completion_window": {
                  "enum": [
                    "24h"
                  ],
                  "type": "string"
                },
                "endpoint": {
                  "enum": [
                    "/v1/chat/completions"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "mistralai/mistral-small-2603:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "enum": [
                        false,
                        null
                      ],
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "enum": [
                        [
                          "mistral"
                        ]
                      ],
                      "items": {
                        "enum": [
                          "mistral"
                        ],
                        "type": "string"
                      },
                      "maxItems": 1,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "body": {
                        "additionalProperties": true,
                        "properties": {
                          "max_tokens": {
                            "minimum": 1,
                            "type": "integer"
                          },
                          "messages": {
                            "items": {
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role",
                                "content"
                              ],
                              "type": "object"
                            },
                            "minItems": 1,
                            "type": "array"
                          },
                          "model": {
                            "enum": [
                              "mistralai/mistral-small-2603:batch",
                              "mistralai/mistral-small-2603"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "messages"
                        ],
                        "type": "object"
                      },
                      "custom_id": {
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "custom_id",
                      "body"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "endpoint",
                "model",
                "requests"
              ],
              "type": "object"
            },
            "schema_template": {
              "endpoint": "/v1/chat/completions",
              "model": "mistralai/mistral-small-2603:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "unsupported": [
              "Files/input_file_id batch upload workflow",
              "active cancel route",
              "public batch list/delete/result-download route",
              "model-name-derived capability or weights equivalence"
            ]
          },
          "input": {
            "content_type": "application/json",
            "file_material": "Wywołujący może lokalnie wczytać rzeczywisty plik JSONL w kodowaniu UTF-8 do requests[]. Nie używa się przeznaczenia przesyłanego pliku, input_file_id ani odwołania do pliku. Brak materiałów klienta lub ich pusta zawartość zatrzymują przygotowanie przed POST.",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "provider.only",
              "provider.allow_fallbacks",
              "completion_window"
            ],
            "representation": "requests[] bezpośrednio w żądaniu; każdy element zawiera custom_id i body",
            "request_endpoint_profile": "/v1/chat/completions",
            "required": [
              "endpoint",
              "model",
              "requests"
            ],
            "schema_scope": "Treści żądań tekstowych Chat Completions w udokumentowanej strukturze Batch z danymi bezpośrednio w żądaniu.",
            "serialization_order": [
              "endpoint",
              "model",
              "provider (jeśli podano)",
              "completion_window (jeśli podano)",
              "requests na końcu"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "create": {
              "accepted_status": 202,
              "http": "POST",
              "path": "/v1/batches"
            },
            "delete": null,
            "file_upload": null,
            "mode": "asynchronous",
            "observed_status_values": [
              "validating",
              "in_progress",
              "finalizing",
              "completed",
              "failed",
              "expired",
              "cancelling",
              "cancelled"
            ],
            "owned_results": {
              "behavior": "Completed results are saved as owned JSONL, read back byte-for-byte and registered in the existing media library before publication after settlement. Status returns inline results; no separate Batch download route is added.",
              "format": "application/x-ndjson",
              "public_url_field_in_status": null
            },
            "status": {
              "http": "GET",
              "id_source": "Rzeczywista wartość response.id zwrócona przy pierwotnym utworzeniu; ten sam użytkownik, klucz i grupa",
              "path": "/v1/batches/{operation_id}"
            },
            "terminal": [
              "completed",
              "failed",
              "expired",
              "cancelled"
            ],
            "unknown": "Zachowaj pierwotny identyfikator operacji. Odpowiedź 503 result_pending_check zawiera X-Should-Retry:false; nigdy nie wysyłaj ponownie pierwotnego żądania Batch, którego wynik jest nieznany."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/batches"
          },
          "output": {
            "all_results": "Preserve the full original status JSON, every result/custom_id and complete response or error body. Save completed results[] as JSONL without filtering.",
            "family": "batch",
            "format": "JSON; completed results[] are returned inline and can be saved as JSONL."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Podstawowe stawki za tokeny",
            "units": [
              {
                "amount": "0.00015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000015",
                "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": "0.0006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000006",
                "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": "0.000015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000015",
                "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": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Przedział długości żądania 1",
            "units": [
              {
                "amount": "0.00015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000015",
                "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": "0.0006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000006",
                "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": "0.000015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000015",
                "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"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json\nfrom pathlib import Path\nbody=json.loads('{\"endpoint\":\"/v1/chat/completions\",\"model\":\"mistralai/mistral-small-2603:batch\",\"requests\":[{\"custom_id\":\"req-0001\",\"body\":{\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"max_tokens\":16}}]}')\nPath(\"batch-request.json\").write_text(json.dumps(body,ensure_ascii=False),encoding=\"utf-8\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n",
            "label": "curl · retained fixture",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(\"Customer JSONL file is missing\")\n    items = [json.loads(line) for line in path.read_text(encoding=\"utf-8\").splitlines() if line.strip()]\n    if not items: raise ValueError(\"Customer JSONL contains no requests\")\n    ids = set()\n    for item in items:\n        if set(item) != {\"custom_id\", \"body\"}: raise ValueError(\"Each item needs custom_id and body\")\n        cid = item[\"custom_id\"]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(\"custom_id must be nonempty and unique\")\n        ids.add(cid)\n        if not isinstance(item[\"body\"], dict) or not item[\"body\"].get(\"messages\"): raise ValueError(\"Supply actual text messages\")\n        supplied_model = item[\"body\"].get(\"model\")\n        if supplied_model is not None and supplied_model not in ['mistralai/mistral-small-2603:batch', 'mistralai/mistral-small-2603']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"mistralai/mistral-small-2603:batch\", \"requests\":items}\n\nif __name__ == \"__main__\":\n    material = os.environ.get(\"AILOOT_BATCH_REQUESTS_JSONL\", \"\")\n    if not material: raise SystemExit(\"Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file\")\n    body = prepare_requests(material)\n    key = os.environ.get(\"AILOOT_API_KEY\", \"\")\n    if not key: raise SystemExit(\"Set AILOOT_API_KEY\")\n    request = Request(\"https://api.ailoot.ai/v1/batches\", data=json.dumps(body, ensure_ascii=False).encode(\"utf-8\"), headers={\"Authorization\":\"Bearer \" + key, \"Content-Type\":\"application/json\"}, method=\"POST\")\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(\"batch-create-response.json\").write_bytes(raw)\n        print(raw.decode(\"utf-8\"))\n",
            "label": "Python HTTP · actual customer JSONL",
            "language": "python"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nBATCH_OPERATION_ID=\"$(python3 - <<'PY_ID'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(\"batch-create-response.json\").read_text(encoding=\"utf-8\"))\noperation = response.get(\"id\")\nif not isinstance(operation, str) or not operation: raise SystemExit(\"No actual original operation ID; preserve the response and do not resubmit\")\nprint(quote(operation, safe=\"\"))\nPY_ID\n)\"\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o batch-status-response.json\n",
            "label": "curl · original operation status",
            "language": "bash"
          },
          {
            "code": "import json\nfrom pathlib import Path\nraw = Path(\"batch-status-response.json\").read_bytes()\nresponse = json.loads(raw)\nif response.get(\"status\") != \"completed\":\n    raise SystemExit(\"Keep the original operation; read its status without resubmitting\")\nresults = response.get(\"results\")\nif not isinstance(results, list) or not results:\n    raise SystemExit(\"Preserve the original response; completed results are missing\")\nPath(\"batch-results.jsonl\").write_text(\"\".join(json.dumps(item, ensure_ascii=False) + \"\\n\" for item in results), encoding=\"utf-8\")\n# Preserve batch-status-response.json with aggregate usage and every result/error.\n",
            "label": "Python · save every completed result",
            "language": "python"
          }
        ],
        "family": "batch",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "batches",
        "hints": [
          "Read your actual request items before submission; inline requests are required.",
          "Keep the returned operation ID and every result. Never replay an unknown submission."
        ],
        "http": "POST",
        "in": 0.15,
        "input": [
          "text"
        ],
        "label": "Batch",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0.6,
        "output": [
          "text"
        ],
        "path": "/v1/batches",
        "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"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000015",
                "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": "0.0006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000006",
                "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": "0.000015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000015",
                "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": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.00015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000015",
                "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": "0.0006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000006",
                "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": "0.000015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000015",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/mistral-small-2603:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.015,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.15,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 0.6,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.00015000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000015",
            "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": "0.0006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000006",
            "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": "0.000015000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.000000015",
            "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"
          }
        ]
      }
    }
  ],
  "model_id": "mistralai/mistral-small-2603:batch",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "355dbf5ed1ff76a0ad9b22d4787a3ae1aff3097a9f547445c3bb172efb7c5d93",
    "input_html_sha256": "60d6a56d7bb324c8dcadbe60da8110d9598db0f099abf143ddea859dbc5cd23c",
    "private_audit_sha256": "e48a47a4225be1effc5f1b010ee54267ec3a74eb008a3d3be5fc676750879e83",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pl/mistralai-mistral-small-2603-u003a-batch/",
    "description": "Mistral Small 4 to hybrydowy model przyjmujący tekst i obrazy, z możliwościami instrukcyjnymi, rozumowania i programowania. Wydanie mixture-of-experts o 119 mld parametrów aktywuje 6,5 mld parametrów na token i obsługuje kontekst producenta o wielkości 256 tys. tokenów, wybieraną intensywność rozumowania, JSON i wywołania funkcji.",
    "locale": "pl",
    "md_url": "https://ailoot.ai/models/pl/mistralai-mistral-small-2603-u003a-batch/index.md",
    "title": "Mistral: Mistral Small 4 (batch) — Ailoot",
    "url": "https://ailoot.ai/models/pl/mistralai-mistral-small-2603-u003a-batch/"
  },
  "rawModel": {
    "about": "Mistral Small 4 łączy ogólne wykonywanie instrukcji, rozumowanie i programowanie w jednym modelu multimodalnym. Producent opisuje go jako połączenie rodzin Instruct, rozumowania Magistral i programowania Devstral. Przyjmuje tekst i obrazy oraz zwraca tekst, z wywołaniami funkcji i wynikiem JSON dostępnymi dla aplikacji wspomaganych narzędziami.\n\nArchitektura i główne funkcje\n\nWydanie ma 119 mld parametrów łącznie i aktywuje 6,5 mld na token. Jego architektura mixture-of-experts zawiera 128 ekspertów, z 4 aktywnymi, a producent dokumentuje okno kontekstowe o wielkości 256 tys. tokenów. Liczba aktywnych parametrów i ekspertów opisuje organizację modelu; różni się od ilości treści tekstowej lub obrazowej zawartej w jednym zadaniu.\n\nModel zapewnia funkcje instrukcyjne i rozumowania w tym samym checkpoincie. Producent wskazuje też wizję, przestrzeganie promptu systemowego i obsługę kilkudziesięciu języków, w tym angielskiego, francuskiego, hiszpańskiego, niemieckiego, włoskiego, portugalskiego, niderlandzkiego, chińskiego, japońskiego, koreańskiego i arabskiego. Instrukcja tekstowa może więc pytać o obraz lub łączyć pisemne wymaganie z widocznymi dowodami, a odpowiedź zostanie zwrócona jako tekst.\n\nZadanie wizualne może dostarczać stronę dokumentu i pytać o wartości istotne dla nazwanego warunku. Zachowaj czytelność etykiet i jednostek oraz określ, czy wynik powinien zachować oryginalne brzmienie, podsumować je czy porównać z innym źródłem. Zadanie interfejsowe może połączyć zrzut ekranu z celem użytkownika i żądać właściwego widocznego elementu sterującego oraz dowodów potwierdzających proponowany kolejny krok.\n\nWybór trybu instrukcyjnego lub rozumowania\n\nOpublikowana karta dokumentuje intensywność rozumowania none dla natychmiastowej odpowiedzi w stylu instrukcyjnym i high dla rozumowania, z high zalecanym do złożonych promptów. Wybór dokonywany jest dla każdego żądania w obrębie tego samego modelu Small 4. Zwykła klasyfikacja lub krótkie przeredagowanie mogą mieć inny kontrakt odpowiedzi niż problem matematyczny, wizualny lub programistyczny wymagający rozwiniętego wyjaśnienia.\n\nProducent zaleca temperaturę 0.7 dla wysokiej intensywności rozumowania. Dla none określa temperatury między 0.0 a 0.7 zależnie od zadania. Ustawienia te opisują udokumentowane tryby i nie zmieniają intensywności rozumowania w gwarancję poprawnego wyniku. Zdefiniuj założenia, postać wyniku i istotny materiał źródłowy przed wyborem, ile rozumowania wymaga zadanie.\n\nDla problemu do rozwiązania podaj pełny warunek i poproś o istotne uzasadnione kroki, a następnie wyrażenie końcowe. Dla zadania programistycznego podaj wymaganie, dotkniętą funkcję i konkretne dane wejściowe; zażądaj proponowanej implementacji oddzielnie od wyjaśnienia i przykładów. Demonstracje użycia producenta obejmują wykonywanie instrukcji, narzędzie obliczeniowe zastosowane do obrazu i rozumowanie wizualne, pokazując, jak dowody tekstowe i wizualne mogą wchodzić do tych różnych zadań.\n\nKod, dokumenty i narzędzia\n\nModel jest pozycjonowany do eksploracji kodu i agentów inżynierii oprogramowania, ogólnych asystentów, rozumienia dokumentów i badań. Żądanie agenta programistycznego może wskazywać moduł do zmiany, interfejs do zachowania i zachowanie, które powinno nastąpić. Dostarcz istotne źródła i dowody błędu. Model może proponować kolejną operację lub zmianę kodu, a aplikacja zapewnia dostęp do repozytorium, wykonywanie i informację zwrotną.\n\nDla ekstrakcji z dokumentów wskaż wymagane pola i sposób przedstawiania brakujących informacji. Przydatny rekord może rozdzielać identyfikator dokumentu, stwierdzenie źródłowe, zinterpretowane wymaganie i nierozstrzygnięte pytanie. Karta usługi producenta wymienia niestandardowe uporządkowane wyniki i odpowiadanie na pytania o dokumenty; to drugie wykorzystuje przetwarzanie dokumentu i OCR do przygotowania tekstu oraz struktury przed analizą modelu językowego. Bezpośrednie pytanie o obraz i przepływ dokumentowy wspomagany OCR powinny zachować własne sposoby przygotowania wejścia.\n\nWywoływanie funkcji wymaga jasno opisanych narzędzi. Model wybiera funkcję i tworzy argumenty; aplikacja wykonuje operację i zwraca jej wynik na potrzeby późniejszej odpowiedzi. Ta sama logika obowiązuje niezależnie od tego, czy zadanie dotyczy wyszukiwania, obliczenia czy operacji programistycznej. Formatowanie JSON porządkuje odpowiedź, a wywołanie narzędzia prosi o działanie zewnętrzne; nie należy traktować ich jako wymiennych wyników.\n\nKarta usługi wymienia też przewidywane wyniki, prefiksy odpowiedzi, przetwarzanie wsadowe i rozmowy agentowe. Przewidywane wyniki są przydatne, gdy dokument lub plik kodu trzeba wygenerować ponownie tylko z ograniczoną zmianą, a reszta treści jest znana. Określ zmianę i materiał do zachowania. Kontynuacja prefiksu używa znanego początku odpowiedzi, a przetwarzanie wsadowe dotyczy przesyłania pracy, a nie dodatkowego trybu rozumowania.\n\nZakres kontekstu i edycji\n\nPlanuj pisemne zadanie, materiał wizualny, rozmowę i pożądaną odpowiedź w obrębie udokumentowanego kontekstu o wielkości 256 tys. tokenów. Udostępniony przykład użycia konfiguruje kontekst o wielkości 262 144 tokenów, a jego przykład generowania 1024 tokenów nie jest osobną maksymalną pojemnością wyjścia. Przeczytane źródła nie podają niezależnego sztywnego limitu długości odpowiedzi, którym można by zastąpić długość wybraną dla zadania.\n\nSmall 4 ma własną architekturę mixture-of-experts o 119 mld parametrów i tryby hybrydowe. Nie powinien dziedziczyć gęstej architektury o 128 mld parametrów Medium 3.5 ani osobnych edycji Instruct i Reasoning Ministral 3. Producent udostępnia też odrębne artefakty skwantyzowane i do dekodowania spekulacyjnego; są to osobne artefakty wdrożeniowe, a nie różne modalności treści. Zachowaj wskazane wydanie Small 4 i tryb żądany dla właściwego wyjaśnienia, uporządkowanego rekordu lub wyniku programistycznego.",
    "alias_of": null,
    "aliases": [],
    "author": "Mistral",
    "capabilities": {
      "context_length": 262144,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00015000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000015",
            "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": "0.0006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000006",
            "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"
          }
        ],
        "summary": "Pełny cennik konfiguracji w szczegółach."
      }
    ],
    "ctx": null,
    "formats": [
      "batches"
    ],
    "id": "mistralai/mistral-small-2603:batch",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0.015,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Preserve full JSON and every result; provider real IDs are only read from actual returned responses.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Nieprawidłowa udokumentowana struktura z danymi bezpośrednio w żądaniu, zduplikowane klucze, problem z tożsamością elementu lub konflikt ze skonfigurowanymi możliwościami modelu.",
                "http_status": 400,
                "recovery": "Popraw wskazane pola przed wysłaniem jakiegokolwiek nowego żądania.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Nieprawidłowy klucz API.",
                "http_status": 401,
                "recovery": "Użyj autoryzowanego klucza Ailoot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Grupa Batch jest niedostępna.",
                "http_status": 403,
                "recovery": "Sprawdź uprawnienia klucza i grupy.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Batch korzysta z rozliczania z salda; utworzenie w ramach subskrypcji jest odrzucane.",
                "http_status": 422,
                "recovery": "Użyj autoryzowanej grupy rozliczanej z salda.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Nie można wycenić danych wejściowych Batch.",
                "http_status": 422,
                "recovery": "Zachowaj odpowiedź; użyj danych wejściowych udokumentowanych dla tej rodziny API.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Rezerwa dla Batch jest niedostępna.",
                "http_status": 402,
                "recovery": "Rozwiąż problem dopuszczenia żądania przed wysłaniem nowego.",
                "type": "billing_error"
              },
              {
                "code": null,
                "condition": "Cena metody Batch lub stawki natywne są niedostępne.",
                "http_status": 503,
                "recovery": "Zachowaj odpowiedź; nie zastępuj cen innymi.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Dokładna trasa dostawcy jest niedostępna.",
                "http_status": 503,
                "recovery": "Zachowaj odpowiedź na potrzeby naprawy trasy.",
                "type": "api_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Pierwotny wynik wymaga sprawdzenia; X-Should-Retry:false.",
                "http_status": 503,
                "recovery": "Zachowaj pierwotny operation_id/id i odczytuj stan operacji; nigdy nie powtarzaj pierwotnego POST.",
                "type": null
              },
              {
                "code": "not_found",
                "condition": "Operacja sprawdzania stanu Batch nie istnieje lub należy do innej tożsamości.",
                "http_status": 404,
                "recovery": "Użyj dokładnego pierwotnego id oraz tego samego użytkownika, klucza i grupy.",
                "type": null
              }
            ],
            "example_body": {
              "endpoint": "/v1/chat/completions",
              "model": "mistralai/mistral-small-2603:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "input_constraints": [
              "Use the exact shown :batch model ID.",
              "Each custom_id must be nonempty and unique within the batch.",
              "Keep requests last in the serialized body; duplicate JSON keys are rejected.",
              "Each body.model is omitted or equals the exact batch caller or its documented base ID.",
              "Per-item provider, service_tier and input_type are outside this batch profile.",
              "stream is omitted or false.",
              "Supply text messages for this Chat batch profile; image/audio/file/video objects, hosted tools and cache-control fields are outside this profile.",
              "If body.model is present, use only the exact caller or wire ID listed here; no suffix conversion is needed.",
              "For google/ wire IDs, all items use an identical response_format."
            ],
            "outputs": {
              "all_results": "Zachowaj pełny pierwotny JSON stanu, każdy wynik i custom_id oraz pełną treść odpowiedzi lub błędu. Zapisz ukończone wyniki z results[] jako JSONL bez filtrowania.",
              "enclosing_family": "batch",
              "family": "text",
              "fields": [
                {
                  "name": "results[].custom_id",
                  "type": "string"
                },
                {
                  "name": "results[].response.body.choices[].message.content",
                  "type": "string|null"
                },
                {
                  "name": "results[].error",
                  "type": "object|null"
                },
                {
                  "name": "usage",
                  "type": "object|null"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "endpoint",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "request_counts",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "results[].id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].response.status_code",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].response.request_id",
                  "type": "string"
                }
              ],
              "format": "JSON bezpośrednio w results[].response.body"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "/v1/chat/completions"
                ],
                "enum_known": true,
                "name": "endpoint",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/mistral-small-2603:batch"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "requests",
                "required": true,
                "type": "batch_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].custom_id",
                "required": true,
                "type": "string",
                "unique_within_batch": true
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].body.messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "24h"
                ],
                "enum_known": true,
                "name": "completion_window",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/mistral-small-2603:batch",
                  "mistralai/mistral-small-2603"
                ],
                "enum_known": true,
                "name": "requests[].body.model",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  [
                    "mistral"
                  ]
                ],
                "enum_known": true,
                "name": "provider.only",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  null
                ],
                "enum_known": true,
                "name": "provider.allow_fallbacks",
                "required": false,
                "type": "boolean|null"
              }
            ],
            "provider_policy": {
              "allow_fallbacks": false,
              "configured_only": [
                "mistral"
              ],
              "per_item_override": false,
              "when_omitted": "Current Source injects the exact persisted declaration before fresh submission."
            },
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "completion_window": {
                  "enum": [
                    "24h"
                  ],
                  "type": "string"
                },
                "endpoint": {
                  "enum": [
                    "/v1/chat/completions"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "mistralai/mistral-small-2603:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "enum": [
                        false,
                        null
                      ],
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "enum": [
                        [
                          "mistral"
                        ]
                      ],
                      "items": {
                        "enum": [
                          "mistral"
                        ],
                        "type": "string"
                      },
                      "maxItems": 1,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "body": {
                        "additionalProperties": true,
                        "properties": {
                          "max_tokens": {
                            "minimum": 1,
                            "type": "integer"
                          },
                          "messages": {
                            "items": {
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role",
                                "content"
                              ],
                              "type": "object"
                            },
                            "minItems": 1,
                            "type": "array"
                          },
                          "model": {
                            "enum": [
                              "mistralai/mistral-small-2603:batch",
                              "mistralai/mistral-small-2603"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "messages"
                        ],
                        "type": "object"
                      },
                      "custom_id": {
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "custom_id",
                      "body"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "endpoint",
                "model",
                "requests"
              ],
              "type": "object"
            },
            "schema_template": {
              "endpoint": "/v1/chat/completions",
              "model": "mistralai/mistral-small-2603:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "unsupported": [
              "Files/input_file_id batch upload workflow",
              "active cancel route",
              "public batch list/delete/result-download route",
              "model-name-derived capability or weights equivalence"
            ]
          },
          "input": {
            "content_type": "application/json",
            "file_material": "Wywołujący może lokalnie wczytać rzeczywisty plik JSONL w kodowaniu UTF-8 do requests[]. Nie używa się przeznaczenia przesyłanego pliku, input_file_id ani odwołania do pliku. Brak materiałów klienta lub ich pusta zawartość zatrzymują przygotowanie przed POST.",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "provider.only",
              "provider.allow_fallbacks",
              "completion_window"
            ],
            "representation": "requests[] bezpośrednio w żądaniu; każdy element zawiera custom_id i body",
            "request_endpoint_profile": "/v1/chat/completions",
            "required": [
              "endpoint",
              "model",
              "requests"
            ],
            "schema_scope": "Treści żądań tekstowych Chat Completions w udokumentowanej strukturze Batch z danymi bezpośrednio w żądaniu.",
            "serialization_order": [
              "endpoint",
              "model",
              "provider (jeśli podano)",
              "completion_window (jeśli podano)",
              "requests na końcu"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "create": {
              "accepted_status": 202,
              "http": "POST",
              "path": "/v1/batches"
            },
            "delete": null,
            "file_upload": null,
            "mode": "asynchronous",
            "observed_status_values": [
              "validating",
              "in_progress",
              "finalizing",
              "completed",
              "failed",
              "expired",
              "cancelling",
              "cancelled"
            ],
            "owned_results": {
              "behavior": "Completed results are saved as owned JSONL, read back byte-for-byte and registered in the existing media library before publication after settlement. Status returns inline results; no separate Batch download route is added.",
              "format": "application/x-ndjson",
              "public_url_field_in_status": null
            },
            "status": {
              "http": "GET",
              "id_source": "Rzeczywista wartość response.id zwrócona przy pierwotnym utworzeniu; ten sam użytkownik, klucz i grupa",
              "path": "/v1/batches/{operation_id}"
            },
            "terminal": [
              "completed",
              "failed",
              "expired",
              "cancelled"
            ],
            "unknown": "Zachowaj pierwotny identyfikator operacji. Odpowiedź 503 result_pending_check zawiera X-Should-Retry:false; nigdy nie wysyłaj ponownie pierwotnego żądania Batch, którego wynik jest nieznany."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/batches"
          },
          "output": {
            "all_results": "Preserve the full original status JSON, every result/custom_id and complete response or error body. Save completed results[] as JSONL without filtering.",
            "family": "batch",
            "format": "JSON; completed results[] are returned inline and can be saved as JSONL."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Podstawowe stawki za tokeny",
            "units": [
              {
                "amount": "0.00015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000015",
                "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": "0.0006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000006",
                "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": "0.000015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000015",
                "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": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Przedział długości żądania 1",
            "units": [
              {
                "amount": "0.00015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000015",
                "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": "0.0006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000006",
                "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": "0.000015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000015",
                "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"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json\nfrom pathlib import Path\nbody=json.loads('{\"endpoint\":\"/v1/chat/completions\",\"model\":\"mistralai/mistral-small-2603:batch\",\"requests\":[{\"custom_id\":\"req-0001\",\"body\":{\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"max_tokens\":16}}]}')\nPath(\"batch-request.json\").write_text(json.dumps(body,ensure_ascii=False),encoding=\"utf-8\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n",
            "label": "curl · retained fixture",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(\"Customer JSONL file is missing\")\n    items = [json.loads(line) for line in path.read_text(encoding=\"utf-8\").splitlines() if line.strip()]\n    if not items: raise ValueError(\"Customer JSONL contains no requests\")\n    ids = set()\n    for item in items:\n        if set(item) != {\"custom_id\", \"body\"}: raise ValueError(\"Each item needs custom_id and body\")\n        cid = item[\"custom_id\"]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(\"custom_id must be nonempty and unique\")\n        ids.add(cid)\n        if not isinstance(item[\"body\"], dict) or not item[\"body\"].get(\"messages\"): raise ValueError(\"Supply actual text messages\")\n        supplied_model = item[\"body\"].get(\"model\")\n        if supplied_model is not None and supplied_model not in ['mistralai/mistral-small-2603:batch', 'mistralai/mistral-small-2603']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"mistralai/mistral-small-2603:batch\", \"requests\":items}\n\nif __name__ == \"__main__\":\n    material = os.environ.get(\"AILOOT_BATCH_REQUESTS_JSONL\", \"\")\n    if not material: raise SystemExit(\"Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file\")\n    body = prepare_requests(material)\n    key = os.environ.get(\"AILOOT_API_KEY\", \"\")\n    if not key: raise SystemExit(\"Set AILOOT_API_KEY\")\n    request = Request(\"https://api.ailoot.ai/v1/batches\", data=json.dumps(body, ensure_ascii=False).encode(\"utf-8\"), headers={\"Authorization\":\"Bearer \" + key, \"Content-Type\":\"application/json\"}, method=\"POST\")\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(\"batch-create-response.json\").write_bytes(raw)\n        print(raw.decode(\"utf-8\"))\n",
            "label": "Python HTTP · actual customer JSONL",
            "language": "python"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nBATCH_OPERATION_ID=\"$(python3 - <<'PY_ID'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(\"batch-create-response.json\").read_text(encoding=\"utf-8\"))\noperation = response.get(\"id\")\nif not isinstance(operation, str) or not operation: raise SystemExit(\"No actual original operation ID; preserve the response and do not resubmit\")\nprint(quote(operation, safe=\"\"))\nPY_ID\n)\"\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o batch-status-response.json\n",
            "label": "curl · original operation status",
            "language": "bash"
          },
          {
            "code": "import json\nfrom pathlib import Path\nraw = Path(\"batch-status-response.json\").read_bytes()\nresponse = json.loads(raw)\nif response.get(\"status\") != \"completed\":\n    raise SystemExit(\"Keep the original operation; read its status without resubmitting\")\nresults = response.get(\"results\")\nif not isinstance(results, list) or not results:\n    raise SystemExit(\"Preserve the original response; completed results are missing\")\nPath(\"batch-results.jsonl\").write_text(\"\".join(json.dumps(item, ensure_ascii=False) + \"\\n\" for item in results), encoding=\"utf-8\")\n# Preserve batch-status-response.json with aggregate usage and every result/error.\n",
            "label": "Python · save every completed result",
            "language": "python"
          }
        ],
        "family": "batch",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "batches",
        "hints": [
          "Read your actual request items before submission; inline requests are required.",
          "Keep the returned operation ID and every result. Never replay an unknown submission."
        ],
        "http": "POST",
        "in": 0.15,
        "input": [
          "text"
        ],
        "label": "Batch",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0.6,
        "output": [
          "text"
        ],
        "path": "/v1/batches",
        "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"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000015",
                "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": "0.0006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000006",
                "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": "0.000015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000015",
                "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": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.00015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000015",
                "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": "0.0006000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000006",
                "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": "0.000015000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000015",
                "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"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/mistral-small-2603:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.015,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.15,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 0.6,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.00015000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000015",
            "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": "0.0006000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000006",
            "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": "0.000015000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.000000015",
            "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"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "mistralai/mistral-small-2603:batch",
        "request_model_id": "mistralai/mistral-small-2603:batch",
        "route_label": "Ultra"
      }
    ],
    "name": "Mistral: Mistral Small 4 (batch)",
    "price": {
      "in": 0.15,
      "in_label": null,
      "out": 0.6,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.15,
      "sort_out": 0.6,
      "varies": true
    },
    "short": "Mistral Small 4 to hybrydowy model przyjmujący tekst i obrazy, z możliwościami instrukcyjnymi, rozumowania i programowania. Wydanie mixture-of-experts o 119 mld parametrów aktywuje 6,5 mld parametrów na token i obsługuje kontekst producenta o wielkości 256 tys. tokenów, wybieraną intensywność rozumowania, JSON i wywołania funkcji."
  },
  "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": "Mistral Small 4 to hybrydowy model przyjmujący tekst i obrazy, z możliwościami instrukcyjnymi, rozumowania i programowania. Wydanie mixture-of-experts o 119 mld parametrów aktywuje 6,5 mld parametrów na token i obsługuje kontekst producenta o wielkości 256 tys. tokenów, wybieraną intensywność rozumowania, JSON i wywołania funkcji.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "34a51e9af04450acee91a600e538749256caea705a6da1cb2ed960beb244f0d6",
    "renderer_sha256": "1217dcf19a93e99ac1d6fd7bf974dc19adc12fea4bd4470c2601f04e48f688cb"
  },
  "sourceRevision": "a5dfd65870378862614f5aa2a7fbc0edef9cde3ff18808fc07f623fd21349375"
}
