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

# OpenAI: GPT-6 Sol

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

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

GPT-6 Sol je namenjen zahtevnemu programiranju in večstopenjskim nalogam z orodji. Dela z besedilom in slikami ter omogoča nastavljanje globine sklepanja.

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

O modelu

Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.

#### Programiranje z nadaljevanjem dela

GPT-6 Sol je model družbe OpenAI za zahtevno programiranje in večstopenjske naloge z orodji. Sprejema besedilo in slike ter vrača besedilo. Model je zasnovan za delo, pri katerem lahko posamezen odgovor preide v dejanje, rezultat dejanja pa v nov korak reševanja.

Njegove zmožnosti vključujejo pretočni izhod, strukturiran izhod in klicanje funkcij. Tako je mogoče izbrati ustrezno obliko rezultata: razlago, pripravljeno besedilo ali podatke z vnaprej določeno strukturo. Kadar naloga zahteva zunanje dejanje, model uporablja zagotovljeni nabor orodij.

#### Sklepanje in izbrani format

Določite lahko `none`, `low`, `medium`, `high`, `xhigh` in `max`; privzeto se uporablja `medium`. Vrednost `none` pomeni obdelavo brez sklepanja. Druge ravni določajo intenzivnost reševanja, velikost in slog končnega odgovora pa se določata ločeno.

Proizvajalec ločeno od intenzivnosti sklepanja predvideva običajni in razširjeni način izvedbe. Običajni je izbran privzeto. Razširjeni opravi dodatno delo pri težki nalogi in lahko zahteva več časa ter tokenov. Način določa postopek obdelave, raven intenzivnosti pa globino analize znotraj njega. Izbira načina je predvidena za `Responses` in zahteva ustrezno podporo aplikacije; njegova razpoložljivost v trenutnem načinu dostopa Ailoot ni ločeno potrjena.

Za sklepanje z orodji je namenjen `Responses`. V formatu `Chat Completions` je klicanje funkcij podprto samo pri `none`. To je pomembna značilnost konkretnega modela: izbira formata in načina določa, ali je mogoče sklepanje in dejanja združevati v enem procesu.

#### Gradivo in omejitve obsega

Kontekstno okno proizvajalca obsega 1 050 000 tokenov. Največji vhod je 922 000, največji izhod pa 128 000 tokenov. Časovna meja znanja je 20. april 2026. Slike spadajo med vhodno gradivo; neposredni rezultat Sol ostaja besedilen.

Pri veliki zahtevi je treba upoštevati izvirno gradivo in zgodovino. Tudi notranje sklepanje zaseda izhodni proračun, zato največjega izhoda ni mogoče razumeti kot obljubo enako dolgega vidnega besedila. Podpora dolgemu kontekstu pomaga ohranjati gradivo naloge v enem delovnem prostoru.

#### Koda, iskanje in povezane funkcije

OpenAI navaja iskanje po spletu in datotekah, izvajanje kode in ukazov, spreminjanje datotek, računalniška dejanja ter iskanje orodij. Model lahko te funkcije uporablja za zaporedno delo s projektom in njihove rezultate upošteva pri pripravi naslednjega koraka.

Ob ustrezni povezavi proizvajalec predvideva tudi ločeno orodje za ustvarjanje slik, delo z veščinami in zunanja sredstva prek MCP. Neposredni odgovor modela ostaja besedilen; rezultat ustvarjanja slike ustvari ločeno orodje. Njegova prisotnost pri proizvajalcu ne pomeni vključitve teh zmožnosti v vsak način dostopa Ailoot.

Pri uporabniških funkcijah aplikacija prejme izbrano dejanje in argumente, ga izvede ter rezultat preda modelu. Podpora takšni izmenjavi ne pomeni, da je vsako orodje že povezano. Nabor funkcij v konkretni zahtevi je odvisen od izbranega načina dostopa in zagotovljenih zmožnosti.

Ponavljajoči se deli začetka zahteve podpirajo predpomnjenje. Strukturiran izhod določa obliko podatkov po shemi JSON; upoštevanje oblike ne nadomesti preverjanja vsebine. Pri dolgotrajnih nalogah so predvideni načini ohranjanja koristnega stanja in krajšanja nakopičenega konteksta.

Praktična naloga

### Praktična naloga

Tehnični primer v angleščini

```
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.
```

#### Pričakovani rezultat

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

#### Preverjanje rezultata

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

**Ailoot · Anthropic Messages** `POST /v1/messages` `gpt-6-sol`

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

OpenAI /`gpt-6-sol`

### Začetek

GPT-6 Sol je namenjen zahtevnemu programiranju in večstopenjskim nalogam z orodji. Dela z besedilom in slikami ter omogoča nastavljanje globine sklepanja.

Dovoljeni vhodi

Besedilo · Slike

Rezultati

