Source: https://ailoot.ai/models/hu/gemini-3-8-flash/
Canonical: https://ailoot.ai/models/hu/gemini-3-8-flash/
Language: hu

# Google: Gemini 3.8 Flash

[Markdown](https://ailoot.ai/models/hu/gemini-3-8-flash/index.md) · [JSON](https://ailoot.ai/models/hu/gemini-3-8-flash/facts.json)

## [Google: Gemini 3.8 Flash](https://ailoot.ai/models/hu/gemini-3-8-flash/)

A Gemini 3.8 Flash a Google széles körben használható multimodális modellje tartós szoftvermérnöki munkához, ágensekhez és összetett tudásfeladatokhoz. Szöveget, képet, hangot, videót és PDF-et fogad, szöveget ad vissza, és low, medium vagy high gondolkodást kínál eszközökkel és strukturált kimenettel. Dokumentált bemeneti/kimeneti korlátja 1 048 576/65 536 token.

- [**Ailoot · Anthropic Messages** `POST /v1/messages` `gemini-3.8-flash`](https://ailoot.ai/models/hu/gemini-3-8-flash/#method-0)
- [**Ailoot · Gemini generateContent** `POST /v1beta/models/{model}:generateContent` `gemini-3.8-flash`](https://ailoot.ai/models/hu/gemini-3-8-flash/#method-1)
- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gemini-3.8-flash`](https://ailoot.ai/models/hu/gemini-3-8-flash/#method-2)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gemini-3.8-flash`](https://ailoot.ai/models/hu/gemini-3-8-flash/#method-3)
- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `google/gemini-3.8-flash`](https://ailoot.ai/models/hu/gemini-3-8-flash/#method-4)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `google/gemini-3.8-flash`](https://ailoot.ai/models/hu/gemini-3-8-flash/#method-5)
- [**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `~google/gemini-flash-latest`](https://ailoot.ai/models/hu/gemini-3-8-flash/#method-6)
- [**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `~google/gemini-flash-latest`](https://ailoot.ai/models/hu/gemini-3-8-flash/#method-7)

A modellről

Ez a leírás a modell képességeit ismerteti. Az Ailootban elérhető bemenetek, kimenetek és lehetőségek alább, a kiválasztott metódusnál láthatók.

A Gemini 3.8 Flash a Google szöveges kimenetű modellje tartós szoftvermérnöki munkához, többlépéses ágensekhez és összetett tudásmunkafolyamatokhoz. A Gemini 3.7 Flash modellre épül, szoftvermérnöki és ágensalapú tudásmunkát érintő fejlesztésekkel. Szöveget, képeket, hangot, videót és PDF-et fogad, így egy feladat az írott célt a megoldásához ténylegesen szükséges anyaggal kapcsolhatja össze. A hasznos eredmény kódváltoztatás, magyarázattal ellátott elemzés, írott válasz vagy strukturált rekord.

Kódolási feladathoz adja meg a követelményt, a releváns fájlokat, a megfigyelt működést és a megőrzendő korlátokat. Egy képernyőkép rögzítheti a kívánt felületet, a naplók vagy egy reprodukáló példa pedig megmutathatják a hibát. Hibakeresésnél kérje a modelltől egy űrlap látható állapota és tárolt értéke közötti eltérés követését, a felelős kódútvonal azonosítását és célzott javítás javaslatát. A tervezett végső anyag maradjon egyértelmű, hogy a vizsgálat és eszközhasználat hosszabb sorozatának is konkrét befejezési feltétele legyen.

Hosszabb munkához használjon kisebb gondolkodási lépéseket, ismétlődő eszközhívásokat és közteseredmény-ellenőrzéseket. A low, medium és high gondolkodási szintek szabályozzák a gondolkodás mennyiségét; a dokumentált alapértelmezés medium. A low gyors tervezethez vagy körülhatárolt elemzéshez illik, a high pedig nehéz matematikai, kódolási vagy többlépéses feladatokra szolgál. A Gemini 3.8 Flash nem támogatja a minimal gondolkodási szintet. Egy tartós hibakeresési feladat és egy egyszerű mezőkinyerés ezért eltérő gondolkodási választást kíván, nem ugyanazt a beállítást minden kéréshez.

A dokumentált eszközök között függvényhívás, kódvégrehajtás, fájlkeresés, keresésalapú forráshoz kötés, Google Maps-alapú forráshoz kötés és URL-kontextus szerepel, a Computer Use pedig előzetes képességként van felsorolva. A strukturált kimenetek géppel feldolgozható eredményt határoznak meg. A függvényeknek legyen egyértelmű céljuk és paramétermeghatározásuk: a modell kérhet egy függvényt, a kapcsolódó alkalmazás pedig végrehajtja a műveletet és visszaadja annak eredményét. Őrizze meg a függvényazonosításokat és a ténylegesen visszakapott anyagot a fordulók között. Hasznos végső válasz az, amely elmagyarázza, milyen bizonyíték támasztja alá a javasolt javítást vagy kinyert értéket.

A 3.8 migrációs útmutató a korábbi gondolkodásikeret-konfiguráció helyett gondolkodási szintekkel működő vezérlőket használ, és javasolja az elavult mintavételi paraméterek és előre kitöltött model-fordulók eltávolítását. Az érintett állapotmentes munkafolyamatban a gondolkodási aláírások megőrzését, valamint a függvényválaszok hívásaikkal való összerendelését is előírja azonosító és név alapján. Ezek a részletek fontosak egy többlépéses feladat folytatásakor: a következő fordulónak a tényleges korábbi kontextus kell, nem olyan átírt beszámoló, amelyből elveszik az eszközeredmény vagy az aláírás. Az új user fordulóban is tegye egyértelművé a kérdést és a kért kimenetet.

Multimodális tudásmunkánál azonosítsa a releváns dokumentumoldalakat, diagramot, hangintervallumot vagy videóeseményt, és mondja el, hogyan járuljon hozzá a válaszhoz. Dokumentumok összehasonlításakor kérheti a különbségek táblázatát forrásszövegrészekkel; diagramkérdésben a látható értékeket és az általuk alátámasztott következtetést. Videóelemzésben kérhető a megállapítást indokló események leírása. A modell ezekből a bemenetekből szöveget ad vissza. A generált képek, a beszéd és az élő hanginterakció külön modellprofilokhoz tartozik.

Gemini API-korlátai 1 048 576 bemeneti és 65 536 kimeneti token, a natív modell legfeljebb 1M méretű kontextusának és 64K szöveges kimenetének megfelelően. Az utasítások, a beszélgetési előzmények és a megadott média bemeneti kontextust fogyasztanak, a gondolkodásnak vagy egy hosszú végső eredménynek pedig bele kell férnie a dokumentált kimeneti keretbe. A Google ehhez a fejlesztői profilhoz gyorsítótárazást, kötegelt feldolgozást, Flex és Priority feldolgozást is felsorol. Független elemeknél őrizzen meg stabil elemazonosítót és kifejezett kimeneti formátumot, hogy minden eredmény a saját forrásához kapcsolódjon.

Lehetséges korlátai közé tartoznak a hallucinációk, az időnkénti lassúság vagy időtúllépés és a magasabb ráfordításhoz társuló nagyobb tokenhasználat. Ismeretzárása 2026. március, egyes területeken továbbra is 2025. januári korláttal. Ha a feladat későbbi információtól függ, adjon meg aktuális bizonyítékot, vagy használja a dokumentált forráshoz kötési eszközöket. A forráshivatkozásokat, számításokat és javasolt kódot ellenőrizze a tényleges bemenetek és végrehajtási eredmények alapján. A végső hasznos anyag különböztesse meg az alátámasztott megállapítást a megoldatlan kérdéstől, anélkül hogy a gördülékeny válaszból a kért eredmény elérését feltételezné.

Gyakorlati feladat

### Gyakorlati feladat

Technikai példa angolul

```
Diagnose an unsaved form value

Review this form flow: the input displays draft.name; typing updates draft.name; Save sends original.name; after reload the old name reappears. Explain the mismatch and propose a minimal correction in framework-neutral pseudocode. Include a regression scenario that types a new name, saves, reloads, and checks the stored value. Do not claim any browser action occurred.
```

#### Várt eredmény

```
A cause explanation, corrected Save pseudocode and an end-to-end regression scenario.
```

#### Az eredmény ellenőrzése

```
The submitted value comes from the edited draft, and the reload check verifies persistence rather than just the visible input.
```

**Ailoot · Anthropic Messages** `POST /v1/messages` `gemini-3.8-flash`

[`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash&fmt=messages)

Google /`gemini-3.8-flash`

### Kezdő lépések

A Gemini 3.8 Flash a Google széles körben használható multimodális modellje tartós szoftvermérnöki munkához, ágensekhez és összetett tudásfeladatokhoz. Szöveget, képet, hangot, videót és PDF-et fogad, szöveget ad vissza, és low, medium vagy high gondolkodást kínál eszközökkel és strukturált kimenettel. Dokumentált bemeneti/kimeneti korlátja 1 048 576/65 536 token.

Elfogadott bemenetek

Szöveg · Képek

Eredmények

Szöveg

### Elérhető az Ailootban · bemenetek és metódusok

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

Bemenet

`text`, `image`

Kimenet

`text`

Kontextus

1 048 576 tokens

Maximális kimenet

65 536 tokens

Kimeneti formátum

json vagy SSE

| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
| --- | --- | --- | --- | --- |
| Mező`model` | Típus`string` | KövetelményKötelező | Értékek és korlátok gemini-3.8-flash | Alapértelmezett— |
| Mező`messages` | Típus`message[]` | KövetelményKötelező | Értékek és korlátok Minimális elemszám: 1 | Alapértelmezett— |
| Mező`messages[].role` | Típus`string` | KövetelményKötelező | Értékek és korlátok user, assistant | Alapértelmezett— |
| Mező`messages[].content` | Típus`string\|content_block[]` | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
| Mező`system` | Típus`string\|content_block[]` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`max_tokens` | Típus`integer` | KövetelményKötelező | Értékek és korlátok Minimum: 1 A korlát erre vonatkozik: a kiválasztott modell/kártya pontos felső korlátja | Alapértelmezett— |
| Mező`stream` | Típus`boolean` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezettfalse |
| Mező`temperature` | Típus`number` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`top_p` | Típus`number` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`stop_sequences` | Típus`string[]` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`tools` | Típus`tool[]` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`tools[].name` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Akkor alkalmazandó, ha: Eszköz megadva | Alapértelmezett— |
| Mező`tools[].description` | Típus`string` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`tools[].input_schema` | Típus`JSON_schema` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`tool_choice` | Típus`object` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`thinking.type` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`thinking.budget_tokens` | Típus`integer` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`output_config.effort` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`metadata` | Típus`object` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`cache_control` | Típus`object` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |

Bemeneti anyagok kombinációi

**Szöveg** · UTF8 szöveg

`messages[].content vagy type=text blokk`

**Szöveg + kép**

`{type:image,source:{type:base64,media_type,data}} vagy type=url típusú forrás`

Metódus paraméterei és életciklusa

| Paraméter | Szerződés |
| --- | --- |
| Paraméter`material_types` | Szerződéstext, image |
| Paraméter`required` | Szerződésmodel, messages, max\_tokens |
| Paraméter`optional_controls` | Szerződésnull |
| Paraméter`content_type` | Szerződésapplication/json |
| Paraméter`text_file_material` | Szerződésa tényleges UTF-8 tartalom szövegként beillesztve; a fájlazonosítók/URLs külön, pontos támogatást igényelnek |

Életciklus: `exact retained published method`

A metódusok szerkezete és azonosítói pontosak; a beszállítói képesség különbözik a kérelmek befogadásától.

### Díjcsomagok

#### Ailoot-metódusok díjai

Bemenet

0,00075 USD */ 1K*

Kimenet

0,00375 USD */ 1K*

Gyorsítótár olvasása

0,000075 USD */ 1K*

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. [A foglalás és az elszámolás működése →](https://ailoot.ai/docs/hu/billing/reserve/)

#### A referencia-díjszabás részletei

A modellszintű referenciatáblázatok nem módosítják a metódusválasztást, az árajánlatokat vagy a díjakat. A tényleges díjak a kiválasztott Ailoot-metódus díjtételeit használják.

Modell referenciatáblázatai

#### Árak beállításonként

Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.

| Beállítás | Díjtáblázat | Díj |
| --- | --- | --- |
| BeállításOpenAI Chat · Alap tokendíjak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek **$0.003** / 1K token Kimenet · Kimeneti tokenek **$0.015** / 1K token Bemenet · Gyorsítótár olvasása **$0.0003** / 1K token Bemenet · Írás a gyorsítótárba **—** / 1K token Bemenet · Írás a gyorsítótárba, 1 óra **—** / 1K token |
| BeállításAnthropic Messages · Alap tokendíjak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek **$0.003** / 1K token Kimenet · Kimeneti tokenek **$0.015** / 1K token Bemenet · Gyorsítótár olvasása **$0.0003** / 1K token Bemenet · Írás a gyorsítótárba **—** / 1K token Bemenet · Írás a gyorsítótárba, 1 óra **—** / 1K token |

### Példakérések

#### Ailoot · Anthropic Messages

Szöveges példaBemenet, képPython SDKNode.js SDKPython-adatfolyam

```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": "gemini-3.8-flash", "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": "gemini-3.8-flash", "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="gemini-3.8-flash",
    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: "gemini-3.8-flash",
  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='gemini-3.8-flash',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")
```

### Eredmények fogadása és mentése

#### Ailoot · Anthropic Messages

json vagy SSE

##### Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizze meg az összes tartalomblokkot, a gondolkodási tartalom aláírásait és a tényleges eszközhasználati ID-kat. Állítsa össze az összes SSE-blokk részleges frissítését; az első szövegblokk nem a teljes kimenet.

##### Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők

| Mező | Típus |
| --- | --- |
| Mező`id` | Típusstring |
| Mező`model` | Típusstring |
| Mező`content[]` | Típustext\|thinking\|tool\_use\|other content block |
| Mező`stop_reason` | Típusstring\|null |
| Mező`usage` | Típusobject |

Hibák és következő lépések

| Válasz | Feltétel | Következő lépés |
| --- | --- | --- |
| Válasz400 · `invalid_request_error` | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |

### Álnevek

#### Modell álnevei

<strong>Ailoot</strong> [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash&fmt=messages)
**Ailoot Ultra** [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=messages), [`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=messages), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=messages)

#### Metódusútvonalak álnevei

`/chat/completions`

#### Kapcsolódó modellazonosítók

[`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=messages), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=messages), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash&fmt=messages), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=messages)

**Ailoot · Gemini generateContent** `POST /v1beta/models/{model}:generateContent` `gemini-3.8-flash`

[`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash&fmt=gemini)

Google /`gemini-3.8-flash`

### Kezdő lépések

A Gemini 3.8 Flash a Google széles körben használható multimodális modellje tartós szoftvermérnöki munkához, ágensekhez és összetett tudásfeladatokhoz. Szöveget, képet, hangot, videót és PDF-et fogad, szöveget ad vissza, és low, medium vagy high gondolkodást kínál eszközökkel és strukturált kimenettel. Dokumentált bemeneti/kimeneti korlátja 1 048 576/65 536 token.

Elfogadott bemenetek

Szöveg · Képek

Eredmények

Szöveg

### Elérhető az Ailootban · bemenetek és metódusok

**Ailoot · Gemini generateContent** `POST /v1beta/models/{model}:generateContent`

Bemenet

`text`, `image`

Kimenet

`text`

Kimeneti formátum

json vagy támogatott folyamatos átvitel

| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
| --- | --- | --- | --- | --- |
| Mező`path.model` | Típus`string` | KövetelményKötelező | Értékek és korlátok gemini-3.8-flash | Alapértelmezett— |
| Mező`contents` | Típus`content[]` | KövetelményKötelező | Értékek és korlátok Minimális elemszám: 1 | Alapértelmezett— |
| Mező`contents[].role` | Típus`string` | KövetelményOpcionális | Értékek és korlátok user, model | Alapértelmezett— |
| Mező`contents[].parts` | Típus`part[]` | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
| Mező`systemInstruction` | Típus`content` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`generationConfig.maxOutputTokens` | Típus`integer` | KövetelményOpcionális | Értékek és korlátok Minimum: 1 Model-specific | Alapértelmezett— |
| Mező`generationConfig.temperature` | Típus`number` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`generationConfig.topP` | Típus`number` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`generationConfig.topK` | Típus`integer` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`generationConfig.stopSequences` | Típus`string[]` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`generationConfig.thinkingConfig.includeThoughts` | Típus`boolean` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`generationConfig.thinkingConfig.thinkingBudget` | Típus`integer` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`tools[].functionDeclarations` | Típus`function_declaration[]` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`toolConfig.functionCallingConfig.mode` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`safetySettings` | Típus`object[]` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`sessionId` | Típus`string` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |

Bemeneti anyagok kombinációi

**Szöveg** · UTF8 szöveg

`contents[].parts[].text`

**Szöveg + kép**

`parts[].inlineData={mimeType,data}`

Metódus paraméterei és életciklusa

| Paraméter | Szerződés |
| --- | --- |
| Paraméter`material_types` | Szerződéstext, image |
| Paraméter`required` | Szerződéscontents |
| Paraméter`optional_controls` | Szerződésnull |
| Paraméter`content_type` | Szerződésapplication/json |
| Paraméter`text_file_material` | Szerződésa tényleges UTF-8 tartalom szövegként beillesztve; a fájlazonosítók/URLs külön, pontos támogatást igényelnek |

Életciklus: `exact retained published method`

A metódusok szerkezete és azonosítói pontosak; a beszállítói képesség különbözik a kérelmek befogadásától.

### Díjcsomagok

#### Ailoot-metódusok díjai

Bemenet

0,00075 USD */ 1K*

Kimenet

0,00375 USD */ 1K*

Gyorsítótár olvasása

0,000075 USD */ 1K*

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. [A foglalás és az elszámolás működése →](https://ailoot.ai/docs/hu/billing/reserve/)

#### A referencia-díjszabás részletei

A modellszintű referenciatáblázatok nem módosítják a metódusválasztást, az árajánlatokat vagy a díjakat. A tényleges díjak a kiválasztott Ailoot-metódus díjtételeit használják.

Modell referenciatáblázatai

#### Árak beállításonként

Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.

| Beállítás | Díjtáblázat | Díj |
| --- | --- | --- |
| BeállításOpenAI Chat · Alap tokendíjak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek **$0.003** / 1K token Kimenet · Kimeneti tokenek **$0.015** / 1K token Bemenet · Gyorsítótár olvasása **$0.0003** / 1K token Bemenet · Írás a gyorsítótárba **—** / 1K token Bemenet · Írás a gyorsítótárba, 1 óra **—** / 1K token |
| BeállításAnthropic Messages · Alap tokendíjak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek **$0.003** / 1K token Kimenet · Kimeneti tokenek **$0.015** / 1K token Bemenet · Gyorsítótár olvasása **$0.0003** / 1K token Bemenet · Írás a gyorsítótárba **—** / 1K token Bemenet · Írás a gyorsítótárba, 1 óra **—** / 1K token |

### Példakérések

#### Ailoot · Gemini generateContent

Szöveges példaBemenet, képPython SDKNode.js SDKPython-adatfolyam

```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('{"contents": []}')
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["contents"]=[{"role":"user","parts":[{"text":"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/v1beta/models/gemini-3.8-flash:generateContent \
  -H "x-goog-api-key: $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('{"contents": [{"role": "user", "parts": [{"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["contents"][0]["parts"].append({"inlineData":{"mimeType":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/v1beta/models/gemini-3.8-flash:generateContent \
  -H "x-goog-api-key: $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 google import genai
from google.genai import types
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client = genai.Client(
    api_key=os.environ["AILOOT_API_KEY"],
    http_options=types.HttpOptions(base_url="https://api.ailoot.ai"),
)
resp = client.models.generate_content(model="gemini-3.8-flash", contents="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_json_dict())
```

```js
import { GoogleGenAI } from "@google/genai";

if (!process.env.AILOOT_API_KEY?.trim()) throw new Error("Set AILOOT_API_KEY before making a request");
const ai = new GoogleGenAI({ apiKey: process.env.AILOOT_API_KEY, httpOptions: { baseUrl: "https://api.ailoot.ai" } });
const resp = await ai.models.generateContent({ model: "gemini-3.8-flash", contents: "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 google import genai
from google.genai import types
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=genai.Client(api_key=os.environ["AILOOT_API_KEY"],http_options=types.HttpOptions(base_url="https://api.ailoot.ai"))
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))

count=0
with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
    for chunk in client.models.generate_content_stream(model='gemini-3.8-flash',contents="Explain observations and hypotheses in three sentences."):
        payload=chunk.to_json_dict()
        log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
        save_result(payload,"stream-chunk-"+str(count))
        count+=1
```

### Eredmények fogadása és mentése

#### Ailoot · Gemini generateContent

json vagy támogatott folyamatos átvitel

##### Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizze meg az összes válaszjelöltet és tartalomrészt, beleértve a függvényhívásokat, a gondolkodási tartalom aláírásait és a használati adatokat; a folyamatos átvitel darabjait sorrendben állítsa össze.

##### Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők

| Mező | Típus |
| --- | --- |
| Mező`responseId` | Típusstring |
| Mező`modelVersion` | Típusstring |
| Mező`candidates[].content.parts[]` | Típustext\|inlineData\|functionCall\|other part |
| Mező`candidates[].finishReason` | Típusstring |
| Mező`usageMetadata` | Típusobject |

Hibák és következő lépések

| Válasz | Feltétel | Következő lépés |
| --- | --- | --- |
| Válasz400 · `invalid_request_error` | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |

### Álnevek

#### Modell álnevei

<strong>Ailoot</strong> [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash&fmt=gemini)
**Ailoot Ultra** [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash), [`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest)

#### Metódusútvonalak álnevei

`/chat/completions`

#### Kapcsolódó modellazonosítók

[`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash&fmt=gemini), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash)

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `gemini-3.8-flash`

[`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=chat)

Google /`gemini-3.8-flash`

Modell ID-ja

- `gemini-3.8-flash`
- `google/gemini-3.8-flash`
- `~google/gemini-flash-latest`

### Kezdő lépések

A Gemini 3.8 Flash a Google széles körben használható multimodális modellje tartós szoftvermérnöki munkához, ágensekhez és összetett tudásfeladatokhoz. Szöveget, képet, hangot, videót és PDF-et fogad, szöveget ad vissza, és low, medium vagy high gondolkodást kínál eszközökkel és strukturált kimenettel. Dokumentált bemeneti/kimeneti korlátja 1 048 576/65 536 token.

Elfogadott bemenetek

Szöveg

Eredmények

Szöveg

### Elérhető az Ailootban · bemenetek és metódusok

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

Bemenet

`text`

Kimenet

`text`

Kimeneti formátum

json vagy SSE

| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
| --- | --- | --- | --- | --- |
| Mező`model` | Típus`string` | KövetelményKötelező | Értékek és korlátok gemini-3.8-flash | Alapértelmezett— |
| Mező`messages` | Típus`message[]` | KövetelményKötelező | Értékek és korlátok Minimális elemszám: 1 | Alapértelmezett— |
| Mező`messages[].role` | Típus`string` | KövetelményKötelező | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`messages[].content` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Akkor alkalmazandó, ha: Szöveges beszélgetés | Alapértelmezett— |
| Mező`stream` | Típus`boolean` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezettfalse |

Bemeneti anyagok kombinációi

**Szöveg** · UTF8 szöveg

`messages[].content`

Metódus paraméterei és életciklusa

| Paraméter | Szerződés |
| --- | --- |
| Paraméter`content_type` | Szerződésapplication/json |
| Paraméter`required` | Szerződésmodel, messages |
| Paraméter`material_types` | Szerződéstext |
| Paraméter`messages` | Szerződésüzenettömb role/content szerkezettel |
| Paraméter`file_material` | Szerződésa tényleges UTF-8 dokumentum szó szerinti szövegként beillesztve; nincs kikövetkeztetett fájlazonosító |
| Paraméter`optional_controls` | Szerződésstream |
| Paraméter`control_scope` | SzerződésSzöveges beszélgetés; a stream logikai érték, alapértéke false. |
| Paraméter`output_modalities` | Szerződéstext |
| Paraméter`hosted_operations` | Szerződésfalse |
| Paraméter`multimodal_input_binding` | Szerződésnull |

Metódus álnevei: `/chat/completions`

Életciklus: `synchronous_or_streamed`

Küldje el a pontos modellazonosítót a messages mellett.

A kontextushossz nem kimeneti felső korlát.

Egy szövegfájl szó szerinti szöveget adhat meg; a kép-/hang-/fájlobjektum-bemenetek pontos hozzárendelést igényelnek.

### Díjcsomagok

A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.

Gyors mód

Nincs megadva Ha a gyors mód van kiválasztva

Flex mód

Nincs megadva Ha a flex mód van kiválasztva

Maximális gondolkodási ráfordítás

Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik

Explicit gyorsítótárazás díjai

Nincs engedélyezve Ha explicit gyorsítótárazást kérnek

#### Ailoot-díjak

#### Árak beállításonként

| Beállítás | Díjtáblázat | Díj |
| --- | --- | --- |
| BeállításTokenenkénti alapárak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek **$0.003** / 1K token Kimenet · Kimeneti tokenek **$0.015** / 1K token Bemenet · Gyorsítótár olvasása **$0.0003** / 1K token Bemenet · Írás a gyorsítótárba **—** / 1K token Bemenet · Írás a gyorsítótárba, 1 óra **—** / 1K token |

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. [A foglalás és az elszámolás működése →](https://ailoot.ai/docs/hu/billing/reserve/)

### Példakérések

#### Ailoot Ultra · OpenAI Chat

curlPython SDK

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

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

```python
from openai import OpenAI
import os

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

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

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

### Eredmények fogadása és mentése

#### Ailoot Ultra · OpenAI Chat

json vagy SSE

##### Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizze meg az összes válaszváltozatot és azok tartalmát/eszközhívásait/gondolkodási tartalmát. SSE esetén válaszváltozat- és eszközindex szerint állítsa össze a részleges frissítéseket, és tartsa meg a végső befejezési okot és a használati adatokat.

##### Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők

| Mező | Típus |
| --- | --- |
| Mező`choices[].index` | Típusinteger |
| Mező`choices[].message.content` | Típusstring\|null |
| Mező`choices[].message.tool_calls` | Típustool\_call\[\] |
| Mező`choices[].message.reasoning_content` | Típusstring |
| Mező`choices[].message.reasoning_details` | Típusobject\|array |
| Mező`choices[].finish_reason` | Típusstring\|null |
| Mező`usage` | Típusobject |

Hibák és következő lépések

| Válasz | Feltétel | Következő lépés |
| --- | --- | --- |
| Válasz400 · `invalid_request_error` | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |

### Álnevek

#### Modell álnevei

<strong>Ailoot</strong> [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash)
**Ailoot Ultra** [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=chat), [`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=chat), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=chat)

#### Metódusútvonalak álnevei

`/chat/completions`

#### Kapcsolódó modellazonosítók

[`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=chat), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=chat), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `gemini-3.8-flash`

[`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=messages)

Google /`gemini-3.8-flash`

Modell ID-ja

- `gemini-3.8-flash`
- `google/gemini-3.8-flash`
- `~google/gemini-flash-latest`

### Kezdő lépések

A Gemini 3.8 Flash a Google széles körben használható multimodális modellje tartós szoftvermérnöki munkához, ágensekhez és összetett tudásfeladatokhoz. Szöveget, képet, hangot, videót és PDF-et fogad, szöveget ad vissza, és low, medium vagy high gondolkodást kínál eszközökkel és strukturált kimenettel. Dokumentált bemeneti/kimeneti korlátja 1 048 576/65 536 token.

Elfogadott bemenetek

Szöveg

Eredmények

json · sse

### Elérhető az Ailootban · bemenetek és metódusok

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

Bemenet

`text`

Kimenet

`json`, `sse`

Kimeneti formátum

JSON vagy SSE

| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
| --- | --- | --- | --- | --- |
| Mező`model` | Típus`string` | KövetelményKötelező | Értékek és korlátok gemini-3.8-flash | Alapértelmezett— |
| Mező`messages` | Típus`message[]` | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
| Mező`messages[].role` | Típus`string` | KövetelményKötelező | Értékek és korlátok user, assistant | Alapértelmezett— |
| Mező`messages[].content` | Típus`string` | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
| Mező`max_tokens` | Típus`integer` | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
| Mező`stream` | Típus`boolean` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezettfalse |

Bemeneti anyagok kombinációi

**Szöveg** · UTF-8 szöveg

`messages[].content karakterlánc`

Metódus paraméterei és életciklusa

| Paraméter | Szerződés |
| --- | --- |
| Paraméter`content_type` | Szerződésapplication/json |
| Paraméter`required` | Szerződésmodel, messages, max\_tokens |
| Paraméter`optional_controls` | Szerződésstream |
| Paraméter`material_types` | Szerződéstext |
| Paraméter`text_file_material` | SzerződésOlvassa el a tényleges UTF-8 dokumentumot, és tegye a szövegét a jelzett bemeneti karakterláncba vagy az üzenettartalom karakterláncába. |

Életciklus: `synchronous_or_streamed`

### Díjcsomagok

A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.

Gyors mód

Nincs megadva Ha a gyors mód van kiválasztva

Flex mód

Nincs megadva Ha a flex mód van kiválasztva

Maximális gondolkodási ráfordítás

Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik

Explicit gyorsítótárazás díjai

Nincs engedélyezve Ha explicit gyorsítótárazást kérnek

#### Ailoot-díjak

#### Árak beállításonként

| Beállítás | Díjtáblázat | Díj |
| --- | --- | --- |
| BeállításTokenenkénti alapárak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek **$0.003** / 1K token Kimenet · Kimeneti tokenek **$0.015** / 1K token Bemenet · Gyorsítótár olvasása **$0.0003** / 1K token Bemenet · Írás a gyorsítótárba **—** / 1K token Bemenet · Írás a gyorsítótárba, 1 óra **—** / 1K token |

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. [A foglalás és az elszámolás működése →](https://ailoot.ai/docs/hu/billing/reserve/)

### Példakérések

#### Ailoot Ultra · Anthropic Messages

Teljes, minimális JSON-törzscurl · használd a saját UTF-8-dokumentumodatPython · mentsd el a teljes eredményt

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

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

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

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

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

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

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

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

### Eredmények fogadása és mentése

#### Ailoot Ultra · Anthropic Messages

JSON vagy SSE

##### Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizze meg az összes tartalomblokkot, a gondolkodási tartalom aláírásait és a tényleges eszközhasználati ID-kat. Állítsa össze az összes SSE-blokk részleges frissítését; az első szövegblokk nem a teljes kimenet.

##### Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők

| Mező | Típus |
| --- | --- |
| Mező`id` | Típusstring |
| Mező`model` | Típusstring |
| Mező`content[]` | Típustext\|thinking\|tool\_use\|other content block |
| Mező`stop_reason` | Típusstring\|null |
| Mező`usage` | Típusobject |

Hibák és következő lépések

| Válasz | Feltétel | Következő lépés |
| --- | --- | --- |
| Válasz400 · `invalid_request_error` | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |

### Álnevek

#### Modell álnevei

<strong>Ailoot</strong> [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash&fmt=messages)
**Ailoot Ultra** [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=messages), [`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=messages), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=messages)

#### Metódusútvonalak álnevei

`/chat/completions`

#### Kapcsolódó modellazonosítók

[`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=messages), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=messages), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash&fmt=messages), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=messages)

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `google/gemini-3.8-flash`

[`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=chat)

Google /`google/gemini-3.8-flash`

Modell ID-ja

- `gemini-3.8-flash`
- `google/gemini-3.8-flash`
- `~google/gemini-flash-latest`

### Kezdő lépések

A Gemini 3.8 Flash a Google széles körben használható multimodális modellje tartós szoftvermérnöki munkához, ágensekhez és összetett tudásfeladatokhoz. Szöveget, képet, hangot, videót és PDF-et fogad, szöveget ad vissza, és low, medium vagy high gondolkodást kínál eszközökkel és strukturált kimenettel. Dokumentált bemeneti/kimeneti korlátja 1 048 576/65 536 token.

Elfogadott bemenetek

Szöveg

Eredmények

Szöveg

### Elérhető az Ailootban · bemenetek és metódusok

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

Bemenet

`text`

Kimenet

`text`

Kimeneti formátum

json vagy SSE

| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
| --- | --- | --- | --- | --- |
| Mező`model` | Típus`string` | KövetelményKötelező | Értékek és korlátok google/gemini-3.8-flash | Alapértelmezett— |
| Mező`messages` | Típus`message[]` | KövetelményKötelező | Értékek és korlátok Minimális elemszám: 1 | Alapértelmezett— |
| Mező`messages[].role` | Típus`string` | KövetelményKötelező | Értékek és korlátok Példák: system, user, assistant, tool, function Feltételek: Ezeket a szerepeket a forráskód kompatibilitási típusai kifejezetten reprezentálják; a pontos szerepkészlet továbbra is modellspecifikus. Model-specific | Alapértelmezett— |
| Mező`messages[].content` | Típus`string\|content_part[]\|null` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`messages[].tool_calls` | Típus`tool_call[]` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`messages[].tool_call_id` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Akkor alkalmazandó, ha: role=tool; használja a ténylegesen visszaadott ID-t | Alapértelmezett— |
| Mező`messages[].name` | Típus`string` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`messages[].reasoning_content` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Akkor alkalmazandó, ha: Küldje vissza a ténylegesen visszaadott gondolkodási tartalmat, ha ez a modell használja | Alapértelmezett— |
| Mező`messages[].reasoning_details` | Típus`object\|array` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`max_tokens` | Típus`integer` | KövetelményOpcionális | Értékek és korlátok Minimum: 1 Model-specific | Alapértelmezett— |
| Mező`max_completion_tokens` | Típus`integer` | KövetelményOpcionális | Értékek és korlátok Minimum: 1 Model-specific | Alapértelmezett— |
| Mező`stream` | Típus`boolean` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezettfalse |
| Mező`stream_options.include_usage` | Típus`boolean` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`temperature` | Típus`number` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`top_p` | Típus`number` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`stop` | Típus`string\|string[]` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`tools` | Típus`function_tool[]` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`tools[].type` | Típus`string` | KövetelményOpcionális | Értékek és korlátok function Model-specific | Alapértelmezett— |
| Mező`tools[].function.name` | Típus`string` | KövetelményKötelező | Értékek és korlátok Akkor alkalmazandó, ha: Függvényeszköz megadva | Alapértelmezett— |
| Mező`tools[].function.description` | Típus`string` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`tools[].function.parameters` | Típus`JSON_schema` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`tool_choice` | Típus`string\|object` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`parallel_tool_calls` | Típus`boolean` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`response_format` | Típus`object` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`reasoning_effort` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`reasoning` | Típus`object` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`service_tier` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`instructions` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Kompatibilitási mező | Alapértelmezett— |
| Mező`functions` | Típus`function[]` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`function_call` | Típus`string\|object` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`prompt_cache_options` | Típus`object` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`modalities` | Típus`string[]` | KövetelményOpcionális | Értékek és korlátok text | Alapértelmezett— |
| Mező`provider` | Típus`object` | KövetelményOpcionális | Értékek és korlátok Feltételek: A provider.options elutasításra kerül ezen az Ultra szöveges útvonalon | Alapértelmezett— |
| Mező`cache_control.ttl` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Feltételek: Az 1h elutasításra kerül a tényleges prompt-gyorsítótárazási helyeken | Alapértelmezett— |

Bemeneti anyagok kombinációi

**Szöveg** · UTF8 szöveg

`messages[].content`

Metódus paraméterei és életciklusa

| Paraméter | Szerződés |
| --- | --- |
| Paraméter`content_type` | Szerződésapplication/json |
| Paraméter`required` | Szerződésmodel, messages |
| Paraméter`material_types` | Szerződéstext |
| Paraméter`messages` | Szerződésüzenettömb role/content szerkezettel |
| Paraméter`file_material` | Szerződésa tényleges UTF-8 dokumentum szó szerinti szövegként beillesztve; nincs kikövetkeztetett fájlazonosító |
| Paraméter`optional_controls` | Szerződésstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Paraméter`control_scope` | Szerződésmodellspecifikus; a felhasználói függvényeszközök eltérnek a hosztolt eszközöktől |
| Paraméter`output_modalities` | Szerződéstext |
| Paraméter`hosted_operations` | Szerződésfalse |
| Paraméter`multimodal_input_binding` | Szerződésnull |

Életciklus: `synchronous_or_streamed`

Küldje el a pontos modellazonosítót a messages mellett.

A kontextushossz nem kimeneti felső korlát.

Egy szövegfájl szó szerinti szöveget adhat meg; a kép-/hang-/fájlobjektum-bemenetek pontos hozzárendelést igényelnek.

### Díjcsomagok

A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.

Gyors mód

Nincs megadva Ha a gyors mód van kiválasztva

Flex mód

Nincs megadva Ha a flex mód van kiválasztva

Maximális gondolkodási ráfordítás

Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik

Explicit gyorsítótárazás díjai

Nincs engedélyezve Ha explicit gyorsítótárazást kérnek

#### Ailoot-díjak

#### Árak beállításonként

| Beállítás | Díjtáblázat | Díj |
| --- | --- | --- |
| BeállításTokenenkénti alapárak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek **$0.003** / 1K token Kimenet · Kimeneti tokenek **$0.015** / 1K token Bemenet · Gyorsítótár olvasása **$0.0003** / 1K token Bemenet · Írás a gyorsítótárba **—** / 1K token Bemenet · Írás a gyorsítótárba, 1 óra **—** / 1K token |

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. [A foglalás és az elszámolás működése →](https://ailoot.ai/docs/hu/billing/reserve/)

### Példakérések

#### Ailoot Ultra · OpenAI Chat

curlPython SDKPython-adatfolyam

```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": "google/gemini-3.8-flash", "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='google/gemini-3.8-flash',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='google/gemini-3.8-flash',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")
```

### Eredmények fogadása és mentése

#### Ailoot Ultra · OpenAI Chat

json vagy SSE

##### Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizze meg az összes válaszváltozatot és azok tartalmát/eszközhívásait/gondolkodási tartalmát. SSE esetén válaszváltozat- és eszközindex szerint állítsa össze a részleges frissítéseket, és tartsa meg a végső befejezési okot és a használati adatokat.

##### Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők

| Mező | Típus |
| --- | --- |
| Mező`choices[].index` | Típusinteger |
| Mező`choices[].message.content` | Típusstring\|null |
| Mező`choices[].message.tool_calls` | Típustool\_call\[\] |
| Mező`choices[].message.reasoning_content` | Típusstring |
| Mező`choices[].message.reasoning_details` | Típusobject\|array |
| Mező`choices[].finish_reason` | Típusstring\|null |
| Mező`usage` | Típusobject |

Hibák és következő lépések

| Válasz | Feltétel | Következő lépés |
| --- | --- | --- |
| Válasz400 · `invalid_request_error` | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |

### Álnevek

#### Modell álnevei

<strong>Ailoot</strong> [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash)
**Ailoot Ultra** [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=chat), [`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=chat), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=chat)

#### Metódusútvonalak álnevei

`/chat/completions`

#### Kapcsolódó modellazonosítók

[`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=chat), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=chat), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `google/gemini-3.8-flash`

[`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=messages)

Google /`google/gemini-3.8-flash`

Modell ID-ja

- `gemini-3.8-flash`
- `google/gemini-3.8-flash`
- `~google/gemini-flash-latest`

### Kezdő lépések

A Gemini 3.8 Flash a Google széles körben használható multimodális modellje tartós szoftvermérnöki munkához, ágensekhez és összetett tudásfeladatokhoz. Szöveget, képet, hangot, videót és PDF-et fogad, szöveget ad vissza, és low, medium vagy high gondolkodást kínál eszközökkel és strukturált kimenettel. Dokumentált bemeneti/kimeneti korlátja 1 048 576/65 536 token.

Elfogadott bemenetek

Szöveg

Eredmények

json · sse

### Elérhető az Ailootban · bemenetek és metódusok

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

Bemenet

`text`

Kimenet

`json`, `sse`

Kimeneti formátum

JSON vagy SSE

| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
| --- | --- | --- | --- | --- |
| Mező`model` | Típus`string` | KövetelményKötelező | Értékek és korlátok google/gemini-3.8-flash | Alapértelmezett— |
| Mező`messages` | Típus`message[]` | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
| Mező`messages[].role` | Típus`string` | KövetelményKötelező | Értékek és korlátok user, assistant | Alapértelmezett— |
| Mező`messages[].content` | Típus`string` | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
| Mező`max_tokens` | Típus`integer` | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
| Mező`stream` | Típus`boolean` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezettfalse |

Bemeneti anyagok kombinációi

**Szöveg** · UTF-8 szöveg

`messages[].content karakterlánc`

Metódus paraméterei és életciklusa

| Paraméter | Szerződés |
| --- | --- |
| Paraméter`content_type` | Szerződésapplication/json |
| Paraméter`required` | Szerződésmodel, messages, max\_tokens |
| Paraméter`optional_controls` | Szerződésstream |
| Paraméter`material_types` | Szerződéstext |
| Paraméter`text_file_material` | SzerződésOlvassa el a tényleges UTF-8 dokumentumot, és tegye a szövegét a jelzett bemeneti karakterláncba vagy az üzenettartalom karakterláncába. |

Életciklus: `synchronous_or_streamed`

### Díjcsomagok

A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.

Gyors mód

Nincs megadva Ha a gyors mód van kiválasztva

Flex mód

Nincs megadva Ha a flex mód van kiválasztva

Maximális gondolkodási ráfordítás

Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik

Explicit gyorsítótárazás díjai

Nincs engedélyezve Ha explicit gyorsítótárazást kérnek

#### Ailoot-díjak

#### Árak beállításonként

| Beállítás | Díjtáblázat | Díj |
| --- | --- | --- |
| BeállításTokenenkénti alapárak | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek **$0.003** / 1K token Kimenet · Kimeneti tokenek **$0.015** / 1K token Bemenet · Gyorsítótár olvasása **$0.0003** / 1K token Bemenet · Írás a gyorsítótárba **—** / 1K token Bemenet · Írás a gyorsítótárba, 1 óra **—** / 1K token |

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. [A foglalás és az elszámolás működése →](https://ailoot.ai/docs/hu/billing/reserve/)

### Példakérések

#### Ailoot Ultra · Anthropic Messages

Teljes, minimális JSON-törzscurl · használd a saját UTF-8-dokumentumodatPython · mentsd el a teljes eredményt

```json
{
  "model": "google/gemini-3.8-flash",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

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

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

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

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

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

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

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

### Eredmények fogadása és mentése

#### Ailoot Ultra · Anthropic Messages

JSON vagy SSE

##### Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Őrizze meg az összes tartalomblokkot, a gondolkodási tartalom aláírásait és a tényleges eszközhasználati ID-kat. Állítsa össze az összes SSE-blokk részleges frissítését; az első szövegblokk nem a teljes kimenet.

##### Ha az eredeti választ ellenőrizni kell

Őrizze meg a kérés-/válaszazonosítókat és a fejléceket. Nincs megadva általános URL a szöveges feladatok lekéréséhez.

Válaszmezők

| Mező | Típus |
| --- | --- |
| Mező`id` | Típusstring |
| Mező`model` | Típusstring |
| Mező`content[]` | Típustext\|thinking\|tool\_use\|other content block |
| Mező`stop_reason` | Típusstring\|null |
| Mező`usage` | Típusobject |

Hibák és következő lépések

| Válasz | Feltétel | Következő lépés |
| --- | --- | --- |
| Válasz400 · `invalid_request_error` | FeltételÉrvénytelen kötelező mezők, az anyag érvénytelen reprezentációja vagy érvénytelen paraméterérték | Következő lépésJavítsa a jelzett mezőket egy új létrehozási kérés előtt. |

### Álnevek

#### Modell álnevei

<strong>Ailoot</strong> [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash&fmt=messages)
**Ailoot Ultra** [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=messages), [`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=messages), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=messages)

#### Metódusútvonalak álnevei

`/chat/completions`

#### Kapcsolódó modellazonosítók

[`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=messages), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=messages), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash&fmt=messages), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=messages)

**Ailoot Ultra · OpenAI Chat** `POST /v1/chat/completions` `~google/gemini-flash-latest`

[`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=chat)

Google /`~google/gemini-flash-latest`

Modell ID-ja

- `gemini-3.8-flash`
- `google/gemini-3.8-flash`
- `~google/gemini-flash-latest`

### Kezdő lépések

A Gemini 3.8 Flash a Google széles körben használható multimodális modellje tartós szoftvermérnöki munkához, ágensekhez és összetett tudásfeladatokhoz. Szöveget, képet, hangot, videót és PDF-et fogad, szöveget ad vissza, és low, medium vagy high gondolkodást kínál eszközökkel és strukturált kimenettel. Dokumentált bemeneti/kimeneti korlátja 1 048 576/65 536 token.

Elfogadott bemenetek

Szöveg

Eredmények

Szöveg

### Elérhető az Ailootban · bemenetek és metódusok

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

Bemenet

`text`

Kimenet

`text`

Kimeneti formátum

json or SSE

| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
| --- | --- | --- | --- | --- |
| Mező`model` | Típus`string` | KövetelményKötelező | Értékek és korlátok ~google/gemini-flash-latest | Alapértelmezett— |
| Mező`messages` | Típus`message[]` | KövetelményKötelező | Értékek és korlátok Minimális elemszám: 1 | Alapértelmezett— |
| Mező`messages[].role` | Típus`string` | KövetelményKötelező | Értékek és korlátok Példák: system, user, assistant, tool, function Feltételek: These roles are explicitly represented by Source compatibility types; the exact model role set remains model-specific. Model-specific | Alapértelmezett— |
| Mező`messages[].content` | Típus`string\|content_part[]\|null` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`messages[].tool_calls` | Típus`tool_call[]` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`messages[].tool_call_id` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Akkor alkalmazandó, ha: role=tool; use actual returned ID | Alapértelmezett— |
| Mező`messages[].name` | Típus`string` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`messages[].reasoning_content` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Akkor alkalmazandó, ha: Round-trip actual returned reasoning where this model uses it | Alapértelmezett— |
| Mező`messages[].reasoning_details` | Típus`object\|array` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`max_tokens` | Típus`integer` | KövetelményOpcionális | Értékek és korlátok Minimum: 1 Model-specific | Alapértelmezett— |
| Mező`max_completion_tokens` | Típus`integer` | KövetelményOpcionális | Értékek és korlátok Minimum: 1 Model-specific | Alapértelmezett— |
| Mező`stream` | Típus`boolean` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezettfalse |
| Mező`stream_options.include_usage` | Típus`boolean` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`temperature` | Típus`number` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`top_p` | Típus`number` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`stop` | Típus`string\|string[]` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`tools` | Típus`function_tool[]` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`tools[].type` | Típus`string` | KövetelményOpcionális | Értékek és korlátok function Model-specific | Alapértelmezett— |
| Mező`tools[].function.name` | Típus`string` | KövetelményKötelező | Értékek és korlátok Akkor alkalmazandó, ha: function tool supplied | Alapértelmezett— |
| Mező`tools[].function.description` | Típus`string` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`tools[].function.parameters` | Típus`JSON_schema` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezett— |
| Mező`tool_choice` | Típus`string\|object` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`parallel_tool_calls` | Típus`boolean` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`response_format` | Típus`object` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`reasoning_effort` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`reasoning` | Típus`object` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`service_tier` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`instructions` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Kompatibilitási mező | Alapértelmezett— |
| Mező`functions` | Típus`function[]` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`function_call` | Típus`string\|object` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`prompt_cache_options` | Típus`object` | KövetelményOpcionális | Értékek és korlátok Model-specific | Alapértelmezett— |
| Mező`modalities` | Típus`string[]` | KövetelményOpcionális | Értékek és korlátok text | Alapértelmezett— |
| Mező`provider` | Típus`object` | KövetelményOpcionális | Értékek és korlátok Feltételek: provider.options is rejected on this Ultra text route | Alapértelmezett— |
| Mező`cache_control.ttl` | Típus`string` | KövetelményOpcionális | Értékek és korlátok Feltételek: 1h is rejected in actual prompt-cache locations | Alapértelmezett— |

Bemeneti anyagok kombinációi

**Szöveg** · UTF8 text

`messages[].content`

Metódus paraméterei és életciklusa

| Paraméter | Szerződés |
| --- | --- |
| Paraméter`content_type` | Szerződésapplication/json |
| Paraméter`required` | Szerződésmodel, messages |
| Paraméter`material_types` | Szerződéstext |
| Paraméter`messages` | Szerződésmessage array with role/content shape |
| Paraméter`file_material` | Szerződésactual UTF-8 document inserted as literal text; no file ID inferred |
| Paraméter`optional_controls` | Szerződésstream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Paraméter`control_scope` | Szerződésmodel-specific; user function tools differ from hosted tools |
| Paraméter`output_modalities` | Szerződéstext |
| Paraméter`hosted_operations` | Szerződésfalse |
| Paraméter`multimodal_input_binding` | Szerződésnull |

Életciklus: `synchronous_or_streamed`

Send exact model ID with messages.

Context length is not an output cap.

A text file may supply literal text; image/audio/file-object inputs need exact binding.

### Díjcsomagok

A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.

Gyors mód

Nincs megadva Ha a gyors mód van kiválasztva

Flex mód

Nincs megadva Ha a flex mód van kiválasztva

Maximális gondolkodási ráfordítás

Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik

Explicit gyorsítótárazás díjai

Nincs engedélyezve Ha explicit gyorsítótárazást kérnek

#### Ailoot-díjak

#### Árak beállításonként

| Beállítás | Díjtáblázat | Díj |
| --- | --- | --- |
| BeállításTokenek alapdíjai | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek **$0.003** / 1K token Kimenet · Kimeneti tokenek **$0.015** / 1K token Bemenet · Gyorsítótár olvasása **$0.0003** / 1K token Bemenet · Írás a gyorsítótárba **—** / 1K token Bemenet · Írás a gyorsítótárba, 1 óra **—** / 1K token |

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. [A foglalás és az elszámolás működése →](https://ailoot.ai/docs/hu/billing/reserve/)

### Példakérések

#### Ailoot Ultra · OpenAI Chat

curlPython SDKPython-adatfolyam

```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": "~google/gemini-flash-latest", "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='~google/gemini-flash-latest',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='~google/gemini-flash-latest',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")
```

### Eredmények fogadása és mentése

#### Ailoot Ultra · OpenAI Chat

json or SSE

##### Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Keep every choice and its content/tool calls/reasoning. In SSE assemble deltas by choice/tool index, retain the final finish reason and usage.

##### Ha az eredeti választ ellenőrizni kell

Keep request/response IDs and headers. No generic text job retrieval URL is supplied.

Válaszmezők

| Mező | Típus |
| --- | --- |
| Mező`choices[].index` | Típusinteger |
| Mező`choices[].message.content` | Típusstring\|null |
| Mező`choices[].message.tool_calls` | Típustool\_call\[\] |
| Mező`choices[].message.reasoning_content` | Típusstring |
| Mező`choices[].message.reasoning_details` | Típusobject\|array |
| Mező`choices[].finish_reason` | Típusstring\|null |
| Mező`usage` | Típusobject |

Hibák és következő lépések

| Válasz | Feltétel | Következő lépés |
| --- | --- | --- |
| Válasz400 · `invalid_request_error` | FeltételInvalid required fields, material representation or parameter value | Következő lépésCorrect the indicated fields before a new creation request. |

### Álnevek

#### Modell álnevei

<strong>Ailoot</strong> [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash)
**Ailoot Ultra** [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=chat), [`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=chat), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=chat)

#### Metódusútvonalak álnevei

`/chat/completions`

#### Kapcsolódó modellazonosítók

[`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=chat), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=chat), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=chat)

**Ailoot Ultra · Anthropic Messages** `POST /v1/messages` `~google/gemini-flash-latest`

[`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=messages)

Google /`~google/gemini-flash-latest`

Modell ID-ja

- `gemini-3.8-flash`
- `google/gemini-3.8-flash`
- `~google/gemini-flash-latest`

### Kezdő lépések

A Gemini 3.8 Flash a Google széles körben használható multimodális modellje tartós szoftvermérnöki munkához, ágensekhez és összetett tudásfeladatokhoz. Szöveget, képet, hangot, videót és PDF-et fogad, szöveget ad vissza, és low, medium vagy high gondolkodást kínál eszközökkel és strukturált kimenettel. Dokumentált bemeneti/kimeneti korlátja 1 048 576/65 536 token.

Elfogadott bemenetek

Szöveg

Eredmények

json · sse

### Elérhető az Ailootban · bemenetek és metódusok

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

Bemenet

`text`

Kimenet

`json`, `sse`

Kimeneti formátum

JSON or SSE

| Mező | Típus | Követelmény | Értékek és korlátok | Alapértelmezett |
| --- | --- | --- | --- | --- |
| Mező`model` | Típus`string` | KövetelményKötelező | Értékek és korlátok ~google/gemini-flash-latest | Alapértelmezett— |
| Mező`messages` | Típus`message[]` | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
| Mező`messages[].role` | Típus`string` | KövetelményKötelező | Értékek és korlátok user, assistant | Alapértelmezett— |
| Mező`messages[].content` | Típus`string` | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
| Mező`max_tokens` | Típus`integer` | KövetelményKötelező | Értékek és korlátok | Alapértelmezett— |
| Mező`stream` | Típus`boolean` | KövetelményOpcionális | Értékek és korlátok | Alapértelmezettfalse |

Bemeneti anyagok kombinációi

**Szöveg** · UTF-8 text

`messages[].content string`

Metódus paraméterei és életciklusa

| Paraméter | Szerződés |
| --- | --- |
| Paraméter`content_type` | Szerződésapplication/json |
| Paraméter`required` | Szerződésmodel, messages, max\_tokens |
| Paraméter`optional_controls` | Szerződésstream |
| Paraméter`material_types` | Szerződéstext |
| Paraméter`text_file_material` | SzerződésRead the actual UTF-8 document and put its text in the indicated input or message content string. |

Életciklus: `synchronous_or_streamed`

### Díjcsomagok

A díjszabás nem ad új kérési lehetőségeket. A támogatott paraméterek a kiválasztott módszernél szerepelnek.

Gyors mód

Nincs megadva Ha a gyors mód van kiválasztva

Flex mód

Nincs megadva Ha a flex mód van kiválasztva

Maximális gondolkodási ráfordítás

Nincs megadva Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik

Explicit gyorsítótárazás díjai

Nincs engedélyezve Ha explicit gyorsítótárazást kérnek

#### Ailoot-díjak

#### Árak beállításonként

| Beállítás | Díjtáblázat | Díj |
| --- | --- | --- |
| BeállításTokenek alapdíjai | DíjtáblázatAlapdíj | Díj Bemenet · Bemeneti tokenek **$0.003** / 1K token Kimenet · Kimeneti tokenek **$0.015** / 1K token Bemenet · Gyorsítótár olvasása **$0.0003** / 1K token Bemenet · Írás a gyorsítótárba **—** / 1K token Bemenet · Írás a gyorsítótárba, 1 óra **—** / 1K token |

Az Ailoot a kérés előtt becsült összeget foglal le. Az eredmény után a mért használat alapján elszámolja a végső díjat. Folyamatos átvitel esetén a végső használati rekordot használja. [A foglalás és az elszámolás működése →](https://ailoot.ai/docs/hu/billing/reserve/)

### Példakérések

#### Ailoot Ultra · Anthropic Messages

Teljes, minimális JSON-törzscurl · használd a saját UTF-8-dokumentumodatPython · mentsd el a teljes eredményt

```json
{
  "model": "~google/gemini-flash-latest",
  "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': '~google/gemini-flash-latest', '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': '~google/gemini-flash-latest', '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))
```

### Eredmények fogadása és mentése

#### Ailoot Ultra · Anthropic Messages

JSON or SSE

##### Őrizzen meg minden elkészült eredményt

Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.

Keep all content blocks, thinking signatures and actual tool-use IDs. Assemble all SSE block deltas; a first text block is not the complete output.

##### Ha az eredeti választ ellenőrizni kell

Keep request/response IDs and headers. No generic text job retrieval URL is supplied.

Válaszmezők

| Mező | Típus |
| --- | --- |
| Mező`id` | Típusstring |
| Mező`model` | Típusstring |
| Mező`content[]` | Típustext\|thinking\|tool\_use\|other content block |
| Mező`stop_reason` | Típusstring\|null |
| Mező`usage` | Típusobject |

Hibák és következő lépések

| Válasz | Feltétel | Következő lépés |
| --- | --- | --- |
| Válasz400 · `invalid_request_error` | FeltételInvalid required fields, material representation or parameter value | Következő lépésCorrect the indicated fields before a new creation request. |

### Álnevek

#### Modell álnevei

<strong>Ailoot</strong> [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash&fmt=messages)
**Ailoot Ultra** [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=messages), [`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=messages), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=messages)

#### Metódusútvonalak álnevei

`/chat/completions`

#### Kapcsolódó modellazonosítók

[`google/gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=google%2Fgemini-3.8-flash&fmt=messages), [`~google/gemini-flash-latest`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=~google%2Fgemini-flash-latest&fmt=messages), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Core&caller=gemini-3.8-flash&fmt=messages), [`gemini-3.8-flash`](https://ailoot.ai/models/hu/#m=google%2Fgemini-3.8-flash&route=Ultra&caller=gemini-3.8-flash&fmt=messages)

FAQ · Google: Gemini 3.8 Flash

Milyen bemenetek és eredmények érhetők el?

`POST /v1/messages` · `gemini-3.8-flash`: `text`, `image` → `text` `POST /v1beta/models/{model}:generateContent` · `gemini-3.8-flash`: `text`, `image` → `text` `POST /v1/chat/completions` · `gemini-3.8-flash`: `text` → `text` `POST /v1/messages` · `gemini-3.8-flash`: `text` → `json`, `sse` `POST /v1/chat/completions` · `google/gemini-3.8-flash`: `text` → `text` `POST /v1/messages` · `google/gemini-3.8-flash`: `text` → `json`, `sse` `POST /v1/chat/completions` · `~google/gemini-flash-latest`: `text` → `text` `POST /v1/messages` · `~google/gemini-flash-latest`: `text` → `json`, `sse`

Mely mezőket használja a kérés?

`POST /v1/messages` · `gemini-3.8-flash`: `model`, `messages`, `system`, `max_tokens`, `stream`, `metadata` `POST /v1beta/models/{model}:generateContent` · `gemini-3.8-flash`: `contents`, `systemInstruction`, `sessionId` `POST /v1/chat/completions` · `gemini-3.8-flash`: `model`, `messages`, `stream` `POST /v1/messages` · `gemini-3.8-flash`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/chat/completions` · `google/gemini-3.8-flash`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `google/gemini-3.8-flash`: `model`, `messages`, `max_tokens`, `stream` `POST /v1/chat/completions` · `~google/gemini-flash-latest`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/messages` · `~google/gemini-flash-latest`: `model`, `messages`, `max_tokens`, `stream`

Milyen korlátok érvényesek?

`POST /v1/messages` · `gemini-3.8-flash`: `ctx`: `1048576`; `max_out`: `65536`; `messages.min_items`: `1`; `max_tokens.minimum`: `1` `POST /v1beta/models/{model}:generateContent` · `gemini-3.8-flash`: `contents.min_items`: `1` `POST /v1/chat/completions` · `gemini-3.8-flash`: `messages.min_items`: `1` `POST /v1/chat/completions` · `google/gemini-3.8-flash`: `messages.min_items`: `1` `POST /v1/chat/completions` · `~google/gemini-flash-latest`: `messages.min_items`: `1`

Csatlakoztassa az Ailootot a Claude Code-hoz, OpenCode-hoz, Hermeshez vagy saját alkalmazásához.

## A vállalat és projektportfóliója

A vállalat és projektportfóliója: ügyfelek milliói; havi értékesítés milliárdos nagyságrendben.

## Vásároljon tokeneket kedvezménnyel.

Előfizetési kedvezmény rendszeres munkához. Promókódok — akár 50% tokenvásárlási kedvezmény.

Előfizetés

Válasszon kedvezményes tarifát a rendszeres kéréseihez.

Promókód akár 50%-ig

Vásárláskor adja meg a kódot. Az ár az érvényes akció szerint újraszámolódik.

Költségek az előzményekben

Minden kéréshez megmarad a modell, a tokenek és az összeg.

[Előfizetés kiválasztása](https://ailoot.ai/docs/hu/billing/subscriptions/) · [Modellárak megtekintése](https://ailoot.ai/models/hu/)

## Csatlakoztassa az API-t az értékesített termékéhez.

SaaS, alkalmazások és botok — az Ailoot ajánlati feltételei és licencszerződése alapján. Viszonteladáshoz kérjen viszonteladói licencet.

Kereskedelmi alkalmazás

Építsen szöveg-, kép-, videó- és hanggenerálást szolgáltatása fizetős funkcióiba.

Viszonteladói licenc

Küldje el a projekt leírását és a hozzáférés módját. Kérjen írásos használati és viszonteladási feltételeket.

Dokumentumok a weboldalon

Az ajánlati feltételek, licencszerződés és adatkezelési szabályzat már a csatlakoztatás előtt elérhető.

[Viszonteladói licenc kérése](mailto:support@ailoot.ai) · [Ajánlati feltételek és licencszerződés](https://ailoot.ai/legal/offer?lang=hu)

## Ailoot · A vállalat és projektportfóliója





Az Ailoot felhalmozott működési tapasztalatra, széles ügyfélkörre, stabil szolgáltatásra és folyamatos KPI-ellenőrzésre épít.





A vállalat és projektportfóliója: ügyfelek milliói; havi értékesítés milliárdos nagyságrendben.





Az Ailoot ezt a működési tapasztalatot használja az ügyfelek termékeiben, ágenseiben, alkalmazásaiban és automatizálásaiban elérhető AI-funkciók API-hozzáféréséhez.
