Source: https://ailoot.ai/models/pl/gemini-3-pro-preview/
Canonical: https://ailoot.ai/models/pl/gemini-3-pro-preview/
Language: pl

# gemini-3-pro-preview

[Markdown](https://ailoot.ai/models/pl/gemini-3-pro-preview/index.md) · [JSON](https://ailoot.ai/models/pl/gemini-3-pro-preview/facts.json)

## [gemini-3-pro-preview](https://ailoot.ai/models/pl/gemini-3-pro-preview/)

Gemini 3 Pro Preview to multimodalny model rozumowania Google, przyjmujący tekst, obrazy, dźwięk, wideo i pliki PDF oraz generujący tekst. Duży limit danych wejściowych, możliwości programistyczne i obsługiwane procesy korzystania z narzędzi sprawdzają się w szczegółowej analizie, porównywaniu dokumentów i wykonywaniu zadań na podstawie dowodów.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gemini-3-pro-preview`](https://ailoot.ai/models/pl/gemini-3-pro-preview/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gemini-3-pro-preview`](https://ailoot.ai/models/pl/gemini-3-pro-preview/#method-1)

O modelu

Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.

Gemini 3 Pro Preview to nazwany wariant przedpremierowy Gemini 3 Pro firmy Google, przeznaczony do multimodalnego rozumowania i generowania tekstu. Może pracować z tekstem, obrazami, dźwiękiem, wideo i dokumentami PDF, zwracając wynik pisemny. Zamierzone zastosowania obejmują złożoną analizę, zaawansowane programowanie, opracowywanie algorytmów i zadania łączące obszerny zestaw źródeł z konkretnym pytaniem.

#### Model i struktura danych wejściowych

Gemini 3 Pro to oparty na transformerach model z rzadką aktywacją ekspertów w architekturze mixture-of-experts, z natywną obsługą multimodalnych danych wejściowych. Architektura kieruje każdy token do wybranego podzbioru ekspertów. Jest to cecha konstrukcji modelu, a nie ustawienie umożliwiające użytkownikowi wybór konkretnego eksperta lub ustalenie konfiguracji obsługi żądań.

Przygotuj dane wejściowe zgodnie z zapotrzebowaniem zadania na informacje. Dokument, zrzut ekranu i nagranie audio mogą dostarczać różnych dowodów. Określ zawartość każdego materiału i jego wkład w odpowiedź. Wynik pozostaje tekstowy; rozumienie materiałów wizualnych lub mowy nie czyni tej wersji generatorem obrazów, mowy ani wideo.

#### Analiza multimodalna

Wykorzystuj obrazy do pytań o widoczną treść, dźwięk do informacji mówionych lub akustycznych, a wideo do sekwencji, w których istotne są zmiany w czasie. Dołącz rzeczywisty materiał do pytania, zamiast opisywać go wyłącznie z pamięci. Przy porównywaniu kilku materiałów oznacz je czytelnie, aby odpowiedź mogła odnosić się do właściwego źródła.

Na przykład wytyczne do analizy produktu mogą łączyć pisemną specyfikację, zrzut interfejsu i nagraną demonstrację. Poproś o porównanie oddzielające obietnice specyfikacji od tego, co widać lub słychać w dostarczonych materiałach. Określ oczekiwany wynik jako ustalenia, wspierające je obserwacje i nierozstrzygnięte pytania.

Przy zadaniu dotyczącym PDF przekaż dokument i wskaż sekcje lub twierdzenia do zbadania. Użyteczne pytanie wymaga porównania, ekstrakcji lub wyjaśnienia opartego na źródle, zamiast jedynie ogólnego streszczenia dużego pliku.

#### Długi kontekst i limit odpowiedzi

Specyfikacja tej dokładnej wersji podaje limit wejścia 1 048 576 tokenów i limit wyjścia 65 536 tokenów. Producent wskazuje styczeń 2025 r. jako datę graniczną wiedzy; dostarcz nowsze dowody, gdy pytanie zależy od późniejszych wydarzeń lub informacji. Są to odrębne limity. Można odczytać obszerny zestaw źródeł w celu udzielenia skoncentrowanej odpowiedzi bez wymagania od modelu odtworzenia każdej części wejścia.

Uporządkuj długi materiał tak, aby jego struktura była jasna: tytuły dokumentów, granice sekcji, ścieżki kodu i pytanie, na które wynik ma odpowiedzieć. Umieszczaj istotne wyjątki i definicje blisko treści, którą doprecyzowują. Jeśli zadanie wymaga długiego raportu, określ jego sekcje i dowody oczekiwane w każdej z nich.

Duże okno kontekstu nie gwarantuje równej uwagi dla każdego szczegółu ani poprawności wszystkich wniosków. Google wskazuje także możliwość pogorszenia jakości w rozmowach wieloturowych; w miarę rozwoju wymiany sprawdzaj ważne fakty źródłowe i ponownie wykorzystywany kontekst. Porównuj odpowiedź z konkretnymi fragmentami lub materiałami, które wspierają jej istotne twierdzenia.

#### Programowanie i opracowywanie algorytmów

Zamierzone zastosowania producenta obejmują zaawansowane programowanie i prace algorytmiczne. Przekaż odpowiedni kod źródłowy, założenia dotyczące środowiska, zaobserwowany błąd i oczekiwane zachowanie. Przy zadaniu algorytmicznym określ wejście, pożądane wyjście i warunki, takie jak kolejność, duplikaty czy nieprawidłowe dane.

Użyteczny opis debugowania łączy wejście powodujące błąd i sam błąd z najmniejszym istotnym fragmentem kodu. Poproś o diagnozę i ukierunkowaną zmianę, a następnie sprawdź, czy proponowana zmiana rozwiązuje zgłoszone zachowanie. Wygenerowany kod i deklaracja, że powinien działać, to coś innego niż uruchomiona i zweryfikowana implementacja.

W przypadku pytania o większe repozytorium wykorzystaj limit wejściowy do przekazania potrzebnych plików z czytelnymi oznaczeniami ścieżek. Wskaż, czy oczekiwanym rezultatem jest wyjaśnienie, proponowana poprawka czy analiza alternatyw, aby wynik miał konkretny cel.

#### Narzędzia, źródła i wyniki strukturalne

Specyfikacja producenta dla tej wersji obsługuje wywoływanie funkcji, wykonywanie kodu, wyszukiwanie plików, oparcie odpowiedzi na wynikach wyszukiwania i kontekst adresów URL. Funkcje te pełnią różne role. Wywołanie funkcji opisuje operację, którą ma wykonać aplikacja; wynik narzędzia dostarcza następnie dowodów do kolejnego kroku modelu. Wykonywanie kodu jest procesem narzędziowym, a nie gwarancją, że dowolny wygenerowany kod aplikacji został już przetestowany.

Oparcie odpowiedzi na wyszukiwaniu i kontekst URL umożliwiają pracę ze źródłami, a wyszukiwanie plików dotyczy przygotowanej kolekcji plików. Zachowuj wyniki narzędzi i powiązania ze źródłami wraz z odpowiedzią, aby dało się sprawdzić wniosek. Według specyfikacji wariant nie obsługuje sterowania komputerem ani oparcia odpowiedzi na Mapach.

Obsługa strukturalnych odpowiedzi pozwala wyrazić wynik według zdefiniowanego schematu. Przed generowaniem określ pola i ich znaczenie, a potem sprawdź zarówno treść, jak i format. Poprawny obiekt strukturalny nadal wymaga weryfikacji faktów i zgodności z zadaniem.

#### Rozumowanie, ponowne wykorzystanie i granice edycji

Ta wersja obsługuje tryb rozumowania. Przy pracy wymagającej kilku kroków rozumowania podaj jasne zadanie, odpowiednie dowody i wyraźne ograniczenia. Wynik powinien wyjaśniać założenia i użyteczny wniosek; ukryte rozumowanie lub istnienie trybu myślenia samo w sobie nie stanowi weryfikacji.

Producent wymienia również obsługę pamięci podręcznej i przetwarzania wsadowego. Są to funkcje przetwarzania odrębne od możliwości modelu w zakresie treści; ich obecność nie dowodzi, że konkretne żądanie wykorzystało pamięć podręczną ani że wynik wsadu jest poprawny.

Zachowaj rozróżnienie Gemini 3 Pro Preview od Gemini 3.1 Pro Preview, Gemini 3 Pro Image oraz wariantów audio i Live. Wynikiem tej wersji jest tekst, a jej specyfikacja nie obejmuje generowania obrazów, dźwięku ani działania Live. Oceniaj zwróconą odpowiedź, kod lub wynik strukturalny na podstawie dostarczonych źródeł i zamierzonego zadania.

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gemini-3-pro-preview`

[`gemini-3-pro-preview`](https://ailoot.ai/models/pl/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=chat)

Inne /`gemini-3-pro-preview`

### Start

Gemini 3 Pro Preview to multimodalny model rozumowania Google, przyjmujący tekst, obrazy, dźwięk, wideo i pliki PDF oraz generujący tekst. Duży limit danych wejściowych, możliwości programistyczne i obsługiwane procesy korzystania z narzędzi sprawdzają się w szczegółowej analizie, porównywaniu dokumentów i wykonywaniu zadań na podstawie dowodów.

Akceptowane dane wejściowe

Tekst

Wyniki

Tekst

### Dostępne w Ailoot · dane wejściowe i metody

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions`

Wejście

`text`

Wyjście

`text`

Format wyjściowy

json lub SSE

| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | WymaganieWymagane | Wartości i limity gemini-3-pro-preview | Domyślnie— |
| Pole`messages` | Typ`message[]` | WymaganieWymagane | Wartości i limity Minimalna liczba elementów: 1 | Domyślnie— |
| Pole`messages[].role` | Typ`string` | WymaganieWymagane | Wartości i limity Zależy od modelu | Domyślnie— |
| Pole`messages[].content` | Typ`string` | WymaganieOpcjonalne | Wartości i limity Obowiązuje, gdy: Rozmowa tekstowa | Domyślnie— |
| Pole`stream` | Typ`boolean` | WymaganieOpcjonalne | Wartości i limity | Domyślniefalse |

Kombinacje materiałów wejściowych

**Tekst** · tekst UTF8

`messages[].content`

Parametry i cykl życia metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, messages |
| Parametr`material_types` | Kontrakttext |
| Parametr`messages` | Kontrakttablica wiadomości o strukturze role/content |
| Parametr`file_material` | Kontraktrzeczywisty dokument UTF-8 wstawiony jako dosłowny tekst; bez wywnioskowanego ID pliku |
| Parametr`optional_controls` | Kontraktstream |
| Parametr`control_scope` | KontraktRozmowa tekstowa; stream jest wartością logiczną i domyślnie wynosi false. |
| Parametr`output_modalities` | Kontrakttext |
| Parametr`hosted_operations` | Kontraktfalse |
| Parametr`multimodal_input_binding` | Kontraktnull |

Aliasy metody: `/chat/completions`

Cykl życia: `synchronous_or_streamed`

Wyślij dokładne ID modelu wraz z messages.

Długość kontekstu nie jest limitem wyjścia.

Plik tekstowy może dostarczyć dosłowny tekst; wejścia obrazowe/dźwiękowe/obiekty plików wymagają dokładnego powiązania.

### Cennik

Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.

Tryb szybki

Nie określono Gdy wybrany jest tryb szybki

Tryb flex

Nie określono Gdy wybrany jest tryb flex

Maksymalna intensywność rozumowania

Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)

