Source: https://ailoot.ai/models/pl/inclusionai-ling-3-1-flash/
Canonical: https://ailoot.ai/models/pl/inclusionai-ling-3-1-flash/
Language: pl

# inclusionAI: Ling 3.1 Flash

[Markdown](https://ailoot.ai/models/pl/inclusionai-ling-3-1-flash/index.md) · [JSON](https://ailoot.ai/models/pl/inclusionai-ling-3-1-flash/facts.json)

## [inclusionAI: Ling 3.1 Flash](https://ailoot.ai/models/pl/inclusionai-ling-3-1-flash/)

Ling 3.1 Flash to hybrydowy model rozumowania inclusionAI do pracy biurowej, rozbudowanego tworzenia oprogramowania i złożonych agentów. Jego rzadka architektura licząca 560 mld parametrów aktywuje około 25 mld parametrów na token, wspierając planowanie wieloetapowe, interakcje z narzędziami i poprawki na podstawie wyników pośrednich.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `inclusionai/ling-3.1-flash`](https://ailoot.ai/models/pl/inclusionai-ling-3-1-flash/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `inclusionai/ling-3.1-flash`](https://ailoot.ai/models/pl/inclusionai-ling-3-1-flash/#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.

Ling 3.1 Flash to hybrydowy model językowy rozumowania inclusionAI do zadań obejmujących kilka etapów zamiast jednej krótkiej odpowiedzi. Producent pozycjonuje go do codziennej pracy biurowej, rozbudowanej inżynierii oprogramowania i złożonych procesów agentowych. Wykorzystuje architekturę mixture-of-experts z około 560 mld parametrów łącznie i około 25 mld aktywnych na każdy token, łącząc dużą pojemność modelu z mniejszym zakresem aktywnych obliczeń.

Jego głównym celem konstrukcyjnym jest utrzymywanie stanu zadania i korygowanie przebiegu dłuższej pracy. W procesie połączonym z narzędziami model może planować kilka kroków, interpretować wyniki pośrednie i zmieniać kolejny krok, gdy zmieniają się dowody. Podaj mu precyzyjny cel, dostępne materiały i definicję ukończenia. Na przykład: „Przejrzyj te notatki z incydentu, wskaż nierozstrzygnięte przyczyny i przygotuj uporządkowany według priorytetów plan dochodzenia. Dla każdego działania wskaż dowody potrzebne do stwierdzenia, czy zadziałało”. Zamienia to niejasne żądanie w wynik, który można sprawdzić i kontynuować.

W pracy biurowej użyteczne dane wejściowe obejmują notatki źródłowe, tekst wyodrębniony z dokumentów, tabele z jasnymi definicjami kolumn i docelowych odbiorców raportu. Określ okres, jednostki i porównanie do zastosowania. Poproś o pisemny rezultat, taki jak opracowanie dla kierownictwa, plan raportu lub wyjaśnienie ważnych zmian. Przykład: „Korzystając wyłącznie z tych tabel kwartalnych, wyjaśnij największe zmiany, oddziel wartości zaobserwowane od założeń i napisz opracowanie z pytaniami bez odpowiedzi na końcu”. Zachowuj oznaczenia źródeł w danych wejściowych, aby twierdzenia wynikowe można było powiązać z właściwym materiałem.

W tworzeniu oprogramowania producent podkreśla refaktoryzację między językami, optymalizację wydajności i analizę często używanych obszarów bazy kodu. Przekaż odpowiednie pliki jako tekst, zachowanie, które należy zachować, wersje zależności oraz wyniki błędów lub pomiary. Użyteczne żądanie prosi o proponowaną zmianę i kontrole potrzebne do jej oceny: „Zrefaktoryzuj ten parser, zachowując udokumentowany format wyjściowy. Wyjaśnij zachowanie objęte zmianą, pokaż zmieniony kod i wskaż przypadki ujawniające regresję”. Przy pracy nad wydajnością dostarcz rzeczywiste profile lub czasy i poproś o powiązanie każdej rekomendacji ze zmierzonym wąskim gardłem.

Przy profesjonalnej analizie zbierz odpowiednie reguły, definicje i dowody przed poproszeniem o rekomendację. Ling 3.1 Flash ma syntetyzować rozproszone informacje, interpretować wskaźniki i opracowywać propozycje działań. Poproś o porównanie wskazujące założenia i brakujące informacje zamiast niepopartego werdyktu. Na przykład dostarcz kilka propozycji projektowych i poproś o notatkę decyzyjną stosującą te same kryteria do każdej, z obserwacjami popartymi źródłami oddzielonymi od wnioskowanych konsekwencji. Gdy dowody są sprzeczne, poproś o sprzeczne fragmenty i pytanie, które pozwoli rozstrzygnąć rozbieżność.

Producent rozróżnia maksymalny kontekst modelu 1M tokenów od kontekstu 256K obecnie udostępnionego przez oficjalną usługę. Te liczby opisują różne granice. Uporządkuj materiał roboczy według obowiązującego okna i zarezerwuj miejsce na odpowiedź; limit modelu nie oznacza, że każdy interfejs przyjmuje tyle danych wejściowych. Przy dużym zadaniu przechowuj razem cel, podjęte decyzje, nierozstrzygnięte pytania i odwołania do źródeł. Wyraźnie oddzielaj dokumenty i kod, aby materiał do analizy nie został pomylony z instrukcjami do wykonania.

Przygotowuj zadania połączone z narzędziami z jasnymi opisami narzędzi, oczekiwanymi argumentami i użytecznymi zapisami wyników. Przekazuj rzeczywiste wyniki z powrotem do rozmowy, aby kolejna propozycja opierała się na obserwacjach. Poproś model o wyjaśnienie, co zmienia zwrócony wynik i jakich dowodów nadal brakuje. Konstrukcja modelu zorientowana na agentów wspiera taki wzorzec planowania i informacji zwrotnej; aplikacja wykonuje kroki narzędziowe i zachowuje ich wyniki. Proponowane polecenie, zmiana kodu lub raport są najbardziej użyteczne, gdy ich stan jest jasny: zaproponowane, wykonane z zapisanym wynikiem lub nadal oczekujące na weryfikację.

Ling 3.1 Flash należy do linii modeli językowych; odrębna edycja Ling 3.0 Flash VL jest modelem wizualnym producenta. Dla tego zadania tekstowego przygotuj tekstową zawartość źródeł i zachowaj jej strukturę, oznaczenia oraz pochodzenie. Określ język i postać wyjścia, na przykład zwięzłą notatkę, tabelę ustaleń, wyjaśnienie poprawki lub numerowany plan. Poproś model o oznaczenie brakujących informacji i sprawdź zamówiony rezultat względem pierwotnych ograniczeń. Długie procesy nadal wymagają kontroli wyników pośrednich: błędne wczesne założenie mogłoby inaczej przejść do dalszego rozumowania i zostać wygładzone w przekonujący raport końcowy.

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `inclusionai/ling-3.1-flash`

[`inclusionai/ling-3.1-flash`](https://ailoot.ai/models/pl/#m=inclusionai%2Fling-3.1-flash&route=Ultra&caller=inclusionai%2Fling-3.1-flash&fmt=chat)

inclusionAI /`inclusionai/ling-3.1-flash`

### Start

Ling 3.1 Flash to hybrydowy model rozumowania inclusionAI do pracy biurowej, rozbudowanego tworzenia oprogramowania i złożonych agentów. Jego rzadka architektura licząca 560 mld parametrów aktywuje około 25 mld parametrów na token, wspierając planowanie wieloetapowe, interakcje z narzędziami i poprawki na podstawie wyników pośrednich.

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 inclusionai/ling-3.1-flash | 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)

#### Stawki Ailoot

#### Ceny według konfiguracji

Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.

| Konfiguracja | Tabela stawek | Tokeny kontekstu, więcej niż | Tokeny kontekstu, do podanej wartości włącznie | Opłata |
| --- | --- | --- | --- | --- |
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Tokeny kontekstu, więcej niż— | Tokeny kontekstu, do podanej wartości włącznieBez górnej granicy | Opłata Wejście · Tokeny wejściowe **$0.0006** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.0018** / 1K tokenów Wejście · Odczyt cache **$0.00012** / 1K tokenów Wejście · Zapis do cache **—** / 1K tokenów Wejście · Zapis do cache, 1 godz. **—** / 1K tokenów |
| KonfiguracjaPrzedział długości żądania 1 | Tabela stawek— | Tokeny kontekstu, więcej niż0 | Tokeny kontekstu, do podanej wartości włącznieBez górnej granicy | Opłata Wejście · Tokeny wejściowe **$0.0006** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.0018** / 1K tokenów Wejście · Odczyt cache **$0.00012** / 1K tokenów Wejście · Zapis do cache **—** / 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":"inclusionai/ling-3.1-flash","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="inclusionai/ling-3.1-flash", 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** [`inclusionai/ling-3.1-flash`](https://ailoot.ai/models/pl/#m=inclusionai%2Fling-3.1-flash&route=Ultra&caller=inclusionai%2Fling-3.1-flash&fmt=chat)

#### Aliasy ścieżek metod

`/chat/completions`

#### Powiązane ID modeli

[`inclusionai/ling-3.1-flash`](https://ailoot.ai/models/pl/#m=inclusionai%2Fling-3.1-flash&route=Ultra&caller=inclusionai%2Fling-3.1-flash&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `inclusionai/ling-3.1-flash`

[`inclusionai/ling-3.1-flash`](https://ailoot.ai/models/pl/#m=inclusionai%2Fling-3.1-flash&route=Ultra&caller=inclusionai%2Fling-3.1-flash&fmt=messages)

inclusionAI /`inclusionai/ling-3.1-flash`

### Start

Ling 3.1 Flash to hybrydowy model rozumowania inclusionAI do pracy biurowej, rozbudowanego tworzenia oprogramowania i złożonych agentów. Jego rzadka architektura licząca 560 mld parametrów aktywuje około 25 mld parametrów na token, wspierając planowanie wieloetapowe, interakcje z narzędziami i poprawki na podstawie wyników pośrednich.

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 inclusionai/ling-3.1-flash | 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)

#### Stawki Ailoot

#### Ceny według konfiguracji

Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.

| Konfiguracja | Tabela stawek | Tokeny kontekstu, więcej niż | Tokeny kontekstu, do podanej wartości włącznie | Opłata |
| --- | --- | --- | --- | --- |
| KonfiguracjaPodstawowe stawki za tokeny | Tabela stawekStawka podstawowa | Tokeny kontekstu, więcej niż— | Tokeny kontekstu, do podanej wartości włącznieBez górnej granicy | Opłata Wejście · Tokeny wejściowe **$0.0006** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.0018** / 1K tokenów Wejście · Odczyt cache **$0.00012** / 1K tokenów Wejście · Zapis do cache **—** / 1K tokenów Wejście · Zapis do cache, 1 godz. **—** / 1K tokenów |
| KonfiguracjaPrzedział długości żądania 1 | Tabela stawek— | Tokeny kontekstu, więcej niż0 | Tokeny kontekstu, do podanej wartości włącznieBez górnej granicy | Opłata Wejście · Tokeny wejściowe **$0.0006** / 1K tokenów Wyjście · Tokeny wyjściowe **$0.0018** / 1K tokenów Wejście · Odczyt cache **$0.00012** / 1K tokenów Wejście · Zapis do cache **—** / 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": "inclusionai/ling-3.1-flash",
  "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': 'inclusionai/ling-3.1-flash', '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': 'inclusionai/ling-3.1-flash', '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** [`inclusionai/ling-3.1-flash`](https://ailoot.ai/models/pl/#m=inclusionai%2Fling-3.1-flash&route=Ultra&caller=inclusionai%2Fling-3.1-flash&fmt=messages)

#### Aliasy ścieżek metod

`/chat/completions`

#### Powiązane ID modeli

[`inclusionai/ling-3.1-flash`](https://ailoot.ai/models/pl/#m=inclusionai%2Fling-3.1-flash&route=Ultra&caller=inclusionai%2Fling-3.1-flash&fmt=messages)

FAQ · inclusionAI: Ling 3.1 Flash

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

`POST /v1/chat/completions` · `inclusionai/ling-3.1-flash`: `text` → `text` `POST /v1/messages` · `inclusionai/ling-3.1-flash`: `text` → `json`, `sse`

Jakich pól używa żądanie?

`POST /v1/chat/completions` · `inclusionai/ling-3.1-flash`: `model`, `messages`, `stream` `POST /v1/messages` · `inclusionai/ling-3.1-flash`: `model`, `messages`, `max_tokens`, `stream`

Jakie limity obowiązują?

`POST /v1/chat/completions` · `inclusionai/ling-3.1-flash`: `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.
