Source: https://ailoot.ai/models/lt/gpt-6-sol/
Canonical: https://ailoot.ai/models/lt/gpt-6-sol/
Language: lt

# OpenAI: GPT-6 Sol

[Markdown](https://ailoot.ai/models/lt/gpt-6-sol/index.md) · [JSON](https://ailoot.ai/models/lt/gpt-6-sol/facts.json)

## [OpenAI: GPT-6 Sol](https://ailoot.ai/models/lt/gpt-6-sol/)

GPT-6 Sol skirta sudėtingam programavimui ir daugiapakopėms užduotims su įrankiais. Dirba su tekstu ir vaizdais bei leidžia nustatyti samprotavimo gylį.

- [**Ailoot · Anthropic pranešimai** `POST /v1/messages` `gpt-6-sol`](https://ailoot.ai/models/lt/gpt-6-sol/#method-0)
- [**Ailoot · OpenAI Responses** `POST /v1/responses` `gpt-6-sol`](https://ailoot.ai/models/lt/gpt-6-sol/#method-1)
- [**Ailoot · OpenAI pokalbis** `POST /v1/chat/completions` `gpt-6-sol`](https://ailoot.ai/models/lt/gpt-6-sol/#method-2)
- [**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `gpt-6-sol`](https://ailoot.ai/models/lt/gpt-6-sol/#method-3)
- [**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `gpt-6-sol`](https://ailoot.ai/models/lt/gpt-6-sol/#method-4)
- [**Ailoot Ultra · OpenAI Responses** `POST /v1/responses` `gpt-6-sol`](https://ailoot.ai/models/lt/gpt-6-sol/#method-5)
- [**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `openai/gpt-6-sol`](https://ailoot.ai/models/lt/gpt-6-sol/#method-6)
- [**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `openai/gpt-6-sol`](https://ailoot.ai/models/lt/gpt-6-sol/#method-7)
- [**Ailoot Ultra · OpenAI Responses** `POST /v1/responses` `openai/gpt-6-sol`](https://ailoot.ai/models/lt/gpt-6-sol/#method-8)

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

#### Programavimas tęsiant darbą

GPT-6 Sol — OpenAI modelis sudėtingam programavimui ir daugiapakopėms užduotims su įrankiais. Jis priima tekstą ir vaizdus bei grąžina tekstą. Modelis skirtas darbui, kuriame atskiras atsakymas gali virsti veiksmu, o veiksmo rezultatas — nauju sprendimo žingsniu.

Jo galimybės apima srautinį pateikimą, struktūruotą išvestį ir funkcijų kvietimą. Tai leidžia pasirinkti reikiamą rezultato formą: paaiškinimą, parengtą tekstą arba iš anksto nustatytos struktūros duomenis. Kai užduočiai reikia išorinio veiksmo, modelis naudoja suteiktą įrankių rinkinį.

#### Samprotavimas ir pasirinktas formatas

Galima nustatyti `none`, `low`, `medium`, `high`, `xhigh` ir `max`; pagal numatymą naudojamas `medium`. Reikšmė `none` reiškia apdorojimą be samprotavimo. Kiti lygiai nustato sprendimo pastangas, o galutinio atsakymo dydis ir stilius apibrėžiami atskirai.

Atskirai nuo samprotavimo pastangų gamintojas numato įprastą ir išplėstinį vykdymo režimus. Įprastas pasirinktas pagal numatymą. Išplėstiniu režimu atliekamas papildomas darbas sprendžiant sunkią užduotį, todėl gali reikėti daugiau laiko ir tokenų. Režimas nustato apdorojimo būdą, o pastangų lygis — analizės gylį jo viduje. Režimo pasirinkimas numatytas `Responses` ir reikalauja atitinkamo programos palaikymo; jo prieinamumas dabartiniame Ailoot metode atskirai nepatvirtintas.

Samprotavimui su įrankiais skirta `Responses`. Formatu `Chat Completions` funkcijų kvietimas palaikomas tik pasirinkus `none`. Tai svarbi konkretaus modelio ypatybė: formato ir režimo pasirinkimas lemia, ar viename procese galima derinti samprotavimą ir veiksmus.

#### Medžiaga ir apimties ribos

Gamintojo konteksto langas — 1 050 000 tokenų. Maksimali įvestis — 922 000, maksimali išvestis — 128 000 tokenų. Žinių riba — 2026 m. balandžio 20 d. Vaizdai yra įvesties medžiaga; tiesioginis Sol rezultatas išlieka tekstinis.

Didelėje užklausoje reikia atsižvelgti ir į pradinę medžiagą, ir į istoriją. Vidinis samprotavimas taip pat užima išvesties biudžetą, todėl išvesties ribos negalima suprasti kaip tokio pat ilgio matomo teksto pažado. Ilgo konteksto palaikymas padeda išlaikyti užduoties medžiagą vienoje darbo erdvėje.

#### Kodas, paieška ir prijungtos funkcijos

OpenAI nurodo paiešką internete ir failuose, kodo bei komandų vykdymą, failų keitimą, veiksmus kompiuteryje ir įrankių paiešką. Modelis gali naudoti šias funkcijas nuosekliam darbui su projektu ir atsižvelgti į jų rezultatus rengdamas kitą žingsnį.

Atitinkamai prijungus, gamintojas taip pat numato atskirą vaizdų generavimo įrankį, darbą su įgūdžiais ir išorines priemones per MCP. Tiesioginis modelio atsakymas išlieka tekstinis; vaizdo generavimo rezultatą sukuria atskiras įrankis. Jo buvimas gamintojo sistemoje nereiškia, kad šios galimybės prijungtos bet kuriame Ailoot metode.

Naudotojo funkcijų atveju programa gauna pasirinktą veiksmą ir argumentus, jį įvykdo bei perduoda rezultatą modeliui. Tokio apsikeitimo palaikymas nereiškia, kad kiekvienas įrankis jau prijungtas. Funkcijų rinkinys konkrečioje užklausoje priklauso nuo pasirinkto metodo ir suteiktų galimybių.

Pasikartojančios užklausos pradžios dalys palaiko podėlio naudojimą. Struktūruota išvestis nustato duomenų formą pagal JSON schemą; formos laikymasis nepakeičia turinio patikros. Ilgose užduotyse numatyti būdai išsaugoti naudingą būseną ir sutrumpinti sukauptą kontekstą.

Praktinė užduotis

### Praktinė užduotis

Techninis pavyzdys anglų kalba

```
Patch a pagination termination bug

A paginator requests pages with a cursor. Its loop stops only when items is empty, but the service can return a nonempty final page with next_cursor absent. Draft corrected pseudocode preserving every returned item exactly once. Include checks for an empty first page, a full final page without a cursor and two pages with distinct cursors.
```

#### Laukiamas rezultatas

```
Corrected pagination pseudocode and three behavior checks against the stated response cases.
```

#### Rezultato patikra

```
The loop processes the final nonempty page before stopping on its absent next cursor.
```

**Ailoot · Anthropic pranešimai** `POST /v1/messages` `gpt-6-sol`

[`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=messages)

OpenAI /`gpt-6-sol`

### Pradžia

GPT-6 Sol skirta sudėtingam programavimui ir daugiapakopėms užduotims su įrankiais. Dirba su tekstu ir vaizdais bei leidžia nustatyti samprotavimo gylį.

Leidžiamos įvestys

Tekstas · Vaizdai

Rezultatai

Tekstas

### Prieinama Ailoot · įvestys ir metodai

**Ailoot · Anthropic pranešimai** `POST /v1/messages`

Įvestis

`text`, `image`

Išvestis

`text`

Kontekstas

1 050 000 tokens

Didžiausia išvestis

128 000 tokens

Išvesties formatas

json arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos gpt-6-sol | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos user, assistant | Numatyta— |
| Laukas`messages[].content` | Tipas`string\|content_block[]` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`system` | Tipas`string\|content_block[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Riba taikoma: konkretus pasirinkto modelio / kortelės limitas | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
| Laukas`temperature` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`top_p` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`stop_sequences` | Tipas`string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools` | Tipas`tool[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].name` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: pateiktas įrankis | Numatyta— |
| Laukas`tools[].description` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tools[].input_schema` | Tipas`JSON_schema` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tool_choice` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`thinking.type` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`thinking.budget_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`output_config.effort` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`metadata` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`cache_control` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |

Įvesties medžiagos deriniai

**Tekstas** · UTF8 tekstas

`messages[].content arba type=text blokas`

**Tekstas + vaizdas**

`{type:image,source:{type:base64,media_type,data}} arba šaltinis type=url`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`material_types` | Specifikacijatext, image |
| Parametras`required` | Specifikacijamodel, messages, max\_tokens |
| Parametras`optional_controls` | Specifikacijanull |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`text_file_material` | Specifikacijatikrasis UTF-8 turinys įterptas kaip tekstas; failų ID/URLs reikia atskiro tiksliai apibrėžto palaikymo |

Gyvavimo ciklas: `exact retained published method`

Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.

### Planai

#### Ailoot metodų įkainiai

Įvestis

0,002 USD */ 1K*

Išvestis

0,01 USD */ 1K*

Talpyklos skaitymas

0,0002 USD */ 1K*

Rašymas į talpyklą

0,0025 USD */ 1K*

Rašymas į talpyklą, 5 min

0,0025 USD */ 1K tokens*

fast daugiklis

×2

flex daugiklis

×0.5

#### Kainos pagal užklausos ilgį · Anthropic pranešimai

| Užklausos dydis tokenais | Įvestis | Išvestis | Talpyklos skaitymas | Rašymas į talpyklą | Talpykla 5 min | Talpykla 1 val |
| --- | --- | --- | --- | --- | --- | --- |
| Užklausos dydis tokenais(0; 272 000\] | Įvestis0,002 USD | Išvestis0,01 USD | Talpyklos skaitymas0,0002 USD | Rašymas į talpyklą0,0025 USD | Talpykla 5 min0,0025 USD | Talpykla 1 valBazinė: — |
| Užklausos dydis tokenais(272 000; ∞) | Įvestis0,004 USD | Išvestis0,015 USD | Talpyklos skaitymas0,0004 USD | Rašymas į talpyklą0,005 USD | Talpykla 5 min0,005 USD | Talpykla 1 valBazinė: — |

Įkainiai USD už 1K tokenų. Jei įkainis nenustatytas, paveldimas šio metodo bazinis įkainis; «—» reiškia, kad bazinis įkainis nenustatytas.

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

#### Informacinio tarifo duomenys

Modelio informacinės lentelės nekeičia metodo pasirinkimo, kainos įverčių ar mokesčių. Galiojantys mokesčiai nustatomi pagal pasirinkto Ailoot metodo įkainius.

Modelio informacinės lentelės

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaOpenAI Chat · Baziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Chat · Užklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Chat · Užklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaAnthropic Messages · Baziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaAnthropic Messages · Užklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaAnthropic Messages · Užklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Responses · Baziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Responses · Užklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Responses · Užklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

### Užklausų pavyzdžiai

#### Ailoot · Anthropic pranešimai

Teksto pavyzdysĮvestis, vaizdasPython SDKNode.js SDKPython srautas

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-6-sol", "max_tokens": 1024, "messages": []}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["messages"]=[{"role":"user","content":"Summarize this material and quote supporting source passages.\n\n"+text}]
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/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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}"
export AILOOT_IMAGE_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-6-sol", "max_tokens": 1024, "messages": [{"role": "user", "content": [{"type": "text", "text": "Read labels and numbers in this image; flag unreadable text."}]}]}')
import base64
f=Path(os.environ["AILOOT_IMAGE_FILE"])
if not f.is_file():raise SystemExit("Choose an actual PNG JPEG or WebP image")
raw=f.read_bytes()
mime="image/png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "image/jpeg" if raw.startswith(b"\xff\xd8") else "image/webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else None
if not mime:raise SystemExit("Use PNG JPEG or WebP")
b64=base64.b64encode(raw).decode()
p["messages"][0]["content"].append({"type":"image","source":{"type":"base64","media_type":mime,"data":b64}})
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/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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

```python
import anthropic
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client = anthropic.Anthropic(base_url="https://api.ailoot.ai", api_key=os.environ["AILOOT_API_KEY"], max_retries=0)
msg = client.messages.create(
    model="gpt-6-sol",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}],
)
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(msg.to_dict(mode="json"))
```

```js
import Anthropic from "@anthropic-ai/sdk";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new Anthropic({ baseURL: "https://api.ailoot.ai", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const msg = await client.messages.create({
  model: "gpt-6-sol",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Explain the difference between an observation and a hypothesis in three sentences." }],
});
import { writeFileSync } from "node:fs";

function saveResult(data, stem = "result") {
  writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
  console.log(JSON.stringify(data, null, 2));
  const saveBlob = (encoded, suffix, label) => {
    const raw = Buffer.from(encoded, "base64");
    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
    const file = `${stem}-${label}.${ext}`;
    writeFileSync(file, raw); console.log("Saved", file);
  };
  for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
  for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
  for (const [i, item] of (data.output || []).entries()) {
    console.log("Output", i, JSON.stringify(item));
    if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
  }
  for (const [ci, candidate] of (data.candidates || []).entries()) {
    for (const [pi, part] of (candidate.content?.parts || []).entries()) {
      console.log("Candidate/part", ci, pi, JSON.stringify(part));
      const blob = part.inlineData || part.inline_data;
      if (blob?.data) {
        const mime = blob.mimeType || blob.mime_type;
        const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
      }
    }
  }
}

saveResult(msg);
```

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

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=anthropic.Anthropic(base_url="https://api.ailoot.ai",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
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))

with client.messages.stream(model='gpt-6-sol',max_tokens=1024,messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_message()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Gauti ir išsaugoti rezultatus

#### Ailoot · Anthropic pranešimai

json arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`model` | Tipasstring |
| Laukas`content[]` | Tipastext\|thinking\|tool\_use\|other content block |
| Laukas`stop_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

<strong>Ailoot</strong> [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=messages)
**Ailoot Ultra** [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=messages), [`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=messages)

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

[`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=messages), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=messages), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=messages)

**Ailoot · OpenAI Responses** `POST /v1/responses` `gpt-6-sol`

[`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=responses)

OpenAI /`gpt-6-sol`

### Pradžia

GPT-6 Sol skirta sudėtingam programavimui ir daugiapakopėms užduotims su įrankiais. Dirba su tekstu ir vaizdais bei leidžia nustatyti samprotavimo gylį.

Leidžiamos įvestys

Tekstas · Vaizdai

Rezultatai

Tekstas

### Prieinama Ailoot · įvestys ir metodai

**Ailoot · OpenAI Responses** `POST /v1/responses`

Įvestis

`text`, `image`

Išvestis

`text`

Kontekstas

1 050 000 tokens

Didžiausia išvestis

128 000 tokens

Išvesties formatas

json arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos gpt-6-sol | Numatyta— |
| Laukas`input` | Tipas`string\|input_item[]` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`instructions` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`input[].type` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos message, reasoning, function\_call, function\_call\_output | Numatyta— |
| Laukas`input[].content` | Tipas`string\|content_part[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`input[].call_id` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: function\_call\_output; išsaugokite tikrąjį grąžintą call\_id | Numatyta— |
| Laukas`input[].output` | Tipas`string\|content_part[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: function\_call\_output | Numatyta— |
| Laukas`max_output_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
| Laukas`temperature` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`top_p` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools` | Tipas`tool[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tool_choice` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`parallel_tool_calls` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning.effort` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning.summary` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`text.format` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`text.verbosity` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`include` | Tipas`string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`store` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`previous_response_id` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos ID reikalavimas: Tik tikrasis atsakymo ID iš palaikomo tęsinio Priklauso nuo modelio | Numatyta— |
| Laukas`service_tier` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_key` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_options` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |

Įvesties medžiagos deriniai

**Tekstas** · UTF8 tekstas

`įvesties tekstas arba input_text dalis`

**Tekstas + vaizdas**

`{type:input_image,image_url}`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`material_types` | Specifikacijatext, image |
| Parametras`required` | Specifikacijamodel, input |
| Parametras`optional_controls` | Specifikacijanull |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`text_file_material` | Specifikacijatikrasis UTF-8 turinys įterptas kaip tekstas; failų ID/URLs reikia atskiro tiksliai apibrėžto palaikymo |

Gyvavimo ciklas: `exact retained published method`

Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.

### Planai

#### Ailoot metodų įkainiai

Įvestis

0,002 USD */ 1K*

Išvestis

0,01 USD */ 1K*

Talpyklos skaitymas

0,0002 USD */ 1K*

Rašymas į talpyklą

0,0025 USD */ 1K*

Rašymas į talpyklą, 5 min

0,0025 USD */ 1K tokens*

fast daugiklis

×2

flex daugiklis

×0.5

#### Kainos pagal užklausos ilgį · OpenAI Responses

| Užklausos dydis tokenais | Įvestis | Išvestis | Talpyklos skaitymas | Rašymas į talpyklą | Talpykla 5 min | Talpykla 1 val |
| --- | --- | --- | --- | --- | --- | --- |
| Užklausos dydis tokenais(0; 272 000\] | Įvestis0,002 USD | Išvestis0,01 USD | Talpyklos skaitymas0,0002 USD | Rašymas į talpyklą0,0025 USD | Talpykla 5 min0,0025 USD | Talpykla 1 valBazinė: — |
| Užklausos dydis tokenais(272 000; ∞) | Įvestis0,004 USD | Išvestis0,015 USD | Talpyklos skaitymas0,0004 USD | Rašymas į talpyklą0,005 USD | Talpykla 5 min0,005 USD | Talpykla 1 valBazinė: — |

Įkainiai USD už 1K tokenų. Jei įkainis nenustatytas, paveldimas šio metodo bazinis įkainis; «—» reiškia, kad bazinis įkainis nenustatytas.

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

#### Informacinio tarifo duomenys

Modelio informacinės lentelės nekeičia metodo pasirinkimo, kainos įverčių ar mokesčių. Galiojantys mokesčiai nustatomi pagal pasirinkto Ailoot metodo įkainius.

Modelio informacinės lentelės

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaOpenAI Chat · Baziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Chat · Užklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Chat · Užklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaAnthropic Messages · Baziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaAnthropic Messages · Užklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaAnthropic Messages · Užklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Responses · Baziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Responses · Užklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Responses · Užklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

### Užklausų pavyzdžiai

#### Ailoot · OpenAI Responses

Teksto pavyzdysĮvestis, vaizdasPython SDKNode.js SDKPython srautas

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-6-sol", "input": ""}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["input"]="Summarize this material and quote supporting source passages.\n\n"+text
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/responses \
  -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 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(json.loads(Path("result.json").read_text(encoding="utf-8")))
PY_RESULT
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}"
export AILOOT_IMAGE_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-6-sol", "input": [{"role": "user", "content": [{"type": "input_text", "text": "Read labels and numbers in this image; flag unreadable text."}]}]}')
import base64
f=Path(os.environ["AILOOT_IMAGE_FILE"])
if not f.is_file():raise SystemExit("Choose an actual PNG JPEG or WebP image")
raw=f.read_bytes()
mime="image/png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "image/jpeg" if raw.startswith(b"\xff\xd8") else "image/webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else None
if not mime:raise SystemExit("Use PNG JPEG or WebP")
b64=base64.b64encode(raw).decode()
p["input"][0]["content"].append({"type":"input_image","image_url":"data:"+mime+";base64,"+b64})
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/responses \
  -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 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(json.loads(Path("result.json").read_text(encoding="utf-8")))
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)
resp = client.responses.create(model="gpt-6-sol", input="Explain the difference between an observation and a hypothesis in three sentences.")
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(resp.to_dict(mode="json"))
```

```js
import OpenAI from "openai";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new OpenAI({ baseURL: "https://api.ailoot.ai/v1", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const resp = await client.responses.create({ model: "gpt-6-sol", input: "Explain the difference between an observation and a hypothesis in three sentences." });
import { writeFileSync } from "node:fs";

function saveResult(data, stem = "result") {
  writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
  console.log(JSON.stringify(data, null, 2));
  const saveBlob = (encoded, suffix, label) => {
    const raw = Buffer.from(encoded, "base64");
    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
    const file = `${stem}-${label}.${ext}`;
    writeFileSync(file, raw); console.log("Saved", file);
  };
  for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
  for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
  for (const [i, item] of (data.output || []).entries()) {
    console.log("Output", i, JSON.stringify(item));
    if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
  }
  for (const [ci, candidate] of (data.candidates || []).entries()) {
    for (const [pi, part] of (candidate.content?.parts || []).entries()) {
      console.log("Candidate/part", ci, pi, JSON.stringify(part));
      const blob = part.inlineData || part.inline_data;
      if (blob?.data) {
        const mime = blob.mimeType || blob.mime_type;
        const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
      }
    }
  }
}

saveResult(resp);
```

```python
from openai import OpenAI
import os
from pathlib import Path
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))

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)
with client.responses.stream(model="gpt-6-sol", input="Explain the difference between an observation and a hypothesis in three sentences.") as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_response()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Gauti ir išsaugoti rezultatus

#### Ailoot · OpenAI Responses

json arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite kiekvieną išvesties elementą ir turinio dalį, tikrąjį funkcijos call\_id, šifruotą samprotavimą ir naudojimo duomenis. Srautinio perdavimo metu išsaugokite visą įvykio / elemento tapatybę.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`status` | Tipasstring |
| Laukas`output[]` | Tipasmessage\|reasoning\|function\_call\|other item |
| Laukas`output[].content[]` | Tipascontent part |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

<strong>Ailoot</strong> [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=responses)
**Ailoot Ultra** [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=responses), [`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=responses)

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

[`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=responses), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=responses), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=responses)

**Ailoot · OpenAI pokalbis** `POST /v1/chat/completions` `gpt-6-sol`

[`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=chat)

OpenAI /`gpt-6-sol`

### Pradžia

GPT-6 Sol skirta sudėtingam programavimui ir daugiapakopėms užduotims su įrankiais. Dirba su tekstu ir vaizdais bei leidžia nustatyti samprotavimo gylį.

Leidžiamos įvestys

Tekstas · Vaizdai

Rezultatai

Tekstas

### Prieinama Ailoot · įvestys ir metodai

**Ailoot · OpenAI pokalbis** `POST /v1/chat/completions`

Įvestis

`text`, `image`

Išvestis

`text`

Kontekstas

1 050 000 tokens

Didžiausia išvestis

128 000 tokens

Išvesties formatas

json arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos gpt-6-sol | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Pavyzdžiai: system, user, assistant, tool, function Sąlygos: Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio. Priklauso nuo modelio | Numatyta— |
| Laukas`messages[].content` | Tipas`string\|content_part[]\|null` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_calls` | Tipas`tool_call[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_call_id` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: role=tool; naudokite tikrąjį grąžintą ID | Numatyta— |
| Laukas`messages[].name` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].reasoning_content` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja | Numatyta— |
| Laukas`messages[].reasoning_details` | Tipas`object\|array` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`max_completion_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
| Laukas`stream_options.include_usage` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`temperature` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`top_p` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`stop` | Tipas`string\|string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools` | Tipas`function_tool[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].type` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].function.name` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Taikoma, kai: pateiktas funkcijos tipo įrankis | Numatyta— |
| Laukas`tools[].function.description` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tools[].function.parameters` | Tipas`JSON_schema` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tool_choice` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`parallel_tool_calls` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`response_format` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning_effort` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`service_tier` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`instructions` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Suderinamumo laukas | Numatyta— |
| Laukas`functions` | Tipas`function[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`function_call` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_options` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |

Įvesties medžiagos deriniai

**Tekstas** · UTF8 tekstas

`messages[].content`

**Tekstas + vaizdas**

`{type:image_url,image_url:{url,detail}}`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`material_types` | Specifikacijatext, image |
| Parametras`required` | Specifikacijamodel, messages |
| Parametras`optional_controls` | Specifikacijanull |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`text_file_material` | Specifikacijatikrasis UTF-8 turinys įterptas kaip tekstas; failų ID/URLs reikia atskiro tiksliai apibrėžto palaikymo |

Gyvavimo ciklas: `exact retained published method`

Metodų struktūros ir ID yra tikslūs; tiekėjo galimybės yra atskirtos nuo užklausos priėmimo.

### Planai

#### Ailoot metodų įkainiai

Įvestis

0,002 USD */ 1K*

Išvestis

0,01 USD */ 1K*

Talpyklos skaitymas

0,0002 USD */ 1K*

Rašymas į talpyklą

0,0025 USD */ 1K*

Rašymas į talpyklą, 5 min

0,0025 USD */ 1K tokens*

fast daugiklis

×2

flex daugiklis

×0.5

#### Kainos pagal užklausos ilgį · OpenAI pokalbis

| Užklausos dydis tokenais | Įvestis | Išvestis | Talpyklos skaitymas | Rašymas į talpyklą | Talpykla 5 min | Talpykla 1 val |
| --- | --- | --- | --- | --- | --- | --- |
| Užklausos dydis tokenais(0; 272 000\] | Įvestis0,002 USD | Išvestis0,01 USD | Talpyklos skaitymas0,0002 USD | Rašymas į talpyklą0,0025 USD | Talpykla 5 min0,0025 USD | Talpykla 1 valBazinė: — |
| Užklausos dydis tokenais(272 000; ∞) | Įvestis0,004 USD | Išvestis0,015 USD | Talpyklos skaitymas0,0004 USD | Rašymas į talpyklą0,005 USD | Talpykla 5 min0,005 USD | Talpykla 1 valBazinė: — |

Įkainiai USD už 1K tokenų. Jei įkainis nenustatytas, paveldimas šio metodo bazinis įkainis; «—» reiškia, kad bazinis įkainis nenustatytas.

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

#### Informacinio tarifo duomenys

Modelio informacinės lentelės nekeičia metodo pasirinkimo, kainos įverčių ar mokesčių. Galiojantys mokesčiai nustatomi pagal pasirinkto Ailoot metodo įkainius.

Modelio informacinės lentelės

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaOpenAI Chat · Baziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Chat · Užklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Chat · Užklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaAnthropic Messages · Baziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaAnthropic Messages · Užklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaAnthropic Messages · Užklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Responses · Baziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Responses · Užklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaOpenAI Responses · Užklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

### Užklausų pavyzdžiai

#### Ailoot · OpenAI pokalbis

Teksto pavyzdysĮvestis, vaizdasPython SDKNode.js SDKPython srautas

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 source-material file}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-6-sol", "messages": []}')
f=Path(os.environ["AILOOT_TEXT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 source material")
text=f.read_text(encoding="utf-8")
if not text.strip():raise SystemExit("Source material must contain text")
p["messages"]=[{"role":"user","content":"Summarize this material and quote supporting source passages.\n\n"+text}]
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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_IMAGE_FILE:?Set your actual PNG JPEG or WebP image}"
export AILOOT_IMAGE_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-6-sol", "messages": [{"role": "user", "content": [{"type": "text", "text": "Read labels and numbers in this image; flag unreadable text."}]}]}')
import base64
f=Path(os.environ["AILOOT_IMAGE_FILE"])
if not f.is_file():raise SystemExit("Choose an actual PNG JPEG or WebP image")
raw=f.read_bytes()
mime="image/png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "image/jpeg" if raw.startswith(b"\xff\xd8") else "image/webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else None
if not mime:raise SystemExit("Use PNG JPEG or WebP")
b64=base64.b64encode(raw).decode()
p["messages"][0]["content"].append({"type":"image_url","image_url":{"url":"data:"+mime+";base64,"+b64}})
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
print(json.dumps(json.loads(Path("result.json").read_text()),ensure_ascii=False,indent=2))
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)
resp = client.chat.completions.create(
    model="gpt-6-sol",
    messages=[{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}],
)
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(resp.to_dict(mode="json"))
```

```js
import OpenAI from "openai";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const client = new OpenAI({ baseURL: "https://api.ailoot.ai/v1", apiKey: process.env.AILOOT_API_KEY, maxRetries: 0 });
const resp = await client.chat.completions.create({
  model: "gpt-6-sol",
  messages: [{ role: "user", content: "Explain the difference between an observation and a hypothesis in three sentences." }],
});
import { writeFileSync } from "node:fs";

function saveResult(data, stem = "result") {
  writeFileSync(stem + ".json", JSON.stringify(data, null, 2));
  console.log(JSON.stringify(data, null, 2));
  const saveBlob = (encoded, suffix, label) => {
    const raw = Buffer.from(encoded, "base64");
    const ext = raw.subarray(0,8).equals(Buffer.from([137,80,78,71,13,10,26,10])) ? "png" : raw[0]===255 && raw[1]===216 ? "jpg" : raw.subarray(0,4).toString()==="RIFF" && raw.subarray(8,12).toString()==="WEBP" ? "webp" : suffix;
    const file = `${stem}-${label}.${ext}`;
    writeFileSync(file, raw); console.log("Saved", file);
  };
  for (const [i, block] of (data.content || []).entries()) console.log("Content", i, JSON.stringify(block));
  for (const choice of data.choices || []) console.log("Choice", choice.index, JSON.stringify(choice.message || choice.delta || {}));
  for (const [i, item] of (data.output || []).entries()) {
    console.log("Output", i, JSON.stringify(item));
    if (item.type === "image_generation_call" && item.result) saveBlob(item.result, item.output_format || "bin", `output-${i}`);
  }
  for (const [ci, candidate] of (data.candidates || []).entries()) {
    for (const [pi, part] of (candidate.content?.parts || []).entries()) {
      console.log("Candidate/part", ci, pi, JSON.stringify(part));
      const blob = part.inlineData || part.inline_data;
      if (blob?.data) {
        const mime = blob.mimeType || blob.mime_type;
        const suffix = ({"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"})[mime] || "bin";
        saveBlob(blob.data, suffix, `candidate-${ci}-part-${pi}`);
      }
    }
  }
}

saveResult(resp);
```

```python
from openai import OpenAI
import os
from pathlib import Path

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)
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))

with client.chat.completions.stream(model='gpt-6-sol',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Gauti ir išsaugoti rezultatus

#### Ailoot · OpenAI pokalbis

json arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`choices[].index` | Tipasinteger |
| Laukas`choices[].message.content` | Tipasstring\|null |
| Laukas`choices[].message.tool_calls` | Tipastool\_call\[\] |
| Laukas`choices[].message.reasoning_content` | Tipasstring |
| Laukas`choices[].message.reasoning_details` | Tipasobject\|array |
| Laukas`choices[].finish_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

<strong>Ailoot</strong> [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=chat)
**Ailoot Ultra** [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=chat), [`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=chat)

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

[`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=chat), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=chat), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=chat)

**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `gpt-6-sol`

[`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=chat)

OpenAI /`gpt-6-sol`

Modelio ID

- `gpt-6-sol`
- `openai/gpt-6-sol`

### Pradžia

GPT-6 Sol skirta sudėtingam programavimui ir daugiapakopėms užduotims su įrankiais. Dirba su tekstu ir vaizdais bei leidžia nustatyti samprotavimo gylį.

Leidžiamos įvestys

Tekstas

Rezultatai

Tekstas

### Prieinama Ailoot · įvestys ir metodai

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

Įvestis

`text`

Išvestis

`text`

Išvesties formatas

json arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos gpt-6-sol | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`messages[].content` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: Tekstinis pokalbis | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |

Įvesties medžiagos deriniai

**Tekstas** · UTF8 tekstas

`messages[].content`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages |
| Parametras`material_types` | Specifikacijatext |
| Parametras`messages` | Specifikacijapranešimų masyvas su role/content struktūra |
| Parametras`file_material` | Specifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas |
| Parametras`optional_controls` | Specifikacijastream |
| Parametras`control_scope` | SpecifikacijaTekstinis pokalbis; stream yra loginė reikšmė, kurios numatytoji reikšmė yra false. |
| Parametras`output_modalities` | Specifikacijatext |
| Parametras`hosted_operations` | Specifikacijafalse |
| Parametras`multimodal_input_binding` | Specifikacijanull |

Metodo pseudonimai: `/chat/completions`

Gyvavimo ciklas: `synchronous_or_streamed`

Siųskite tikslų modelio ID kartu su messages.

Konteksto ilgis nėra išvesties limitas.

Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo.

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

Samprotavimo pastangos · high

Standartinis įkainis Kai samprotavimo pastangų lygis yra high

Samprotavimo pastangos · low

Standartinis įkainis Kai samprotavimo pastangų lygis yra low

Samprotavimo pastangos · max

Standartinis įkainis Kai samprotavimo pastangų lygis yra max

Samprotavimo pastangos · medium

Standartinis įkainis Kai samprotavimo pastangų lygis yra medium

Samprotavimo pastangos · none

Standartinis įkainis Kai samprotavimo pastangų lygis yra none

Samprotavimo pastangos · xhigh

Standartinis įkainis Kai samprotavimo pastangų lygis yra xhigh

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · OpenAI pokalbis

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":"gpt-6-sol","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="gpt-6-sol", 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"))
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · OpenAI pokalbis

json arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`choices[].index` | Tipasinteger |
| Laukas`choices[].message.content` | Tipasstring\|null |
| Laukas`choices[].message.tool_calls` | Tipastool\_call\[\] |
| Laukas`choices[].message.reasoning_content` | Tipasstring |
| Laukas`choices[].message.reasoning_details` | Tipasobject\|array |
| Laukas`choices[].finish_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

<strong>Ailoot</strong> [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=chat)
**Ailoot Ultra** [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=chat), [`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=chat)

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

[`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=chat), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=chat), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=chat)

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `gpt-6-sol`

[`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=messages)

OpenAI /`gpt-6-sol`

Modelio ID

- `gpt-6-sol`
- `openai/gpt-6-sol`

### Pradžia

GPT-6 Sol skirta sudėtingam programavimui ir daugiapakopėms užduotims su įrankiais. Dirba su tekstu ir vaizdais bei leidžia nustatyti samprotavimo gylį.

Leidžiamos įvestys

Tekstas

Rezultatai

json · sse

### Prieinama Ailoot · įvestys ir metodai

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages`

Įvestis

`text`

Išvestis

`json`, `sse`

Išvesties formatas

JSON arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos gpt-6-sol | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos user, assistant | Numatyta— |
| Laukas`messages[].content` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |

Įvesties medžiagos deriniai

**Tekstas** · UTF-8 tekstas

`messages[].content eilutė`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages, max\_tokens |
| Parametras`optional_controls` | Specifikacijastream |
| Parametras`material_types` | Specifikacijatext |
| Parametras`text_file_material` | SpecifikacijaPerskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę. |

Gyvavimo ciklas: `synchronous_or_streamed`

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

Samprotavimo pastangos · high

Standartinis įkainis Kai samprotavimo pastangų lygis yra high

Samprotavimo pastangos · low

Standartinis įkainis Kai samprotavimo pastangų lygis yra low

Samprotavimo pastangos · max

Standartinis įkainis Kai samprotavimo pastangų lygis yra max

Samprotavimo pastangos · medium

Standartinis įkainis Kai samprotavimo pastangų lygis yra medium

Samprotavimo pastangos · none

Standartinis įkainis Kai samprotavimo pastangų lygis yra none

Samprotavimo pastangos · xhigh

Standartinis įkainis Kai samprotavimo pastangų lygis yra xhigh

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · Anthropic pranešimai

Visas minimalus JSON užklausos turinyscurl · naudokite savo UTF-8 dokumentąPython · išsaugokite visą rezultatą

```json
{
  "model": "gpt-6-sol",
  "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': 'gpt-6-sol', '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': 'gpt-6-sol', '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))
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · Anthropic pranešimai

JSON arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`model` | Tipasstring |
| Laukas`content[]` | Tipastext\|thinking\|tool\_use\|other content block |
| Laukas`stop_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

<strong>Ailoot</strong> [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=messages)
**Ailoot Ultra** [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=messages), [`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=messages)

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

[`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=messages), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=messages), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=messages)

**Ailoot Ultra · OpenAI Responses** `POST /v1/responses` `gpt-6-sol`

[`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=responses)

OpenAI /`gpt-6-sol`

Modelio ID

- `gpt-6-sol`
- `openai/gpt-6-sol`

### Pradžia

GPT-6 Sol skirta sudėtingam programavimui ir daugiapakopėms užduotims su įrankiais. Dirba su tekstu ir vaizdais bei leidžia nustatyti samprotavimo gylį.

Leidžiamos įvestys

Tekstas

Rezultatai

Tekstas

### Prieinama Ailoot · įvestys ir metodai

**Ailoot Ultra · OpenAI Responses** `POST /v1/responses`

Įvestis

`text`

Išvestis

`text`

Išvesties formatas

json or SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos gpt-6-sol | Numatyta— |
| Laukas`input` | Tipas`string\|input_item[]` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`instructions` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`input[].type` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos message, reasoning, function\_call, function\_call\_output | Numatyta— |
| Laukas`input[].content` | Tipas`string\|content_part[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`input[].call_id` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: function\_call\_output; išsaugokite tikrąjį grąžintą call\_id | Numatyta— |
| Laukas`input[].output` | Tipas`string\|content_part[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: function\_call\_output | Numatyta— |
| Laukas`max_output_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
| Laukas`temperature` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`top_p` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools` | Tipas`tool[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tool_choice` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`parallel_tool_calls` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning.effort` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning.summary` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`text.format` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`text.verbosity` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`include` | Tipas`string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`store` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`previous_response_id` | Tipas`string` | ReikalavimasNepalaikoma | Reikšmės ir ribos ID reikalavimas: Tik tikrasis atsakymo ID iš palaikomo tęsinio Sąlygos: Su kiekviena užklausa iš naujo pateikite tikrą pokalbio istoriją. | Numatyta— |
| Laukas`service_tier` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_key` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_options` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |

Įvesties medžiagos deriniai

**Tekstas** · UTF8 tekstas

`input text or input_text part`

**Tekstas + vaizdas**

`{type:input_image,image_url}`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`material_types` | Specifikacijatext |
| Parametras`required` | Specifikacijamodel, input |
| Parametras`optional_controls` | Specifikacijanull |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`text_file_material` | SpecifikacijaPerskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę. |

Gyvavimo ciklas: `exact retained published method`

Siųskite tikslų modelio ID ir privalomus laukus.

Išsaugokite kiekvieną grąžintą elementą ir jo pradinius identifikatorius.

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

Samprotavimo pastangos · high

Standartinis įkainis Kai samprotavimo pastangų lygis yra high

Samprotavimo pastangos · low

Standartinis įkainis Kai samprotavimo pastangų lygis yra low

Samprotavimo pastangos · max

Standartinis įkainis Kai samprotavimo pastangų lygis yra max

Samprotavimo pastangos · medium

Standartinis įkainis Kai samprotavimo pastangų lygis yra medium

Samprotavimo pastangos · none

Standartinis įkainis Kai samprotavimo pastangų lygis yra none

Samprotavimo pastangos · xhigh

Standartinis įkainis Kai samprotavimo pastangų lygis yra xhigh

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · OpenAI Responses

Visas minimalus JSON užklausos turinyscurl · naudokite savo UTF-8 dokumentąPython · išsaugokite visą rezultatą

```json
{
  "model": "gpt-6-sol",
  "input": [
    {
      "content": "Hello, how are you?",
      "role": "user",
      "type": "message"
    }
  ]
}
```

```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': 'gpt-6-sol', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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/responses \
  -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

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': 'gpt-6-sol', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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 = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/responses', 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))
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · OpenAI Responses