Wycena jawnej pamięci podręcznej

Niewłączone Gdy zażądano jawnej pamięci podręcznej

#### Stawki Ailoot

#### Ceny według konfiguracji

| Konfiguracja | Tabela stawek | Opłata |
| --- | --- | --- |
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe **$0.004** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.024** / 1K tokenów Wejście · Odczyt cache **$0** / 1K tokenów Wejście · Zapis do cache **$0** / 1K tokenów Wejście · Zapis do cache, 1 godz. **—** / 1K tokenów |

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. [Jak działają rezerwacja i rozliczenie →](https://ailoot.ai/docs/pl/billing/reserve/)

### Przykładowe żądania

#### Ailoot Ultra · OpenAI Chat

curlPython SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"gemini-3-pro-preview","messages":[{"role":"user","content":"hello"}],"stream":false}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model="gemini-3-pro-preview", messages=[{"role":"user","content":"hello"}], stream=False)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

### Odbieranie i zapisywanie wyników

#### Ailoot Ultra · OpenAI Chat

json lub SSE

##### Zachowaj wszystkie ukończone wyniki

Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.

Zachowaj każdy wariant i jego treść/wywołania narzędzi/rozumowanie. W SSE składaj przyrosty według indeksu wariantu/narzędzia, zachowując końcowy powód zakończenia i dane użycia.