Besedilo

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`, `image`

Izhod

`text`

Kontekst

1.050.000 tokens

Največji izhod

128.000 tokens

Izhodni format

json ali SSE

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve gpt-6-sol | Privzeto— |
| Polje`messages` | Vrsta`message[]` | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 | Privzeto— |
| Polje`messages[].role` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve user, assistant | Privzeto— |
| Polje`messages[].content` | Vrsta`string\|content_block[]` | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
| Polje`system` | Vrsta`string\|content_block[]` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`max_tokens` | Vrsta`integer` | ZahtevaObvezno | Vrednosti in omejitve Najmanj: 1 Omejitev velja za: natančna zgornja meja izbranega modela/kartice | Privzeto— |
| Polje`stream` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
| Polje`temperature` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`top_p` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`stop_sequences` | Vrsta`string[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tools` | Vrsta`tool[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tools[].name` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: podano je orodje | Privzeto— |
| Polje`tools[].description` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`tools[].input_schema` | Vrsta`JSON_schema` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`tool_choice` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`thinking.type` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`thinking.budget_tokens` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`output_config.effort` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`metadata` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`cache_control` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |

Kombinacije vhodnih gradiv

**Besedilo** · Besedilo UTF8

`messages[].content ali blok type=text`

**Besedilo + slika**

`{type:image,source:{type:base64,media_type,data}} ali vir vrste type=url`

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`material_types` | Specifikacijatext, image |
| Parameter`required` | Specifikacijamodel, messages, max\_tokens |
| Parameter`optional_controls` | Specifikacijanull |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`text_file_material` | Specifikacijadejanska vsebina UTF-8 je vstavljena kot besedilo; ID datotek in URLs potrebujejo ločeno, natančno določeno podporo |

Življenjski cikel: `exact retained published method`

Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.

### Cenik

#### Cene metod Ailoot

Vhod

0,002 $ */ 1K*

Izhod

0,01 $ */ 1K*

Branje predpomnilnika

0,0002 $ */ 1K*

Zapis v predpomnilnik

0,0025 $ */ 1K*

Zapis v predpomnilnik, 5 min

0,0025 $ */ 1K tokens*

Množilnik fast

×2

Množilnik flex

×0.5

#### Cene glede na dolžino zahteve · Anthropic Messages

| Velikost zahteve, žetoni | Vhod | Izhod | Branje predpomnilnika | Zapis v predpomnilnik | Predpomnilnik 5 min | Predpomnilnik 1 ura |
| --- | --- | --- | --- | --- | --- | --- |
| Velikost zahteve, žetoni(0; 272.000\] | Vhod0,002 $ | Izhod0,01 $ | Branje predpomnilnika0,0002 $ | Zapis v predpomnilnik0,0025 $ | Predpomnilnik 5 min0,0025 $ | Predpomnilnik 1 uraOsnovna: — |
| Velikost zahteve, žetoni(272.000; ∞) | Vhod0,004 $ | Izhod0,015 $ | Branje predpomnilnika0,0004 $ | Zapis v predpomnilnik0,005 $ | Predpomnilnik 5 min0,005 $ | Predpomnilnik 1 uraOsnovna: — |

Cene v USD na 1K žetonov. Če cena ni nastavljena, se prevzame osnovna cena te metode; «—» pomeni, da osnovna cena ni nastavljena.

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

#### Podrobnosti referenčne tarife

Referenčne lestvice modela ne spreminjajo izbire metode, ocen cen ali stroškov. Veljavni stroški uporabljajo cene izbrane metode Ailoot.

Referenčne lestvice modela

#### Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
| --- | --- | --- | --- | --- |
| NastavitevOpenAI Chat · Osnovne cene žetonov | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Chat · Razred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Chat · Razred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevAnthropic Messages · Osnovne cene žetonov | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevAnthropic Messages · Razred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevAnthropic Messages · Razred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Responses · Osnovne cene žetonov | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Responses · Razred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Responses · Razred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |

### Primeri zahtev

#### Ailoot · Anthropic Messages

Primer besedilaVhod, slikaPython SDKNode.js SDKTok Python

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

### Prejmi in shrani rezultate

#### Ailoot · Anthropic Messages

json ali SSE

##### Ohrani vse dokončane rezultate

Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.

Ohranite vse vsebinske bloke, podpise sklepanja in dejanske ID uporabe orodij. Sestavite vse delne spremembe blokov SSE; prvi besedilni blok ni celoten izhod.

##### Če je treba preveriti izvirni odgovor

Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`id` | Vrstastring |
| Polje`model` | Vrstastring |
| Polje`content[]` | Vrstatext\|thinking\|tool\_use\|other content block |
| Polje`stop_reason` | Vrstastring\|null |
| Polje`usage` | Vrstaobject |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |

### Druga imena

#### Druga imena modelov

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

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

[`openai/gpt-6-sol`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=messages), [`gpt-6-sol`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=messages), [`gpt-6-sol`](https://ailoot.ai/models/sl/#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/sl/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=responses)

OpenAI /`gpt-6-sol`

### Začetek

GPT-6 Sol je namenjen zahtevnemu programiranju in večstopenjskim nalogam z orodji. Dela z besedilom in slikami ter omogoča nastavljanje globine sklepanja.

Dovoljeni vhodi

Besedilo · Slike

Rezultati

Besedilo

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`, `image`

Izhod

`text`

Kontekst

1.050.000 tokens

Največji izhod

128.000 tokens

Izhodni format

json ali SSE

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve gpt-6-sol | Privzeto— |
| Polje`input` | Vrsta`string\|input_item[]` | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
| Polje`instructions` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`input[].type` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve message, reasoning, function\_call, function\_call\_output | Privzeto— |
| Polje`input[].content` | Vrsta`string\|content_part[]` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`input[].call_id` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: function\_call\_output; ohranite dejansko vrnjeni call\_id | Privzeto— |
| Polje`input[].output` | Vrsta`string\|content_part[]` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: function\_call\_output | Privzeto— |
| Polje`max_output_tokens` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
| Polje`stream` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
| Polje`temperature` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`top_p` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tools` | Vrsta`tool[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tool_choice` | Vrsta`string\|object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`parallel_tool_calls` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`reasoning.effort` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`reasoning.summary` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`text.format` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`text.verbosity` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`include` | Vrsta`string[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`store` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`previous_response_id` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Zahteva za ID: Samo dejanski ID odgovora iz podprtega nadaljevanja Odvisno od modela | Privzeto— |
| Polje`service_tier` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`prompt_cache_key` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`prompt_cache_options` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |

Kombinacije vhodnih gradiv

**Besedilo** · Besedilo UTF8

`vhodno besedilo ali del input_text`

**Besedilo + slika**

`{type:input_image,image_url}`

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`material_types` | Specifikacijatext, image |
| Parameter`required` | Specifikacijamodel, input |
| Parameter`optional_controls` | Specifikacijanull |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`text_file_material` | Specifikacijadejanska vsebina UTF-8 je vstavljena kot besedilo; ID datotek in URLs potrebujejo ločeno, natančno določeno podporo |

Življenjski cikel: `exact retained published method`

Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.

### Cenik

#### Cene metod Ailoot

Vhod

0,002 $ */ 1K*

Izhod

0,01 $ */ 1K*

Branje predpomnilnika

0,0002 $ */ 1K*

Zapis v predpomnilnik

0,0025 $ */ 1K*

Zapis v predpomnilnik, 5 min

0,0025 $ */ 1K tokens*

Množilnik fast

×2

Množilnik flex

×0.5

#### Cene glede na dolžino zahteve · OpenAI Responses

| Velikost zahteve, žetoni | Vhod | Izhod | Branje predpomnilnika | Zapis v predpomnilnik | Predpomnilnik 5 min | Predpomnilnik 1 ura |
| --- | --- | --- | --- | --- | --- | --- |
| Velikost zahteve, žetoni(0; 272.000\] | Vhod0,002 $ | Izhod0,01 $ | Branje predpomnilnika0,0002 $ | Zapis v predpomnilnik0,0025 $ | Predpomnilnik 5 min0,0025 $ | Predpomnilnik 1 uraOsnovna: — |
| Velikost zahteve, žetoni(272.000; ∞) | Vhod0,004 $ | Izhod0,015 $ | Branje predpomnilnika0,0004 $ | Zapis v predpomnilnik0,005 $ | Predpomnilnik 5 min0,005 $ | Predpomnilnik 1 uraOsnovna: — |

Cene v USD na 1K žetonov. Če cena ni nastavljena, se prevzame osnovna cena te metode; «—» pomeni, da osnovna cena ni nastavljena.

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

#### Podrobnosti referenčne tarife

Referenčne lestvice modela ne spreminjajo izbire metode, ocen cen ali stroškov. Veljavni stroški uporabljajo cene izbrane metode Ailoot.

Referenčne lestvice modela

#### Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
| --- | --- | --- | --- | --- |
| NastavitevOpenAI Chat · Osnovne cene žetonov | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Chat · Razred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Chat · Razred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevAnthropic Messages · Osnovne cene žetonov | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevAnthropic Messages · Razred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevAnthropic Messages · Razred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Responses · Osnovne cene žetonov | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Responses · Razred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Responses · Razred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |

### Primeri zahtev

#### Ailoot · OpenAI Responses

Primer besedilaVhod, slikaPython SDKNode.js SDKTok Python

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

### Prejmi in shrani rezultate

#### Ailoot · OpenAI Responses

json ali SSE

##### Ohrani vse dokončane rezultate

Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.

Ohranite vsak izhodni element in del vsebine, dejanski call\_id funkcije, šifrirano sklepanje in podatke o porabi. Pri pretočnem izhodu ohranite celotne identifikacijske podatke dogodkov in elementov.

##### Če je treba preveriti izvirni odgovor

Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`id` | Vrstastring |
| Polje`status` | Vrstastring |
| Polje`output[]` | Vrstamessage\|reasoning\|function\_call\|other item |
| Polje`output[].content[]` | Vrstacontent part |
| Polje`usage` | Vrstaobject |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |

### Druga imena

#### Druga imena modelov

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

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

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

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

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

OpenAI /`gpt-6-sol`

### Začetek

GPT-6 Sol je namenjen zahtevnemu programiranju in večstopenjskim nalogam z orodji. Dela z besedilom in slikami ter omogoča nastavljanje globine sklepanja.

Dovoljeni vhodi

Besedilo · Slike

Rezultati

Besedilo

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`, `image`

Izhod

`text`

Kontekst

1.050.000 tokens

Največji izhod

128.000 tokens

Izhodni format

json ali SSE

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve gpt-6-sol | Privzeto— |
| Polje`messages` | Vrsta`message[]` | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 | Privzeto— |
| Polje`messages[].role` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve Primeri: system, user, assistant, tool, function Pogoji: Te vloge so izrecno predstavljene s tipi združljivosti v izvorni kodi; natančen nabor vlog ostaja odvisen od modela. Odvisno od modela | Privzeto— |
| Polje`messages[].content` | Vrsta`string\|content_part[]\|null` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`messages[].tool_calls` | Vrsta`tool_call[]` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`messages[].tool_call_id` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: role=tool; uporabite dejansko vrnjeni ID | Privzeto— |
| Polje`messages[].name` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`messages[].reasoning_content` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: Pošljite nazaj dejansko vrnjeno sklepanje, kadar ga ta model uporablja | Privzeto— |
| Polje`messages[].reasoning_details` | Vrsta`object\|array` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`max_tokens` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
| Polje`max_completion_tokens` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
| Polje`stream` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
| Polje`stream_options.include_usage` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`temperature` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`top_p` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`stop` | Vrsta`string\|string[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tools` | Vrsta`function_tool[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tools[].type` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tools[].function.name` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve Velja, ko: podano je funkcijsko orodje | Privzeto— |
| Polje`tools[].function.description` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`tools[].function.parameters` | Vrsta`JSON_schema` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`tool_choice` | Vrsta`string\|object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`parallel_tool_calls` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`response_format` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`reasoning_effort` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`reasoning` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`service_tier` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`instructions` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Polje združljivosti | Privzeto— |
| Polje`functions` | Vrsta`function[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`function_call` | Vrsta`string\|object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`prompt_cache_options` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |

Kombinacije vhodnih gradiv

**Besedilo** · Besedilo UTF8

`messages[].content`

**Besedilo + slika**

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

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`material_types` | Specifikacijatext, image |
| Parameter`required` | Specifikacijamodel, messages |
| Parameter`optional_controls` | Specifikacijanull |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`text_file_material` | Specifikacijadejanska vsebina UTF-8 je vstavljena kot besedilo; ID datotek in URLs potrebujejo ločeno, natančno določeno podporo |

Življenjski cikel: `exact retained published method`

Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.

### Cenik

#### Cene metod Ailoot

Vhod

0,002 $ */ 1K*

Izhod

0,01 $ */ 1K*

Branje predpomnilnika

0,0002 $ */ 1K*

Zapis v predpomnilnik

0,0025 $ */ 1K*

Zapis v predpomnilnik, 5 min

0,0025 $ */ 1K tokens*

Množilnik fast

×2

Množilnik flex

×0.5

#### Cene glede na dolžino zahteve · OpenAI Chat

| Velikost zahteve, žetoni | Vhod | Izhod | Branje predpomnilnika | Zapis v predpomnilnik | Predpomnilnik 5 min | Predpomnilnik 1 ura |
| --- | --- | --- | --- | --- | --- | --- |
| Velikost zahteve, žetoni(0; 272.000\] | Vhod0,002 $ | Izhod0,01 $ | Branje predpomnilnika0,0002 $ | Zapis v predpomnilnik0,0025 $ | Predpomnilnik 5 min0,0025 $ | Predpomnilnik 1 uraOsnovna: — |
| Velikost zahteve, žetoni(272.000; ∞) | Vhod0,004 $ | Izhod0,015 $ | Branje predpomnilnika0,0004 $ | Zapis v predpomnilnik0,005 $ | Predpomnilnik 5 min0,005 $ | Predpomnilnik 1 uraOsnovna: — |

Cene v USD na 1K žetonov. Če cena ni nastavljena, se prevzame osnovna cena te metode; «—» pomeni, da osnovna cena ni nastavljena.

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

#### Podrobnosti referenčne tarife

Referenčne lestvice modela ne spreminjajo izbire metode, ocen cen ali stroškov. Veljavni stroški uporabljajo cene izbrane metode Ailoot.

Referenčne lestvice modela

#### Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
| --- | --- | --- | --- | --- |
| NastavitevOpenAI Chat · Osnovne cene žetonov | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Chat · Razred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Chat · Razred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevAnthropic Messages · Osnovne cene žetonov | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevAnthropic Messages · Razred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevAnthropic Messages · Razred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Responses · Osnovne cene žetonov | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Responses · Razred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevOpenAI Responses · Razred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |

### Primeri zahtev

#### Ailoot · OpenAI Chat

Primer besedilaVhod, slikaPython SDKNode.js SDKTok Python

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

### Prejmi in shrani rezultate

#### Ailoot · OpenAI Chat

json ali SSE

##### Ohrani vse dokončane rezultate

Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.

Ohranite vsako možnost odgovora ter njeno vsebino, klice orodij in sklepanje. V SSE sestavite delne spremembe po indeksu možnosti/orodja ter ohranite končni razlog zaključka in podatke o porabi.

##### Če je treba preveriti izvirni odgovor

Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`choices[].index` | Vrstainteger |
| Polje`choices[].message.content` | Vrstastring\|null |
| Polje`choices[].message.tool_calls` | Vrstatool\_call\[\] |
| Polje`choices[].message.reasoning_content` | Vrstastring |
| Polje`choices[].message.reasoning_details` | Vrstaobject\|array |
| Polje`choices[].finish_reason` | Vrstastring\|null |
| Polje`usage` | Vrstaobject |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |

### Druga imena

#### Druga imena modelov

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

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

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

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

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

OpenAI /`gpt-6-sol`

ID modela

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

### Začetek

GPT-6 Sol je namenjen zahtevnemu programiranju in večstopenjskim nalogam z orodji. Dela z besedilom in slikami ter omogoča nastavljanje globine sklepanja.

Dovoljeni vhodi

Besedilo

Rezultati

Besedilo

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`

Izhod

`text`

Izhodni format

json ali SSE

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve gpt-6-sol | Privzeto— |
| Polje`messages` | Vrsta`message[]` | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 | Privzeto— |
| Polje`messages[].role` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`messages[].content` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: Besedilni pogovor | Privzeto— |
| Polje`stream` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |

Kombinacije vhodnih gradiv

**Besedilo** · Besedilo UTF8

`messages[].content`

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`required` | Specifikacijamodel, messages |
| Parameter`material_types` | Specifikacijatext |
| Parameter`messages` | Specifikacijapolje sporočil s strukturo role/content |
| Parameter`file_material` | Specifikacijadejanski dokument UTF-8 je vstavljen kot dobesedno besedilo; ID datoteke se ne izpeljuje |
| Parameter`optional_controls` | Specifikacijastream |
| Parameter`control_scope` | SpecifikacijaBesedilni pogovor; stream je logična vrednost in je privzeto false. |
| Parameter`output_modalities` | Specifikacijatext |
| Parameter`hosted_operations` | Specifikacijafalse |
| Parameter`multimodal_input_binding` | Specifikacijanull |

Druga imena metode: `/chat/completions`

Življenjski cikel: `synchronous_or_streamed`

Pošljite natančen ID modela skupaj z messages.

Dolžina konteksta ni zgornja meja izhoda.

Besedilna datoteka lahko poda dobesedno besedilo; slikovni, zvočni vhodi in vhodi z datotečnimi objekti potrebujejo natančno vezavo.

### Cenik

Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.

Hitri način

Standardna tarifa Ko je izbran hitri način

Način flex

Standardna tarifa Ko je izbran način flex

Najvišja raven razmišljanja

Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)

Raven razmišljanja · visoka

Standardna tarifa Ko je raven razmišljanja visoka

Raven razmišljanja · nizka

Standardna tarifa Ko je raven razmišljanja nizka

Raven razmišljanja · najvišja

Standardna tarifa Ko je raven razmišljanja najvišja

Raven razmišljanja · srednja

Standardna tarifa Ko je raven razmišljanja srednja

Raven razmišljanja · izklopljena

Standardna tarifa Ko je razmišljanje izklopljeno

Raven razmišljanja · xhigh

Standardna tarifa Ko je raven razmišljanja xhigh

#### Cene Ailoot

#### Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
| --- | --- | --- | --- | --- |
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevRazred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

### Primeri zahtev

#### Ailoot Ultra · OpenAI Chat

curlPython SDK

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model":"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"))
```

### Prejmi in shrani rezultate

#### Ailoot Ultra · OpenAI Chat

json ali SSE

##### Ohrani vse dokončane rezultate

Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.

Ohranite vsako možnost odgovora ter njeno vsebino, klice orodij in sklepanje. V SSE sestavite delne spremembe po indeksu možnosti/orodja ter ohranite končni razlog zaključka in podatke o porabi.

##### Če je treba preveriti izvirni odgovor

Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`choices[].index` | Vrstainteger |
| Polje`choices[].message.content` | Vrstastring\|null |
| Polje`choices[].message.tool_calls` | Vrstatool\_call\[\] |
| Polje`choices[].message.reasoning_content` | Vrstastring |
| Polje`choices[].message.reasoning_details` | Vrstaobject\|array |
| Polje`choices[].finish_reason` | Vrstastring\|null |
| Polje`usage` | Vrstaobject |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |

### Druga imena

#### Druga imena modelov

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

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

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

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gpt-6-sol`

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

OpenAI /`gpt-6-sol`

ID modela

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

### Začetek

GPT-6 Sol je namenjen zahtevnemu programiranju in večstopenjskim nalogam z orodji. Dela z besedilom in slikami ter omogoča nastavljanje globine sklepanja.

Dovoljeni vhodi

Besedilo

Rezultati

json · sse

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`

Izhod

`json`, `sse`

Izhodni format

JSON ali SSE

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve gpt-6-sol | Privzeto— |
| Polje`messages` | Vrsta`message[]` | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
| Polje`messages[].role` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve user, assistant | Privzeto— |
| Polje`messages[].content` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
| Polje`max_tokens` | Vrsta`integer` | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
| Polje`stream` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |

Kombinacije vhodnih gradiv

**Besedilo** · Besedilo UTF-8

`niz messages[].content`

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`required` | Specifikacijamodel, messages, max\_tokens |
| Parameter`optional_controls` | Specifikacijastream |
| Parameter`material_types` | Specifikacijatext |
| Parameter`text_file_material` | SpecifikacijaPreberite dejanski dokument UTF-8 in njegovo besedilo vstavite v navedeni vhodni niz ali niz vsebine sporočila. |

Življenjski cikel: `synchronous_or_streamed`

### Cenik

Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.

Hitri način

Standardna tarifa Ko je izbran hitri način

Način flex

Standardna tarifa Ko je izbran način flex

Najvišja raven razmišljanja

Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)

Raven razmišljanja · visoka

Standardna tarifa Ko je raven razmišljanja visoka

Raven razmišljanja · nizka

Standardna tarifa Ko je raven razmišljanja nizka

Raven razmišljanja · najvišja

Standardna tarifa Ko je raven razmišljanja najvišja

Raven razmišljanja · srednja

Standardna tarifa Ko je raven razmišljanja srednja

Raven razmišljanja · izklopljena

Standardna tarifa Ko je razmišljanje izklopljeno

Raven razmišljanja · xhigh

Standardna tarifa Ko je raven razmišljanja xhigh

#### Cene Ailoot

#### Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
| --- | --- | --- | --- | --- |
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevRazred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

### Primeri zahtev

#### Ailoot Ultra · Anthropic Messages

Popolno minimalno telo zahteve JSONcurl · uporabite svoj dokument UTF-8Python · shranite celoten 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))
```

### Prejmi in shrani rezultate

#### Ailoot Ultra · Anthropic Messages

JSON ali SSE

##### Ohrani vse dokončane rezultate

Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.

Ohranite vse vsebinske bloke, podpise sklepanja in dejanske ID uporabe orodij. Sestavite vse delne spremembe blokov SSE; prvi besedilni blok ni celoten izhod.

##### Če je treba preveriti izvirni odgovor

Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`id` | Vrstastring |
| Polje`model` | Vrstastring |
| Polje`content[]` | Vrstatext\|thinking\|tool\_use\|other content block |
| Polje`stop_reason` | Vrstastring\|null |
| Polje`usage` | Vrstaobject |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |

### Druga imena

#### Druga imena modelov

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

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

[`openai/gpt-6-sol`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=messages), [`gpt-6-sol`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=messages), [`gpt-6-sol`](https://ailoot.ai/models/sl/#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/sl/#m=openai%2Fgpt-6-sol&route=Ultra&caller=gpt-6-sol&fmt=responses)

OpenAI /`gpt-6-sol`

ID modela

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

### Začetek

GPT-6 Sol je namenjen zahtevnemu programiranju in večstopenjskim nalogam z orodji. Dela z besedilom in slikami ter omogoča nastavljanje globine sklepanja.

Dovoljeni vhodi

Besedilo

Rezultati

Besedilo

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`

