Source: https://ailoot.ai/models/sl/openai-gpt-oss-20b/
Canonical: https://ailoot.ai/models/sl/openai-gpt-oss-20b/
Language: sl

# OpenAI: gpt-oss-20b

[Markdown](https://ailoot.ai/models/sl/openai-gpt-oss-20b/index.md) · [JSON](https://ailoot.ai/models/sl/openai-gpt-oss-20b/facts.json)

## [OpenAI: gpt-oss-20b](https://ailoot.ai/models/sl/openai-gpt-oss-20b/)

Manjši splošnonamenski model gpt-oss podjetja OpenAI sprejema in vrača besedilo za razmišljanje, programiranje in specializirane postopke. Podpira nastavljivo razmišljanje, klicanje funkcij, Structured Outputs in dodatno prilagajanje objavljenih odprtih uteži.

- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gpt-oss-20b`](https://ailoot.ai/models/sl/openai-gpt-oss-20b/#method-0)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gpt-oss-20b`](https://ailoot.ai/models/sl/openai-gpt-oss-20b/#method-1)
- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `openai/gpt-oss-20b`](https://ailoot.ai/models/sl/openai-gpt-oss-20b/#method-2)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `openai/gpt-oss-20b`](https://ailoot.ai/models/sl/openai-gpt-oss-20b/#method-3)

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.

gpt-oss-20b je manjši splošnonamenski model OpenAI z odprtimi utežmi za razmišljanje in razvijalske postopke. Sprejema besedilo in vrača besedilo. Proizvajalec navaja skupno 21 milijard parametrov s 3,6 milijarde aktivnih parametrov na žeton. To je izdaja 20b družine gpt-oss, ločena od večje izdaje 120b in od modela Safeguard za razvrščanje na podlagi pravil.

Proizvajalec opisuje lokalne in specializirane primere uporabe ter učno zbirko samo z besedilom, usmerjeno v STEM, programiranje in splošno znanje. Ponazoritvena naloga je razlaga odlomka kode ob navedenih predpostavkah in predlog usmerjene spremembe. Naloga besedilne analize lahko namesto tega primerja opise glede na izrecna merila ali delovne zapiske pretvori v uporaben nabor ugotovitev. Modelu podajte izvorno gradivo in rezultat, ki ga potrebuje bralec ali naslednji korak aplikacije.

Objavljena arhitektura z mešanico ekspertov ima 24 plasti, 32 ekspertov in štiri aktivne eksperte na žeton. Prvotna izdaja uteži ekspertov OpenAI v formatu MXFP4 je zasnovana tako, da se prilega v 16 GB pomnilnika. Uteži so izdane pod licenco Apache 2.0 in jih je mogoče dodatno prilagoditi za specializirano delo. Te proizvajalčeve lastnosti opisujejo objavljeni model in razvijalcu omogočajo razlikovanje njegove velikosti in vloge prilagajanja brez predpostavljanja nastavitve, uporabljene v posamezni aplikaciji.

Dokumentacija OpenAI navaja kontekstno okno 131072 žetonov, največji ustvarjeni izhod 131072 žetonov in mejo znanja na 1. junij 2024. Razpoložljivi kontekst mora sprejeti podano gradivo, analizo in končni odgovor. Model podpira ravni razmišljanja low, medium in high. Zahtevani format Harmony ohranja notranjo analizo in končni odgovor v ločenih kanalih, proizvajalec pa navaja, da se surova analiza ne sme prikazovati neposredno končnim uporabnikom.

Proizvajalec dokumentira klicanje funkcij, brskanje po spletu, izvajanje kode Python prek orodij in Structured Outputs. Navedene lastnosti modela vključujejo tudi pretakanje; njegovo dokumentirano okolje orodij vključuje funkcije, interpretacijo kode, povezave MCP in spletno iskanje. Aplikacije izpostavijo in izvedejo svoje operacije ter vrnejo dejanske rezultate za naslednjo odločitev. Končno besedilo naj razlikuje predlagano dejanje od dokončane operacije in njenih vrnjenih dokazov.

Za usmerjen postopek določite obvezna polja, omejitve in merilo dokončanja. Zahtevajte razlago, vezano na kodo, ali sklep, vezan na podano besedilo, nato z nadaljevanjem obravnavajte eno manjkajočo podrobnost. Uporaben končni izdelek je konkreten predlog popravka, primerjava, kratko poročilo ali strukturiran rezultat, ki ohrani potrebna dejstva in poimenuje vsak še nerešen pogoj.

Praktična naloga

### Praktična naloga

Tehnični primer v angleščini

```
Correct a weighted average

Explain the error in this Python expression for average unit cost: sum(price for price, quantity in batches) / len(batches). Input batches are [(10, 2), (4, 8)], where each tuple contains unit price and unit count. Propose a weighted calculation, state how zero total quantity should be handled and show checks for the supplied data and an empty list.
```

#### Pričakovani rezultat

```
A corrected function, a short weighting explanation and ordinary/zero-quantity test cases.
```

#### Preverjanje rezultata

```
Check that quantities weight both the numerator and denominator and empty input has explicit behavior.
```

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gpt-oss-20b`

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

OpenAI /`gpt-oss-20b`

ID modela

- `gpt-oss-20b`
- `openai/gpt-oss-20b`

### Začetek

Manjši splošnonamenski model gpt-oss podjetja OpenAI sprejema in vrača besedilo za razmišljanje, programiranje in specializirane postopke. Podpira nastavljivo razmišljanje, klicanje funkcij, Structured Outputs in dodatno prilagajanje objavljenih odprtih uteži.

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-oss-20b | 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 · srednja

Standardna tarifa Ko je raven razmišljanja srednja

#### 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.000058** / 1K žetonov Izhod · Izhodni žetoni **$0.00028** / 1K žetonov Vhod · Branje predpomnilnika **$0.000058** / 1K žetonov Vhod · Zapis v predpomnilnik **—** / 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čnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.000058** / 1K žetonov Izhod · Izhodni žetoni **$0.00028** / 1K žetonov Vhod · Branje predpomnilnika **$0.000058** / 1K žetonov Vhod · Zapis v predpomnilnik **—** / 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-oss-20b","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-oss-20b", 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

**Ailoot Ultra** [`gpt-oss-20b`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-oss-20b&route=Ultra&caller=gpt-oss-20b&fmt=chat), [`openai/gpt-oss-20b`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-oss-20b&route=Ultra&caller=openai%2Fgpt-oss-20b&fmt=chat)

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

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

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gpt-oss-20b`

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

OpenAI /`gpt-oss-20b`

ID modela

- `gpt-oss-20b`
- `openai/gpt-oss-20b`

### Začetek

Manjši splošnonamenski model gpt-oss podjetja OpenAI sprejema in vrača besedilo za razmišljanje, programiranje in specializirane postopke. Podpira nastavljivo razmišljanje, klicanje funkcij, Structured Outputs in dodatno prilagajanje objavljenih odprtih uteži.

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-oss-20b | 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 · srednja

Standardna tarifa Ko je raven razmišljanja srednja

#### 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.000058** / 1K žetonov Izhod · Izhodni žetoni **$0.00028** / 1K žetonov Vhod · Branje predpomnilnika **$0.000058** / 1K žetonov Vhod · Zapis v predpomnilnik **—** / 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čnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.000058** / 1K žetonov Izhod · Izhodni žetoni **$0.00028** / 1K žetonov Vhod · Branje predpomnilnika **$0.000058** / 1K žetonov Vhod · Zapis v predpomnilnik **—** / 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-oss-20b",
  "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-oss-20b', '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-oss-20b', '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

**Ailoot Ultra** [`gpt-oss-20b`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-oss-20b&route=Ultra&caller=gpt-oss-20b&fmt=messages), [`openai/gpt-oss-20b`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-oss-20b&route=Ultra&caller=openai%2Fgpt-oss-20b&fmt=messages)

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

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

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `openai/gpt-oss-20b`

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

OpenAI /`openai/gpt-oss-20b`

ID modela

- `gpt-oss-20b`
- `openai/gpt-oss-20b`

### Začetek

Manjši splošnonamenski model gpt-oss podjetja OpenAI sprejema in vrača besedilo za razmišljanje, programiranje in specializirane postopke. Podpira nastavljivo razmišljanje, klicanje funkcij, Structured Outputs in dodatno prilagajanje objavljenih odprtih uteži.

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-oss-20b | 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 · srednja

Standardna tarifa Ko je raven razmišljanja srednja

#### 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.000058** / 1K žetonov Izhod · Izhodni žetoni **$0.00028** / 1K žetonov Vhod · Branje predpomnilnika **$0.000058** / 1K žetonov Vhod · Zapis v predpomnilnik **—** / 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čnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.000058** / 1K žetonov Izhod · Izhodni žetoni **$0.00028** / 1K žetonov Vhod · Branje predpomnilnika **$0.000058** / 1K žetonov Vhod · Zapis v predpomnilnik **—** / 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-oss-20b", "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-oss-20b',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-oss-20b',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

**Ailoot Ultra** [`gpt-oss-20b`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-oss-20b&route=Ultra&caller=gpt-oss-20b&fmt=chat), [`openai/gpt-oss-20b`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-oss-20b&route=Ultra&caller=openai%2Fgpt-oss-20b&fmt=chat)

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

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

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `openai/gpt-oss-20b`

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

OpenAI /`openai/gpt-oss-20b`

ID modela

- `gpt-oss-20b`
- `openai/gpt-oss-20b`

### Začetek

Manjši splošnonamenski model gpt-oss podjetja OpenAI sprejema in vrača besedilo za razmišljanje, programiranje in specializirane postopke. Podpira nastavljivo razmišljanje, klicanje funkcij, Structured Outputs in dodatno prilagajanje objavljenih odprtih uteži.

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 openai/gpt-oss-20b | 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 · srednja

Standardna tarifa Ko je raven razmišljanja srednja

#### 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.000058** / 1K žetonov Izhod · Izhodni žetoni **$0.00028** / 1K žetonov Vhod · Branje predpomnilnika **$0.000058** / 1K žetonov Vhod · Zapis v predpomnilnik **—** / 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čnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni **$0.000058** / 1K žetonov Izhod · Izhodni žetoni **$0.00028** / 1K žetonov Vhod · Branje predpomnilnika **$0.000058** / 1K žetonov Vhod · Zapis v predpomnilnik **—** / 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-oss-20b",
  "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': 'openai/gpt-oss-20b', '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': 'openai/gpt-oss-20b', '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

**Ailoot Ultra** [`gpt-oss-20b`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-oss-20b&route=Ultra&caller=gpt-oss-20b&fmt=messages), [`openai/gpt-oss-20b`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-oss-20b&route=Ultra&caller=openai%2Fgpt-oss-20b&fmt=messages)

#### Druga imena poti metod

`/chat/completions`

#### Povezani ID-ji za klic

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

FAQ · OpenAI: gpt-oss-20b

Kateri vhodi in rezultati so na voljo?

`POST /v1/chat/completions` · `gpt-oss-20b`: `text` → `text` `POST /v1/messages` · `gpt-oss-20b`: `text` → `json`, `sse` `POST /v1/chat/completions` · `openai/gpt-oss-20b`: `text` → `text` `POST /v1/messages` · `openai/gpt-oss-20b`: `text` → `json`, `sse`

Katera polja uporablja zahteva?

`POST /v1/chat/completions` · `gpt-oss-20b`: `model`, `messages`, `stream` `POST /v1/messages` · `gpt-oss-20b`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/chat/completions` · `openai/gpt-oss-20b`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `openai/gpt-oss-20b`: `model`, `messages`, `max_tokens`, `stream`

Katere omejitve veljajo?

`POST /v1/chat/completions` · `gpt-oss-20b`: `messages.min_items`: `1` `POST /v1/chat/completions` · `openai/gpt-oss-20b`: `messages.min_items`: `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.