##### Jeśli trzeba sprawdzić pierwotną odpowiedź

Zachowaj ID i nagłówki żądań/odpowiedzi. Nie udostępniono ogólnego URL pobierania zadania tekstowego.

Pola odpowiedzi

| Pole | Typ |
| --- | --- |
| Pole`choices[].index` | Typinteger |
| Pole`choices[].message.content` | Typstring\|null |
| Pole`choices[].message.tool_calls` | Typtool\_call\[\] |
| Pole`choices[].message.reasoning_content` | Typstring |
| Pole`choices[].message.reasoning_details` | Typobject\|array |
| Pole`choices[].finish_reason` | Typstring\|null |
| Pole`usage` | Typobject |

Błędy i dalsze kroki

| Odpowiedź | Warunek | Następny krok |
| --- | --- | --- |
| Odpowiedź400 · `invalid_request_error` | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`gemini-3-pro-preview`](https://ailoot.ai/models/pl/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=chat)

#### Aliasy ścieżek metod

`/chat/completions`

#### Powiązane ID modeli

[`gemini-3-pro-preview`](https://ailoot.ai/models/pl/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gemini-3-pro-preview`

[`gemini-3-pro-preview`](https://ailoot.ai/models/pl/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=messages)

Inne /`gemini-3-pro-preview`

### Start

Gemini 3 Pro Preview to multimodalny model rozumowania Google, przyjmujący tekst, obrazy, dźwięk, wideo i pliki PDF oraz generujący tekst. Duży limit danych wejściowych, możliwości programistyczne i obsługiwane procesy korzystania z narzędzi sprawdzają się w szczegółowej analizie, porównywaniu dokumentów i wykonywaniu zadań na podstawie dowodów.

Akceptowane dane wejściowe

Tekst

Wyniki

json · sse

### Dostępne w Ailoot · dane wejściowe i metody

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages`

Wejście

`text`

Wyjście

`json`, `sse`

Format wyjściowy

JSON lub SSE

| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
| --- | --- | --- | --- | --- |
| Pole`model` | Typ`string` | WymaganieWymagane | Wartości i limity gemini-3-pro-preview | Domyślnie— |
| Pole`messages` | Typ`message[]` | WymaganieWymagane | Wartości i limity | Domyślnie— |
| Pole`messages[].role` | Typ`string` | WymaganieWymagane | Wartości i limity user, assistant | Domyślnie— |
| Pole`messages[].content` | Typ`string` | WymaganieWymagane | Wartości i limity | Domyślnie— |
| Pole`max_tokens` | Typ`integer` | WymaganieWymagane | Wartości i limity | Domyślnie— |
| Pole`stream` | Typ`boolean` | WymaganieOpcjonalne | Wartości i limity | Domyślniefalse |

Kombinacje materiałów wejściowych

**Tekst** · tekst UTF-8

`ciąg messages[].content`

Parametry i cykl życia metody

| Parametr | Kontrakt |
| --- | --- |
| Parametr`content_type` | Kontraktapplication/json |
| Parametr`required` | Kontraktmodel, messages, max\_tokens |
| Parametr`optional_controls` | Kontraktstream |
| Parametr`material_types` | Kontrakttext |
| Parametr`text_file_material` | KontraktOdczytaj rzeczywisty dokument UTF-8 i umieść jego tekst we wskazanym polu input lub w ciągu treści wiadomości. |

Cykl życia: `synchronous_or_streamed`

### Cennik

Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.

Tryb szybki

Nie określono Gdy wybrany jest tryb szybki

Tryb flex

Nie określono Gdy wybrany jest tryb flex

Maksymalna intensywność rozumowania

Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)

Wycena jawnej pamięci podręcznej

Niewłączone Gdy zażądano jawnej pamięci podręcznej

#### Stawki Ailoot

#### Ceny według konfiguracji

| Konfiguracja | Tabela stawek | Opłata |
| --- | --- | --- |
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Opłata Wejście · Tokeny wejściowe **$0.004** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.024** / 1K tokenów Wejście · Odczyt cache **$0** / 1K tokenów Wejście · Zapis do cache **$0** / 1K tokenów Wejście · Zapis do cache, 1 godz. **—** / 1K tokenów |

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. [Jak działają rezerwacja i rozliczenie →](https://ailoot.ai/docs/pl/billing/reserve/)

### Przykładowe żądania

#### Ailoot Ultra · Anthropic Messages

Kompletna minimalna treść żądania JSONcurl · użyj swojego dokumentu UTF-8Python · zapisz kompletny wynik

```json
{
  "model": "gemini-3-pro-preview",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'gemini-3-pro-preview', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'gemini-3-pro-preview', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Odbieranie i zapisywanie wyników

#### Ailoot Ultra · Anthropic Messages

JSON lub SSE

##### Zachowaj wszystkie ukończone wyniki

Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.

Zachowaj wszystkie bloki treści, sygnatury myślenia i rzeczywiste ID użycia narzędzi. Złóż wszystkie przyrosty bloków SSE; pierwszy blok tekstowy nie jest pełnym wyjściem.

##### Jeśli trzeba sprawdzić pierwotną odpowiedź

Zachowaj ID i nagłówki żądań/odpowiedzi. Nie udostępniono ogólnego URL pobierania zadania tekstowego.

Pola odpowiedzi

| Pole | Typ |
| --- | --- |
| Pole`id` | Typstring |
| Pole`model` | Typstring |
| Pole`content[]` | Typtext\|thinking\|tool\_use\|other content block |
| Pole`stop_reason` | Typstring\|null |
| Pole`usage` | Typobject |

Błędy i dalsze kroki

| Odpowiedź | Warunek | Następny krok |
| --- | --- | --- |
| Odpowiedź400 · `invalid_request_error` | WarunekNieprawidłowe wymagane pola, sposób reprezentacji materiału lub wartość parametru | Następny krokPopraw wskazane pola przed nowym żądaniem utworzenia. |

### Aliasy

#### Aliasy modelu

**Ailoot Ultra** [`gemini-3-pro-preview`](https://ailoot.ai/models/pl/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=messages)

#### Aliasy ścieżek metod

`/chat/completions`

#### Powiązane ID modeli

[`gemini-3-pro-preview`](https://ailoot.ai/models/pl/#m=gemini-3-pro-preview&route=Ultra&caller=gemini-3-pro-preview&fmt=messages)

FAQ · gemini-3-pro-preview

Jakie dane wejściowe i wyniki są dostępne?

`POST /v1/chat/completions` · `gemini-3-pro-preview`: `text` → `text` `POST /v1/messages` · `gemini-3-pro-preview`: `text` → `json`, `sse`

Jakich pól używa żądanie?

`POST /v1/chat/completions` · `gemini-3-pro-preview`: `model`, `messages`, `stream` `POST /v1/messages` · `gemini-3-pro-preview`: `model`, `messages`, `max_tokens`, `stream`

Jakie limity obowiązują?

`POST /v1/chat/completions` · `gemini-3-pro-preview`: `messages.min_items`: `1`

Połącz Ailoot z Claude Code, OpenCode, Hermes albo własną aplikacją.

## Firma i jej portfel projektów

Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.

## Kupuj tokeny z rabatem.

Rabat subskrypcji do regularnej pracy. Kody promocyjne — do 50% na tokeny.

Subskrypcja

Wybierz plan z rabatem do regularnych żądań.

Kod promocyjny do 50%

Wpisz kod przy zakupie. Cena zostanie przeliczona według aktualnej promocji.

Koszty w historii

Model, tokeny i kwota są zapisywane dla każdego żądania.

[Wybierz subskrypcję](https://ailoot.ai/docs/pl/billing/subscriptions/) · [Sprawdź ceny modeli](https://ailoot.ai/models/pl/)

## Połącz API z produktem, który sprzedajesz.

SaaS, aplikacje i boty na warunkach oferty i umowy licencyjnej Ailoot. Do odsprzedaży poproś o licencję resellerską.

Aplikacja komercyjna

Wbuduj generowanie tekstu, obrazów, wideo i dźwięku w płatne funkcje usługi.

Licencja resellerska

Prześlij opis projektu i schemat dostępu. Poproś o pisemne warunki używania i odsprzedaży.

Dokumenty na stronie

Oferta, umowa licencyjna i polityka przetwarzania danych są dostępne przed połączeniem.

[Poproś o licencję resellerską](mailto:support@ailoot.ai) · [Oferta i umowa licencyjna](https://ailoot.ai/legal/offer?lang=pl)

## Ailoot · Firma i jej portfel projektów





Ailoot opiera się na zgromadzonym doświadczeniu operacyjnym, szerokiej bazie klientów, stabilnej usłudze i stałej kontroli KPI.





Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.





Ailoot wykorzystuje to doświadczenie operacyjne, zapewniając dostęp przez API do funkcji AI w produktach klientów, agentach, aplikacjach i automatyzacjach.