Izhod

`text`

Izhodni format

json or SSE

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve gpt-6-sol | Privzeto— |
| Polje`input` | Vrsta`string\|input_item[]` | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
| Polje`instructions` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`input[].type` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve message, reasoning, function\_call, function\_call\_output | Privzeto— |
| Polje`input[].content` | Vrsta`string\|content_part[]` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`input[].call_id` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: function\_call\_output; ohranite dejansko vrnjeni call\_id | Privzeto— |
| Polje`input[].output` | Vrsta`string\|content_part[]` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: function\_call\_output | Privzeto— |
| Polje`max_output_tokens` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
| Polje`stream` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
| Polje`temperature` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`top_p` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tools` | Vrsta`tool[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tool_choice` | Vrsta`string\|object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`parallel_tool_calls` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`reasoning.effort` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`reasoning.summary` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`text.format` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`text.verbosity` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`include` | Vrsta`string[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`store` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`previous_response_id` | Vrsta`string` | ZahtevaNi podprto | Vrednosti in omejitve Zahteva za ID: Samo dejanski ID odgovora iz podprtega nadaljevanja Pogoji: Pri vsaki zahtevi znova pošljite dejansko zgodovino pogovora. | Privzeto— |
| Polje`service_tier` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`prompt_cache_key` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`prompt_cache_options` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |

Kombinacije vhodnih gradiv

**Besedilo** · Besedilo UTF8

`input text or input_text part`

**Besedilo + slika**

`{type:input_image,image_url}`

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`material_types` | Specifikacijatext |
| Parameter`required` | Specifikacijamodel, input |
| Parameter`optional_controls` | Specifikacijanull |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`text_file_material` | SpecifikacijaPreberite dejanski dokument UTF-8 in njegovo besedilo vstavite v navedeni vhodni niz ali niz vsebine sporočila. |

Življenjski cikel: `exact retained published method`

Pošljite natančni ID modela in obvezna polja.

Ohranite vsak vrnjeni element in njegove prvotne identifikatorje.

### Cenik

Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.

Hitri način

Standardna tarifa Ko je izbran hitri način

Način flex

Standardna tarifa Ko je izbran način flex

Najvišja raven razmišljanja

Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)

Raven razmišljanja · visoka

Standardna tarifa Ko je raven razmišljanja visoka

Raven razmišljanja · nizka

Standardna tarifa Ko je raven razmišljanja nizka

Raven razmišljanja · najvišja

Standardna tarifa Ko je raven razmišljanja najvišja

Raven razmišljanja · srednja

Standardna tarifa Ko je raven razmišljanja srednja

Raven razmišljanja · izklopljena

Standardna tarifa Ko je razmišljanje izklopljeno

Raven razmišljanja · xhigh

Standardna tarifa Ko je raven razmišljanja xhigh

#### Cene Ailoot

#### Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
| --- | --- | --- | --- | --- |
| NastavitevOsnovne cene žetonov | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevRazred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

### Primeri zahtev

#### Ailoot Ultra · OpenAI Responses

Popolno minimalno telo zahteve JSONcurl · uporabite svoj dokument UTF-8Python · shranite celoten 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))
```

### Prejmi in shrani rezultate

#### Ailoot Ultra · OpenAI Responses

json or SSE

##### Ohrani vse dokončane rezultate

Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.

Ohranite vsak izhodni element in del vsebine, dejanski call\_id funkcije, šifrirano sklepanje in podatke o porabi. Pri pretočnem izhodu ohranite celotne identifikacijske podatke dogodkov in elementov.

##### Če je treba preveriti izvirni odgovor

Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`id` | Vrstastring |
| Polje`status` | Vrstastring |
| Polje`output[]` | Vrstamessage\|reasoning\|function\_call\|other item |
| Polje`output[].content[]` | Vrstacontent part |
| Polje`usage` | Vrstaobject |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |

### Druga imena

#### Druga imena modelov

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

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

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

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

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

OpenAI /`openai/gpt-6-sol`

ID modela

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

### Začetek

GPT-6 Sol je namenjen zahtevnemu programiranju in večstopenjskim nalogam z orodji. Dela z besedilom in slikami ter omogoča nastavljanje globine sklepanja.

Dovoljeni vhodi

Besedilo

Rezultati

Besedilo

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`

Izhod

`text`

Izhodni format

json ali SSE

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve openai/gpt-6-sol | Privzeto— |
| Polje`messages` | Vrsta`message[]` | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 | Privzeto— |
| Polje`messages[].role` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve Primeri: system, user, assistant, tool, function Pogoji: Te vloge so izrecno predstavljene s tipi združljivosti v izvorni kodi; natančen nabor vlog ostaja odvisen od modela. Odvisno od modela | Privzeto— |
| Polje`messages[].content` | Vrsta`string\|content_part[]\|null` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`messages[].tool_calls` | Vrsta`tool_call[]` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`messages[].tool_call_id` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: role=tool; uporabite dejansko vrnjeni ID | Privzeto— |
| Polje`messages[].name` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`messages[].reasoning_content` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: Pošljite nazaj dejansko vrnjeno sklepanje, kadar ga ta model uporablja | Privzeto— |
| Polje`messages[].reasoning_details` | Vrsta`object\|array` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`max_tokens` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
| Polje`max_completion_tokens` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
| Polje`stream` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
| Polje`stream_options.include_usage` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`temperature` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`top_p` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`stop` | Vrsta`string\|string[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tools` | Vrsta`function_tool[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tools[].type` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve function Odvisno od modela | Privzeto— |
| Polje`tools[].function.name` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve Velja, ko: podano je funkcijsko orodje | Privzeto— |
| Polje`tools[].function.description` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`tools[].function.parameters` | Vrsta`JSON_schema` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`tool_choice` | Vrsta`string\|object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`parallel_tool_calls` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`response_format` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`reasoning_effort` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`reasoning` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`service_tier` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`instructions` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Polje združljivosti | Privzeto— |
| Polje`functions` | Vrsta`function[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`function_call` | Vrsta`string\|object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`prompt_cache_options` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`modalities` | Vrsta`string[]` | ZahtevaIzbirno | Vrednosti in omejitve text | Privzeto— |
| Polje`provider` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: provider.options je na tej besedilni poti Ultra zavrnjen | Privzeto— |
| Polje`cache_control.ttl` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: 1h je zavrnjen na dejanskih mestih za predpomnjenje pozivov | Privzeto— |

Kombinacije vhodnih gradiv

**Besedilo** · Besedilo UTF8

`messages[].content`

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`required` | Specifikacijamodel, messages |
| Parameter`material_types` | Specifikacijatext |
| Parameter`messages` | Specifikacijapolje sporočil s strukturo role/content |
| Parameter`file_material` | Specifikacijadejanski dokument UTF-8 je vstavljen kot dobesedno besedilo; ID datoteke se ne izpeljuje |
| Parameter`optional_controls` | Specifikacijastream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parameter`control_scope` | Specifikacijaodvisno od modela; uporabniška funkcijska orodja se razlikujejo od orodij, ki jih izvaja storitev |
| Parameter`output_modalities` | Specifikacijatext |
| Parameter`hosted_operations` | Specifikacijafalse |
| Parameter`multimodal_input_binding` | Specifikacijanull |

Življenjski cikel: `synchronous_or_streamed`

Pošljite natančen ID modela skupaj z messages.

Dolžina konteksta ni zgornja meja izhoda.

Besedilna datoteka lahko poda dobesedno besedilo; slikovni, zvočni vhodi in vhodi z datotečnimi objekti potrebujejo natančno vezavo.

### Cenik

Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.

Hitri način

Standardna tarifa Ko je izbran hitri način

Način flex

Standardna tarifa Ko je izbran način flex

Najvišja raven razmišljanja

Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)

Raven razmišljanja · visoka

Standardna tarifa Ko je raven razmišljanja visoka

Raven razmišljanja · nizka

Standardna tarifa Ko je raven razmišljanja nizka

Raven razmišljanja · najvišja

Standardna tarifa Ko je raven razmišljanja najvišja

Raven razmišljanja · srednja

Standardna tarifa Ko je raven razmišljanja srednja

Raven razmišljanja · izklopljena

Standardna tarifa Ko je razmišljanje izklopljeno

Raven razmišljanja · xhigh

Standardna tarifa Ko je raven razmišljanja xhigh

#### Cene Ailoot

#### Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
| --- | --- | --- | --- | --- |
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevRazred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

### Primeri zahtev

#### Ailoot Ultra · OpenAI Chat

curlPython SDKTok Python

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

### Prejmi in shrani rezultate

#### Ailoot Ultra · OpenAI Chat

json ali SSE

##### Ohrani vse dokončane rezultate

Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.

Ohranite vsako možnost odgovora ter njeno vsebino, klice orodij in sklepanje. V SSE sestavite delne spremembe po indeksu možnosti/orodja ter ohranite končni razlog zaključka in podatke o porabi.

##### Če je treba preveriti izvirni odgovor

Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`choices[].index` | Vrstainteger |
| Polje`choices[].message.content` | Vrstastring\|null |
| Polje`choices[].message.tool_calls` | Vrstatool\_call\[\] |
| Polje`choices[].message.reasoning_content` | Vrstastring |
| Polje`choices[].message.reasoning_details` | Vrstaobject\|array |
| Polje`choices[].finish_reason` | Vrstastring\|null |
| Polje`usage` | Vrstaobject |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |

### Druga imena

#### Druga imena modelov

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

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

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

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `openai/gpt-6-sol`

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

OpenAI /`openai/gpt-6-sol`

ID modela

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

### Začetek

GPT-6 Sol je namenjen zahtevnemu programiranju in večstopenjskim nalogam z orodji. Dela z besedilom in slikami ter omogoča nastavljanje globine sklepanja.

Dovoljeni vhodi

Besedilo

Rezultati

Besedilo

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`

Izhod

`text`

Izhodni format

json ali SSE

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve openai/gpt-6-sol | Privzeto— |
| Polje`messages` | Vrsta`message[]` | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 | Privzeto— |
| Polje`messages[].role` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve user, assistant | Privzeto— |
| Polje`messages[].content` | Vrsta`string\|content_block[]` | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
| Polje`system` | Vrsta`string\|content_block[]` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`max_tokens` | Vrsta`integer` | ZahtevaObvezno | Vrednosti in omejitve Najmanj: 1 Omejitev velja za: natančna zgornja meja izbranega modela/kartice | Privzeto— |
| Polje`stream` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
| Polje`temperature` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`top_p` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`stop_sequences` | Vrsta`string[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tools` | Vrsta`tool[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tools[].name` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: podano je orodje | Privzeto— |
| Polje`tools[].description` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`tools[].input_schema` | Vrsta`JSON_schema` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`tool_choice` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`thinking.type` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`thinking.budget_tokens` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`output_config.effort` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`metadata` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`cache_control` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |

Kombinacije vhodnih gradiv

**Besedilo** · Besedilo UTF8

`messages[].content ali blok type=text`

**Besedilo + slika**

`{type:image,source:{type:base64,media_type,data}} ali vir vrste type=url`

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`material_types` | Specifikacijatext |
| Parameter`required` | Specifikacijamodel, messages, max\_tokens |
| Parameter`optional_controls` | Specifikacijanull |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`text_file_material` | SpecifikacijaPreberite dejanski dokument UTF-8 in njegovo besedilo vstavite v navedeni vhodni niz ali niz vsebine sporočila. |

Življenjski cikel: `exact retained published method`

Pošljite natančni ID modela in obvezna polja.

Ohranite vsak vrnjeni element in njegove prvotne identifikatorje.

### Cenik

Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.

Hitri način

Standardna tarifa Ko je izbran hitri način

Način flex

Standardna tarifa Ko je izbran način flex

Najvišja raven razmišljanja

Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)

Raven razmišljanja · visoka

Standardna tarifa Ko je raven razmišljanja visoka

Raven razmišljanja · nizka

Standardna tarifa Ko je raven razmišljanja nizka

Raven razmišljanja · najvišja

Standardna tarifa Ko je raven razmišljanja najvišja

Raven razmišljanja · srednja

Standardna tarifa Ko je raven razmišljanja srednja

Raven razmišljanja · izklopljena

Standardna tarifa Ko je razmišljanje izklopljeno

Raven razmišljanja · xhigh

Standardna tarifa Ko je raven razmišljanja xhigh

#### Cene Ailoot

#### Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
| --- | --- | --- | --- | --- |
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevRazred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

### Primeri zahtev

#### Ailoot Ultra · Anthropic Messages

Popolno minimalno telo zahteve JSONcurl · uporabite svoj dokument UTF-8Python · shranite celoten 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))
```

### Prejmi in shrani rezultate

#### Ailoot Ultra · Anthropic Messages

json ali SSE

##### Ohrani vse dokončane rezultate

Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.

Ohranite vse vsebinske bloke, podpise sklepanja in dejanske ID uporabe orodij. Sestavite vse delne spremembe blokov SSE; prvi besedilni blok ni celoten izhod.

##### Če je treba preveriti izvirni odgovor

Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`id` | Vrstastring |
| Polje`model` | Vrstastring |
| Polje`content[]` | Vrstatext\|thinking\|tool\_use\|other content block |
| Polje`stop_reason` | Vrstastring\|null |
| Polje`usage` | Vrstaobject |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |

### Druga imena

#### Druga imena modelov

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

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

[`openai/gpt-6-sol`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=messages), [`gpt-6-sol`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-6-sol&route=Core&caller=gpt-6-sol&fmt=messages), [`gpt-6-sol`](https://ailoot.ai/models/sl/#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/sl/#m=openai%2Fgpt-6-sol&route=Ultra&caller=openai%2Fgpt-6-sol&fmt=responses)

OpenAI /`openai/gpt-6-sol`

ID modela

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

### Začetek

GPT-6 Sol je namenjen zahtevnemu programiranju in večstopenjskim nalogam z orodji. Dela z besedilom in slikami ter omogoča nastavljanje globine sklepanja.

Dovoljeni vhodi

Besedilo

Rezultati

Besedilo

### Na voljo v Ailoot · vhodi in metode

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

Vhod

`text`

Izhod

`text`

Izhodni format

json ali SSE

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve openai/gpt-6-sol | Privzeto— |
| Polje`input` | Vrsta`string\|input_item[]` | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
| Polje`instructions` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`input[].type` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve message, reasoning, function\_call, function\_call\_output | Privzeto— |
| Polje`input[].content` | Vrsta`string\|content_part[]` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
| Polje`input[].call_id` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: function\_call\_output; ohranite dejansko vrnjeni call\_id | Privzeto— |
| Polje`input[].output` | Vrsta`string\|content_part[]` | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: function\_call\_output | Privzeto— |
| Polje`max_output_tokens` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
| Polje`stream` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
| Polje`temperature` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`top_p` | Vrsta`number` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tools` | Vrsta`tool[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`tool_choice` | Vrsta`string\|object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`parallel_tool_calls` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`reasoning.effort` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`reasoning.summary` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`text.format` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`text.verbosity` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`include` | Vrsta`string[]` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`store` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`previous_response_id` | Vrsta`string` | ZahtevaNi podprto | Vrednosti in omejitve Zahteva za ID: Samo dejanski ID odgovora iz podprtega nadaljevanja Pogoji: Pri vsaki zahtevi znova pošljite dejansko zgodovino pogovora. | Privzeto— |
| Polje`service_tier` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`prompt_cache_key` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`prompt_cache_options` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |

Kombinacije vhodnih gradiv

**Besedilo** · Besedilo UTF8

`vhodno besedilo ali del input_text`

**Besedilo + slika**

`{type:input_image,image_url}`

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`material_types` | Specifikacijatext |
| Parameter`required` | Specifikacijamodel, input |
| Parameter`optional_controls` | Specifikacijanull |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`text_file_material` | SpecifikacijaPreberite dejanski dokument UTF-8 in njegovo besedilo vstavite v navedeni vhodni niz ali niz vsebine sporočila. |

Življenjski cikel: `exact retained published method`

Pošljite natančni ID modela in obvezna polja.

Ohranite vsak vrnjeni element in njegove prvotne identifikatorje.

### Cenik

Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.

Hitri način

Standardna tarifa Ko je izbran hitri način

Način flex

Standardna tarifa Ko je izbran način flex

Najvišja raven razmišljanja

Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)

Raven razmišljanja · visoka

Standardna tarifa Ko je raven razmišljanja visoka

Raven razmišljanja · nizka

Standardna tarifa Ko je raven razmišljanja nizka

Raven razmišljanja · najvišja

Standardna tarifa Ko je raven razmišljanja najvišja

Raven razmišljanja · srednja

Standardna tarifa Ko je raven razmišljanja srednja

Raven razmišljanja · izklopljena

Standardna tarifa Ko je razmišljanje izklopljeno

Raven razmišljanja · xhigh

Standardna tarifa Ko je raven razmišljanja xhigh

#### Cene Ailoot

#### Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
| --- | --- | --- | --- | --- |
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključno272.000 | Strošek Vhod · Vhodni žetoni **$0.004** / 1K žetonov Izhod · Izhodni žetoni **$0.02** / 1K žetonov Vhod · Branje predpomnilnika **$0.0004** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.005** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |
| NastavitevRazred 2 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot272.000 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.008** / 1K žetonov Izhod · Izhodni žetoni **$0.03** / 1K žetonov Vhod · Branje predpomnilnika **$0.0008** / 1K žetonov Vhod · Zapis v predpomnilnik **$0.01** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura **—** / 1K žetonov |

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

### Primeri zahtev

#### Ailoot Ultra · OpenAI Responses

Popolno minimalno telo zahteve JSONcurl · uporabite svoj dokument UTF-8Python · shranite celoten 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))
```

### Prejmi in shrani rezultate

#### Ailoot Ultra · OpenAI Responses

json ali SSE

##### Ohrani vse dokončane rezultate

Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.

Ohranite vsak izhodni element in del vsebine, dejanski call\_id funkcije, šifrirano sklepanje in podatke o porabi. Pri pretočnem izhodu ohranite celotne identifikacijske podatke dogodkov in elementov.

##### Če je treba preveriti izvirni odgovor

Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`id` | Vrstastring |
| Polje`status` | Vrstastring |
| Polje`output[]` | Vrstamessage\|reasoning\|function\_call\|other item |
| Polje`output[].content[]` | Vrstacontent part |
| Polje`usage` | Vrstaobject |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |

### Druga imena

#### Druga imena modelov

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

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

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

FAQ · OpenAI: GPT-6 Sol

Kateri vhodi in rezultati so na voljo?

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

Katera polja uporablja zahteva?

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

Katere omejitve veljajo?

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

Ailoot povežite s Claude Code, OpenCode, Hermes ali svojo aplikacijo.

## Podjetje in njegov portfelj projektov

Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.

## Žetone kupujte s popustom.

Naročniški popust za redno delo. Promocijske kode prinesejo do 50% popusta na nakup žetonov.

Naročnina

Za redne zahteve izberite paket s popustom.

Promocijska koda do 50%

Kodo vnesite ob nakupu. Cena se preračuna po veljavni akciji.

Poraba v zgodovini

Za vsako zahtevo se shranijo model, žetoni in znesek.

[Izberite naročnino](https://ailoot.ai/docs/sl/billing/subscriptions/) · [Oglejte si cene modelov](https://ailoot.ai/models/sl/)

## API povežite z izdelkom, ki ga prodajate.

SaaS, aplikacije in boti po ponudbi in licenčni pogodbi Ailoot. Za nadaljnjo prodajo zaprosite za preprodajno licenco.

Komercialna aplikacija

Ustvarjanje besedila, slik, videa in zvoka vključite v plačljive funkcije svoje storitve.

Licenca za preprodajalca

Pošljite opis projekta in shemo dostopa. Zahtevajte pisne pogoje uporabe in nadaljnje prodaje.

Dokumenti na strani

Ponudba, licenčna pogodba in politika obdelave podatkov so dostopne pred povezavo.

[Zaprosite za preprodajno licenco](mailto:support@ailoot.ai) · [Ponudba in licenčna pogodba](https://ailoot.ai/legal/offer?lang=sl)

## Ailoot · Podjetje in njegov portfelj projektov





Ailoot temelji na pridobljenih operativnih izkušnjah, široki bazi strank, stabilni storitvi in stalnem spremljanju KPI.





Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.





Ailoot te operativne izkušnje uporablja za dostop prek API do funkcij umetne inteligence v izdelkih strank, agentih, aplikacijah in avtomatizacijah.