json or SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite kiekvieną išvesties elementą ir turinio dalį, tikrąjį funkcijos call\_id, šifruotą samprotavimą ir naudojimo duomenis. Srautinio perdavimo metu išsaugokite visą įvykio / elemento tapatybę.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`status` | Tipasstring |
| Laukas`output[]` | Tipasmessage\|reasoning\|function\_call\|other item |
| Laukas`output[].content[]` | Tipascontent part |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

<strong>Ailoot</strong> [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=responses)
**Ailoot Ultra** [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=responses), [`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=responses)

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

[`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=responses), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=responses), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=responses)

**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `openai/gpt-6-sol`

[`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=chat)

OpenAI /`openai/gpt-6-sol`

Modelio ID

- `gpt-6-sol`
- `openai/gpt-6-sol`

### Pradžia

GPT-6 Sol skirta sudėtingam programavimui ir daugiapakopėms užduotims su įrankiais. Dirba su tekstu ir vaizdais bei leidžia nustatyti samprotavimo gylį.

Leidžiamos įvestys

Tekstas

Rezultatai

Tekstas

### Prieinama Ailoot · įvestys ir metodai

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

Įvestis

`text`

Išvestis

`text`

Išvesties formatas

json arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos openai/gpt-6-sol | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Pavyzdžiai: system, user, assistant, tool, function Sąlygos: Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio. Priklauso nuo modelio | Numatyta— |
| Laukas`messages[].content` | Tipas`string\|content_part[]\|null` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_calls` | Tipas`tool_call[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_call_id` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: role=tool; naudokite tikrąjį grąžintą ID | Numatyta— |
| Laukas`messages[].name` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].reasoning_content` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja | Numatyta— |
| Laukas`messages[].reasoning_details` | Tipas`object\|array` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`max_completion_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
| Laukas`stream_options.include_usage` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`temperature` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`top_p` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`stop` | Tipas`string\|string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools` | Tipas`function_tool[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].type` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos function Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].function.name` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Taikoma, kai: pateiktas funkcijos tipo įrankis | Numatyta— |
| Laukas`tools[].function.description` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tools[].function.parameters` | Tipas`JSON_schema` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tool_choice` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`parallel_tool_calls` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`response_format` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning_effort` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`service_tier` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`instructions` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Suderinamumo laukas | Numatyta— |
| Laukas`functions` | Tipas`function[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`function_call` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_options` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`modalities` | Tipas`string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos text | Numatyta— |
| Laukas`provider` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: provider.options šiame Ultra teksto maršrute atmetamas | Numatyta— |
| Laukas`cache_control.ttl` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: 1h atmetamas tikrosiose užklausų podėlio vietose | Numatyta— |

Įvesties medžiagos deriniai

**Tekstas** · UTF8 tekstas

`messages[].content`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages |
| Parametras`material_types` | Specifikacijatext |
| Parametras`messages` | Specifikacijapranešimų masyvas su role/content struktūra |
| Parametras`file_material` | Specifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas |
| Parametras`optional_controls` | Specifikacijastream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametras`control_scope` | Specifikacijapriklauso nuo modelio; naudotojo funkcijų įrankiai skiriasi nuo priglobtų įrankių |
| Parametras`output_modalities` | Specifikacijatext |
| Parametras`hosted_operations` | Specifikacijafalse |
| Parametras`multimodal_input_binding` | Specifikacijanull |

Gyvavimo ciklas: `synchronous_or_streamed`

Siųskite tikslų modelio ID kartu su messages.

Konteksto ilgis nėra išvesties limitas.

Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo.

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

Samprotavimo pastangos · high

Standartinis įkainis Kai samprotavimo pastangų lygis yra high

Samprotavimo pastangos · low

Standartinis įkainis Kai samprotavimo pastangų lygis yra low

Samprotavimo pastangos · max

Standartinis įkainis Kai samprotavimo pastangų lygis yra max

Samprotavimo pastangos · medium

Standartinis įkainis Kai samprotavimo pastangų lygis yra medium

Samprotavimo pastangos · none

Standartinis įkainis Kai samprotavimo pastangų lygis yra none

Samprotavimo pastangos · xhigh

Standartinis įkainis Kai samprotavimo pastangų lygis yra xhigh

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · OpenAI pokalbis

curlPython SDKPython srautas

```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": "openai/gpt-6-sol", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

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='openai/gpt-6-sol',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
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"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

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)
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))

with client.chat.completions.stream(model='openai/gpt-6-sol',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · OpenAI pokalbis

json arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`choices[].index` | Tipasinteger |
| Laukas`choices[].message.content` | Tipasstring\|null |
| Laukas`choices[].message.tool_calls` | Tipastool\_call\[\] |
| Laukas`choices[].message.reasoning_content` | Tipasstring |
| Laukas`choices[].message.reasoning_details` | Tipasobject\|array |
| Laukas`choices[].finish_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

<strong>Ailoot</strong> [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=chat)
**Ailoot Ultra** [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=chat), [`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=chat)

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

[`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=chat), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=chat), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=chat)

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `openai/gpt-6-sol`

[`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=messages)

OpenAI /`openai/gpt-6-sol`

Modelio ID

- `gpt-6-sol`
- `openai/gpt-6-sol`

### Pradžia

GPT-6 Sol skirta sudėtingam programavimui ir daugiapakopėms užduotims su įrankiais. Dirba su tekstu ir vaizdais bei leidžia nustatyti samprotavimo gylį.

Leidžiamos įvestys

Tekstas

Rezultatai

Tekstas

### Prieinama Ailoot · įvestys ir metodai

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages`

Įvestis

`text`

Išvestis

`text`

Išvesties formatas

json arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos openai/gpt-6-sol | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos user, assistant | Numatyta— |
| Laukas`messages[].content` | Tipas`string\|content_block[]` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`system` | Tipas`string\|content_block[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Riba taikoma: konkretus pasirinkto modelio / kortelės limitas | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
| Laukas`temperature` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`top_p` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`stop_sequences` | Tipas`string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools` | Tipas`tool[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].name` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: pateiktas įrankis | Numatyta— |
| Laukas`tools[].description` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tools[].input_schema` | Tipas`JSON_schema` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tool_choice` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`thinking.type` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`thinking.budget_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`output_config.effort` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`metadata` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`cache_control` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |

Įvesties medžiagos deriniai

**Tekstas** · UTF8 tekstas

`messages[].content arba type=text blokas`

**Tekstas + vaizdas**

`{type:image,source:{type:base64,media_type,data}} arba šaltinis type=url`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`material_types` | Specifikacijatext |
| Parametras`required` | Specifikacijamodel, messages, max\_tokens |
| Parametras`optional_controls` | Specifikacijanull |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`text_file_material` | SpecifikacijaPerskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę. |

Gyvavimo ciklas: `exact retained published method`

Siųskite tikslų modelio ID ir privalomus laukus.

Išsaugokite kiekvieną grąžintą elementą ir jo pradinius identifikatorius.

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

Samprotavimo pastangos · high

Standartinis įkainis Kai samprotavimo pastangų lygis yra high

Samprotavimo pastangos · low

Standartinis įkainis Kai samprotavimo pastangų lygis yra low

Samprotavimo pastangos · max

Standartinis įkainis Kai samprotavimo pastangų lygis yra max

Samprotavimo pastangos · medium

Standartinis įkainis Kai samprotavimo pastangų lygis yra medium

Samprotavimo pastangos · none

Standartinis įkainis Kai samprotavimo pastangų lygis yra none

Samprotavimo pastangos · xhigh

Standartinis įkainis Kai samprotavimo pastangų lygis yra xhigh

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · Anthropic pranešimai

Visas minimalus JSON užklausos turinyscurl · naudokite savo UTF-8 dokumentąPython · išsaugokite visą rezultatą

```json
{
  "model": "openai/gpt-6-sol",
  "max_tokens": 4096,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ]
}
```

```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': 'openai/gpt-6-sol', 'max_tokens': 4096, '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': 'openai/gpt-6-sol', 'max_tokens': 4096, '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))
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · Anthropic pranešimai

json arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`model` | Tipasstring |
| Laukas`content[]` | Tipastext\|thinking\|tool\_use\|other content block |
| Laukas`stop_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

<strong>Ailoot</strong> [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=messages)
**Ailoot Ultra** [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=messages), [`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=messages)

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

[`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=messages), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=messages), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=messages)

**Ailoot Ultra · OpenAI Responses** `POST /v1/responses` `openai/gpt-6-sol`

[`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=responses)

OpenAI /`openai/gpt-6-sol`

Modelio ID

- `gpt-6-sol`
- `openai/gpt-6-sol`

### Pradžia

GPT-6 Sol skirta sudėtingam programavimui ir daugiapakopėms užduotims su įrankiais. Dirba su tekstu ir vaizdais bei leidžia nustatyti samprotavimo gylį.

Leidžiamos įvestys

Tekstas

Rezultatai

Tekstas

### Prieinama Ailoot · įvestys ir metodai

**Ailoot Ultra · OpenAI Responses** `POST /v1/responses`

Įvestis

`text`

Išvestis

`text`

Išvesties formatas

json arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos openai/gpt-6-sol | Numatyta— |
| Laukas`input` | Tipas`string\|input_item[]` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`instructions` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`input[].type` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos message, reasoning, function\_call, function\_call\_output | Numatyta— |
| Laukas`input[].content` | Tipas`string\|content_part[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`input[].call_id` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: function\_call\_output; išsaugokite tikrąjį grąžintą call\_id | Numatyta— |
| Laukas`input[].output` | Tipas`string\|content_part[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: function\_call\_output | Numatyta— |
| Laukas`max_output_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
| Laukas`temperature` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`top_p` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools` | Tipas`tool[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tool_choice` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`parallel_tool_calls` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning.effort` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning.summary` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`text.format` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`text.verbosity` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`include` | Tipas`string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`store` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`previous_response_id` | Tipas`string` | ReikalavimasNepalaikoma | Reikšmės ir ribos ID reikalavimas: Tik tikrasis atsakymo ID iš palaikomo tęsinio Sąlygos: Su kiekviena užklausa iš naujo pateikite tikrą pokalbio istoriją. | Numatyta— |
| Laukas`service_tier` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_key` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_options` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |

Įvesties medžiagos deriniai

**Tekstas** · UTF8 tekstas

`įvesties tekstas arba input_text dalis`

**Tekstas + vaizdas**

`{type:input_image,image_url}`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`material_types` | Specifikacijatext |
| Parametras`required` | Specifikacijamodel, input |
| Parametras`optional_controls` | Specifikacijanull |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`text_file_material` | SpecifikacijaPerskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę. |

Gyvavimo ciklas: `exact retained published method`

Siųskite tikslų modelio ID ir privalomus laukus.

Išsaugokite kiekvieną grąžintą elementą ir jo pradinius identifikatorius.

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

Samprotavimo pastangos · high

Standartinis įkainis Kai samprotavimo pastangų lygis yra high

Samprotavimo pastangos · low

Standartinis įkainis Kai samprotavimo pastangų lygis yra low

Samprotavimo pastangos · max

Standartinis įkainis Kai samprotavimo pastangų lygis yra max

Samprotavimo pastangos · medium

Standartinis įkainis Kai samprotavimo pastangų lygis yra medium

Samprotavimo pastangos · none

Standartinis įkainis Kai samprotavimo pastangų lygis yra none

Samprotavimo pastangos · xhigh

Standartinis įkainis Kai samprotavimo pastangų lygis yra xhigh

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinai272 000 | Mokestis Įvestis · Įvesties tokenai **$0.004** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0004** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.005** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |
| KonfigūracijaUžklausos ilgio pakopa 2 | Įkainių lentelė— | Konteksto tokenų daugiau nei272 000 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.008** / 1K tokenų Išvestis · Išvesties tokenai **$0.03** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0008** / 1K tokenų Įvestis · Rašymas į talpyklą **$0.01** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · OpenAI Responses

Visas minimalus JSON užklausos turinyscurl · naudokite savo UTF-8 dokumentąPython · išsaugokite visą rezultatą

```json
{
  "model": "openai/gpt-6-sol",
  "input": [
    {
      "content": "Hello, how are you?",
      "role": "user",
      "type": "message"
    }
  ]
}
```

```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': 'openai/gpt-6-sol', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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/responses \
  -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

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': 'openai/gpt-6-sol', 'input': [{'content': 'Hello, how are you?', 'role': 'user', 'type': 'message'}]}
payload['input'][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 = {'Authorization': 'Bearer PLACEHOLDER_KEY', 'Content-Type': 'application/json'}
headers['Authorization'] = 'Bearer ' + api_key
request = Request('https://api.ailoot.ai/v1/responses', 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))
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · OpenAI Responses

json arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite kiekvieną išvesties elementą ir turinio dalį, tikrąjį funkcijos call\_id, šifruotą samprotavimą ir naudojimo duomenis. Srautinio perdavimo metu išsaugokite visą įvykio / elemento tapatybę.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`status` | Tipasstring |
| Laukas`output[]` | Tipasmessage\|reasoning\|function\_call\|other item |
| Laukas`output[].content[]` | Tipascontent part |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

<strong>Ailoot</strong> [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=responses)
**Ailoot Ultra** [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=responses), [`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=responses)

#### Metodų kelių pseudonimai

`/chat/completions`

#### Susiję ID iškvietimui

[`openai/gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=responses), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=responses), [`gpt-6-sol`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=responses)

FAQ · OpenAI: GPT-6 Sol

Kokios įvestys ir rezultatai prieinami?

`POST /v1/messages` · `gpt-6-sol`: `text`, `image` → `text` `POST /v1/responses` · `gpt-6-sol`: `text`, `image` → `text` `POST /v1/chat/completions` · `gpt-6-sol`: `text`, `image` → `text` `POST /v1/chat/completions` · `gpt-6-sol`: `text` → `text` `POST /v1/messages` · `gpt-6-sol`: `text` → `json`, `sse` `POST /v1/responses` · `gpt-6-sol`: `text` → `text` `POST /v1/chat/completions` · `openai/gpt-6-sol`: `text` → `text` `POST /v1/messages` · `openai/gpt-6-sol`: `text` → `text` `POST /v1/responses` · `openai/gpt-6-sol`: `text` → `text`

Kokius laukus naudoja užklausa?

`POST /v1/messages` · `gpt-6-sol`: `model`, `messages`, `system`, `max_tokens`, `stream`, `metadata` `POST /v1/responses` · `gpt-6-sol`: `model`, `input`, `instructions`, `stream` `POST /v1/chat/completions` · `gpt-6-sol`: `model`, `messages`, `stream` `POST /v1/chat/completions` · `gpt-6-sol`: `model`, `messages`, `stream` `POST /v1/messages` · `gpt-6-sol`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/responses` · `gpt-6-sol`: `model`, `input`, `instructions`, `stream` `POST /v1/chat/completions` · `openai/gpt-6-sol`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `openai/gpt-6-sol`: `model`, `messages`, `system`, `max_tokens`, `stream`, `metadata` `POST /v1/responses` · `openai/gpt-6-sol`: `model`, `input`, `instructions`, `stream`

Kokie apribojimai taikomi?

`POST /v1/messages` · `gpt-6-sol`: `ctx`: `1050000`; `max_out`: `128000`; `messages.min_items`: `1`; `max_tokens.minimum`: `1` `POST /v1/responses` · `gpt-6-sol`: `ctx`: `1050000`; `max_out`: `128000` `POST /v1/chat/completions` · `gpt-6-sol`: `ctx`: `1050000`; `max_out`: `128000`; `messages.min_items`: `1` `POST /v1/chat/completions` · `gpt-6-sol`: `messages.min_items`: `1` `POST /v1/chat/completions` · `openai/gpt-6-sol`: `messages.min_items`: `1` `POST /v1/messages` · `openai/gpt-6-sol`: `messages.min_items`: `1`; `max_tokens.minimum`: `1`

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

## Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

## Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata

Pasirinkite planą su nuolaida reguliarioms užklausoms.

Nuolaidos kodas iki 50%

Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.

Išlaidos istorijoje

Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

[Pasirinkti prenumeratą](https://ailoot.ai/docs/lt/billing/subscriptions/) · [Peržiūrėti modelių kainas](https://ailoot.ai/models/lt/)

## Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa

Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.

Perpardavėjo licencija

Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.

Dokumentai svetainėje

Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

[Paprašyti perpardavėjo licencijos](mailto:support@ailoot.ai) · [Oferta ir licencijos sutartis](https://ailoot.ai/legal/offer?lang=lt)

## Ailoot · Įmonė ir jos projektų portfelis





Ailoot remiasi sukaupta veiklos patirtimi, plačia klientų baze, stabiliomis paslaugomis ir nuolatine KPI kontrole.





Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.





Ailoot šią veiklos patirtį pritaiko teikdama API prieigą prie DI funkcijų klientų produktuose, agentuose, programose ir automatizavimo sprendimuose.
