{
  "aboutHtml": "<p>A Gemma 4 31B IT a Google DeepMind nyílt Gemma 4 modellcsaládjának utasításkövetésre finomhangolt, sűrű kiadása. A Google a 31B modellnél a modellminőséget és a feladathoz igazíthatóságot helyezi előtérbe, míg a különálló 26B A4B kiadás szakértőkeverékes felépítést használ a hatékony következtetéshez. Ez a kártya a név szerint megadott, utasításkövetésre finomhangolt 31B kiadásról szól, nem annak előtanított súlyairól vagy kvantált származékáról.</p><p>A sűrű architektúra hivatalos táblázata 30.7 milliárd paramétert, 60 réteget, 1,024 tokenes csúszóablakot és 256K tokenes kontextust sorol fel. A család a helyi csúszóablakos figyelmet globális figyelemmel kombinálja, és globális réteggel zárul; ehhez a modellhez külön vizuális kódolót használ. Az így létrejövő profil szöveges és képi bemenetre, valamint szöveges kimenetre készült. Ezek a modellarchitektúra tényei; nem határozzák meg egy alkalmazás válaszidejét, és nem jelentik más Gemma 4 méretek hangtámogatásának meglétét.</p><p>A 256K tokenes kontextus olyan feladatokat támogat, amelyek jelentős mennyiségű szöveget kapcsolnak össze vizuális bizonyítékokkal. A képek és a szöveg váltakozva is szerepelhetnek egyetlen promptban; a gyártó a legjobb eredmény érdekében azt javasolja, hogy a képtartalom a hozzá kapcsolódó szöveg előtt álljon. A vizuális feladatok közé tartozik az objektumfelismerés, a dokumentumoldalak értelmezése, a képernyők és felületek megértése, a diagramok elemzése, a többnyelvű OCR, a kézírás értelmezése és a rámutatás. A kimenet szöveg: kinyert tartalom, magyarázat, kód vagy javasolt eszközművelet.</p><p>A beállítható gondolkodás lehetővé teszi, hogy a modell válaszadás előtt következtessen, vagy közvetlen választ adjon. A Gemma 4 a user és assistant szerepek mellé natív system szerepet is hozzáad. A Google promptformátuma a rendszerpromptban elhelyezett &lt;|think|&gt; vezérlőtokennel kapcsolja be a gondolkodást, és elkülöníti a gondolatmenet csatornáját a végső választól; a dokumentált feldolgozó kezeli ezt a sablont. Többfordulós beszélgetésben tartsd meg a korábbi végső válaszokat az előzményekben, a korábbi gondolatmeneteket viszont hagyd ki, kivéve az eszközhívást tartalmazó fordulókat, ahol a gyártó szerint meg kell őrizni őket.</p><p>A natív Function Calling strukturált eszközhasználatot támogat, és a Google bevezető ismertetője strukturált JSON-kimenetet is dokumentál. Határozd meg a feladatot, az elérhető függvényt és az elvárt eredményt; az alkalmazás végrehajtja a kért műveletet, majd visszaadja annak kimenetét a következő lépéshez. Programozási feladatban kérhető kódgenerálás, kiegészítés vagy javítás, egy vizuális asszisztens pedig a visszaadott szöveggel magyarázhat el egy diagramot vagy képernyőt. A függvényhívásra vonatkozó utasítás különbözik egy ténylegesen végrehajtott, összekapcsolt művelettől.</p><p>A változó képfelbontást a vizuális tokenkeret szabályozza. A dokumentált lehetőségek 70, 140, 280, 560 és 1,120 token. Az alacsonyabb keretek osztályozáshoz vagy képaláírásokhoz megfelelőek; a magasabb keretek több részletet őriznek meg OCR-hez, dokumentumfeldolgozáshoz és apró szövegekhez, nagyobb számításigény mellett. A kép előkészítése előtt döntsd el, hogy az egész jelenetre vagy a pontos feliratokra van-e szükség. Egy címke jól olvasható kivágása hasznosabb lehet egy adatkinyerési feladatban, mint egy teljes oldal minden részletének vizsgálatára adott, pontosítás nélküli kérés.</p><p>A Google a család mintavételezési beállításaként temperature 1.0, top-p 0.95 és top-k 64 értékeket javasol. A modellkártya megkülönbözteti a több mint 140 nyelven végzett tanítást a több mint 35 nyelven biztosított, közvetlenül használható támogatástól. A feladatleírásban nevezd meg a válasz nyelvét, és kifejezetten jelezd a megőrzendő domainneveket, mezőneveket vagy képleteket. A 256K érték a kontextus specifikációja; a hivatkozott modellkártya ehhez a kiadáshoz nem határoz meg külön, általánosan érvényes maximális kimeneti méretet.</p><p>Dokumentumot és kódot érintő feladathoz add meg a kapcsolódó oldal képét, az írásos követelményt és a forráskódrészletet: „Olvasd el a feliratokat, magyarázd el, miben tér el ez a képernyő a specifikációtól, és javasolj célzott javítást a megadott kódban.” Diagram esetén kérd a látható értékek és a kikövetkeztetett trend elkülönítését. A Gemma modellkártyája korlátokat említ a kétértelmű nyelv, a nagyon összetett feladatok, valamint a téves vagy elavult tényszerű állítások kapcsán, ezért mellékeld azokat a hiteles tényeket, amelyekre a kért eredménynek épülnie kell, ahelyett, hogy ezeket a tanításból származó ismeretektől várnád.</p><p>Az Ailoot használatakor válaszd ezt a pontos modellazonosítót a /v1/chat/completions végponton, és add meg a feladatot a messages mezőben. Minden üzenet tartalmaz egy szerepet és annak tartalmát; a kapcsolódó utasítást és forrásanyagot tartsd együtt. Gyűjtsd össze a teljes JSON-választ, illetve bekapcsolt stream esetén az összes SSE-szegmenst, és őrizd meg a usage adatokat az írásos eredménnyel együtt.</p>",
  "aboutText": "A Gemma 4 31B IT a Google DeepMind nyílt Gemma 4 modellcsaládjának utasításkövetésre finomhangolt, sűrű kiadása. A Google a 31B modellnél a modellminőséget és a feladathoz igazíthatóságot helyezi előtérbe, míg a különálló 26B A4B kiadás szakértőkeverékes felépítést használ a hatékony következtetéshez. Ez a kártya a név szerint megadott, utasításkövetésre finomhangolt 31B kiadásról szól, nem annak előtanított súlyairól vagy kvantált származékáról.\n\nA sűrű architektúra hivatalos táblázata 30.7 milliárd paramétert, 60 réteget, 1,024 tokenes csúszóablakot és 256K tokenes kontextust sorol fel. A család a helyi csúszóablakos figyelmet globális figyelemmel kombinálja, és globális réteggel zárul; ehhez a modellhez külön vizuális kódolót használ. Az így létrejövő profil szöveges és képi bemenetre, valamint szöveges kimenetre készült. Ezek a modellarchitektúra tényei; nem határozzák meg egy alkalmazás válaszidejét, és nem jelentik más Gemma 4 méretek hangtámogatásának meglétét.\n\nA 256K tokenes kontextus olyan feladatokat támogat, amelyek jelentős mennyiségű szöveget kapcsolnak össze vizuális bizonyítékokkal. A képek és a szöveg váltakozva is szerepelhetnek egyetlen promptban; a gyártó a legjobb eredmény érdekében azt javasolja, hogy a képtartalom a hozzá kapcsolódó szöveg előtt álljon. A vizuális feladatok közé tartozik az objektumfelismerés, a dokumentumoldalak értelmezése, a képernyők és felületek megértése, a diagramok elemzése, a többnyelvű OCR, a kézírás értelmezése és a rámutatás. A kimenet szöveg: kinyert tartalom, magyarázat, kód vagy javasolt eszközművelet.\n\nA beállítható gondolkodás lehetővé teszi, hogy a modell válaszadás előtt következtessen, vagy közvetlen választ adjon. A Gemma 4 a user és assistant szerepek mellé natív system szerepet is hozzáad. A Google promptformátuma a rendszerpromptban elhelyezett <|think|> vezérlőtokennel kapcsolja be a gondolkodást, és elkülöníti a gondolatmenet csatornáját a végső választól; a dokumentált feldolgozó kezeli ezt a sablont. Többfordulós beszélgetésben tartsd meg a korábbi végső válaszokat az előzményekben, a korábbi gondolatmeneteket viszont hagyd ki, kivéve az eszközhívást tartalmazó fordulókat, ahol a gyártó szerint meg kell őrizni őket.\n\nA natív Function Calling strukturált eszközhasználatot támogat, és a Google bevezető ismertetője strukturált JSON-kimenetet is dokumentál. Határozd meg a feladatot, az elérhető függvényt és az elvárt eredményt; az alkalmazás végrehajtja a kért műveletet, majd visszaadja annak kimenetét a következő lépéshez. Programozási feladatban kérhető kódgenerálás, kiegészítés vagy javítás, egy vizuális asszisztens pedig a visszaadott szöveggel magyarázhat el egy diagramot vagy képernyőt. A függvényhívásra vonatkozó utasítás különbözik egy ténylegesen végrehajtott, összekapcsolt művelettől.\n\nA változó képfelbontást a vizuális tokenkeret szabályozza. A dokumentált lehetőségek 70, 140, 280, 560 és 1,120 token. Az alacsonyabb keretek osztályozáshoz vagy képaláírásokhoz megfelelőek; a magasabb keretek több részletet őriznek meg OCR-hez, dokumentumfeldolgozáshoz és apró szövegekhez, nagyobb számításigény mellett. A kép előkészítése előtt döntsd el, hogy az egész jelenetre vagy a pontos feliratokra van-e szükség. Egy címke jól olvasható kivágása hasznosabb lehet egy adatkinyerési feladatban, mint egy teljes oldal minden részletének vizsgálatára adott, pontosítás nélküli kérés.\n\nA Google a család mintavételezési beállításaként temperature 1.0, top-p 0.95 és top-k 64 értékeket javasol. A modellkártya megkülönbözteti a több mint 140 nyelven végzett tanítást a több mint 35 nyelven biztosított, közvetlenül használható támogatástól. A feladatleírásban nevezd meg a válasz nyelvét, és kifejezetten jelezd a megőrzendő domainneveket, mezőneveket vagy képleteket. A 256K érték a kontextus specifikációja; a hivatkozott modellkártya ehhez a kiadáshoz nem határoz meg külön, általánosan érvényes maximális kimeneti méretet.\n\nDokumentumot és kódot érintő feladathoz add meg a kapcsolódó oldal képét, az írásos követelményt és a forráskódrészletet: „Olvasd el a feliratokat, magyarázd el, miben tér el ez a képernyő a specifikációtól, és javasolj célzott javítást a megadott kódban.” Diagram esetén kérd a látható értékek és a kikövetkeztetett trend elkülönítését. A Gemma modellkártyája korlátokat említ a kétértelmű nyelv, a nagyon összetett feladatok, valamint a téves vagy elavult tényszerű állítások kapcsán, ezért mellékeld azokat a hiteles tényeket, amelyekre a kért eredménynek épülnie kell, ahelyett, hogy ezeket a tanításból származó ismeretektől várnád.\n\nAz Ailoot használatakor válaszd ezt a pontos modellazonosítót a /v1/chat/completions végponton, és add meg a feladatot a messages mezőben. Minden üzenet tartalmaz egy szerepet és annak tartalmát; a kapcsolódó utasítást és forrásanyagot tartsd együtt. Gyűjtsd össze a teljes JSON-választ, illetve bekapcsolt stream esetén az összes SSE-szegmenst, és őrizd meg a usage adatokat az írásos eredménnyel együtt.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "2d875ff26dd3133586b4f648ba53f2bbaf0066b97149452abd0302b39f3a8368",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "hu",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">G</span><h2 id=\"sheet-title\">Google: Gemma 4 31B (free)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Bezárás\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemma-4-31b-it:free</code><button type=\"button\" id=\"copy-id\">ID másolása</button></div><nav class=\"card-jump-nav\" aria-label=\"Modellkártya szakaszai\"><button type=\"button\" data-card-jump=\"overview\">Kezdő lépések</button><button type=\"button\" data-card-jump=\"methods\">Bemenetek és metódusok</button><button type=\"button\" data-card-jump=\"pricing\">Díjcsomagok</button><button type=\"button\" data-card-jump=\"examples\">Példák</button><button type=\"button\" data-card-jump=\"results\">Eredmények</button><button type=\"button\" data-card-jump=\"aliases\">Álnevek</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-metódusok\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|chat|/v1/chat/completions|google%2Fgemma-4-31b-it%3Afree\">Chat</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Kezdő lépések</h3><p class=\"mdesc-full\">A Gemma 4 31B IT a Google utasításkövetésre finomhangolt, sűrű modellje szöveges és vizuális következtetéshez. A 256K kontextus, a beállítható gondolkodás, a képek megértése és a natív függvényhívás szöveges kimenettel támogatja a programozási, dokumentumkezelési és ügynökfeladatokat.</p><dl class=\"card-io\" data-card-io><div><dt>Elfogadott bemenetek</dt><dd>Szöveg · Képek</dd></div><div><dt>Eredmények</dt><dd>Szöveg</dd></div></dl><details class=\"card-about\"><summary>A modellről</summary><p class=\"note-s\" data-model-method-boundary>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.</p><div class=\"mabout\" id=\"m-about\"><p>A Gemma 4 31B IT a Google DeepMind nyílt Gemma 4 modellcsaládjának utasításkövetésre finomhangolt, sűrű kiadása. A Google a 31B modellnél a modellminőséget és a feladathoz igazíthatóságot helyezi előtérbe, míg a különálló 26B A4B kiadás szakértőkeverékes felépítést használ a hatékony következtetéshez. Ez a kártya a név szerint megadott, utasításkövetésre finomhangolt 31B kiadásról szól, nem annak előtanított súlyairól vagy kvantált származékáról.</p><p>A sűrű architektúra hivatalos táblázata 30.7 milliárd paramétert, 60 réteget, 1,024 tokenes csúszóablakot és 256K tokenes kontextust sorol fel. A család a helyi csúszóablakos figyelmet globális figyelemmel kombinálja, és globális réteggel zárul; ehhez a modellhez külön vizuális kódolót használ. Az így létrejövő profil szöveges és képi bemenetre, valamint szöveges kimenetre készült. Ezek a modellarchitektúra tényei; nem határozzák meg egy alkalmazás válaszidejét, és nem jelentik más Gemma 4 méretek hangtámogatásának meglétét.</p><p>A 256K tokenes kontextus olyan feladatokat támogat, amelyek jelentős mennyiségű szöveget kapcsolnak össze vizuális bizonyítékokkal. A képek és a szöveg váltakozva is szerepelhetnek egyetlen promptban; a gyártó a legjobb eredmény érdekében azt javasolja, hogy a képtartalom a hozzá kapcsolódó szöveg előtt álljon. A vizuális feladatok közé tartozik az objektumfelismerés, a dokumentumoldalak értelmezése, a képernyők és felületek megértése, a diagramok elemzése, a többnyelvű OCR, a kézírás értelmezése és a rámutatás. A kimenet szöveg: kinyert tartalom, magyarázat, kód vagy javasolt eszközművelet.</p><p>A beállítható gondolkodás lehetővé teszi, hogy a modell válaszadás előtt következtessen, vagy közvetlen választ adjon. A Gemma 4 a user és assistant szerepek mellé natív system szerepet is hozzáad. A Google promptformátuma a rendszerpromptban elhelyezett &lt;|think|&gt; vezérlőtokennel kapcsolja be a gondolkodást, és elkülöníti a gondolatmenet csatornáját a végső választól; a dokumentált feldolgozó kezeli ezt a sablont. Többfordulós beszélgetésben tartsd meg a korábbi végső válaszokat az előzményekben, a korábbi gondolatmeneteket viszont hagyd ki, kivéve az eszközhívást tartalmazó fordulókat, ahol a gyártó szerint meg kell őrizni őket.</p><p>A natív Function Calling strukturált eszközhasználatot támogat, és a Google bevezető ismertetője strukturált JSON-kimenetet is dokumentál. Határozd meg a feladatot, az elérhető függvényt és az elvárt eredményt; az alkalmazás végrehajtja a kért műveletet, majd visszaadja annak kimenetét a következő lépéshez. Programozási feladatban kérhető kódgenerálás, kiegészítés vagy javítás, egy vizuális asszisztens pedig a visszaadott szöveggel magyarázhat el egy diagramot vagy képernyőt. A függvényhívásra vonatkozó utasítás különbözik egy ténylegesen végrehajtott, összekapcsolt művelettől.</p><p>A változó képfelbontást a vizuális tokenkeret szabályozza. A dokumentált lehetőségek 70, 140, 280, 560 és 1,120 token. Az alacsonyabb keretek osztályozáshoz vagy képaláírásokhoz megfelelőek; a magasabb keretek több részletet őriznek meg OCR-hez, dokumentumfeldolgozáshoz és apró szövegekhez, nagyobb számításigény mellett. A kép előkészítése előtt döntsd el, hogy az egész jelenetre vagy a pontos feliratokra van-e szükség. Egy címke jól olvasható kivágása hasznosabb lehet egy adatkinyerési feladatban, mint egy teljes oldal minden részletének vizsgálatára adott, pontosítás nélküli kérés.</p><p>A Google a család mintavételezési beállításaként temperature 1.0, top-p 0.95 és top-k 64 értékeket javasol. A modellkártya megkülönbözteti a több mint 140 nyelven végzett tanítást a több mint 35 nyelven biztosított, közvetlenül használható támogatástól. A feladatleírásban nevezd meg a válasz nyelvét, és kifejezetten jelezd a megőrzendő domainneveket, mezőneveket vagy képleteket. A 256K érték a kontextus specifikációja; a hivatkozott modellkártya ehhez a kiadáshoz nem határoz meg külön, általánosan érvényes maximális kimeneti méretet.</p><p>Dokumentumot és kódot érintő feladathoz add meg a kapcsolódó oldal képét, az írásos követelményt és a forráskódrészletet: „Olvasd el a feliratokat, magyarázd el, miben tér el ez a képernyő a specifikációtól, és javasolj célzott javítást a megadott kódban.” Diagram esetén kérd a látható értékek és a kikövetkeztetett trend elkülönítését. A Gemma modellkártyája korlátokat említ a kétértelmű nyelv, a nagyon összetett feladatok, valamint a téves vagy elavult tényszerű állítások kapcsán, ezért mellékeld azokat a hiteles tényeket, amelyekre a kért eredménynek épülnie kell, ahelyett, hogy ezeket a tanításból származó ismeretektől várnád.</p><p>Az Ailoot használatakor válaszd ezt a pontos modellazonosítót a /v1/chat/completions végponton, és add meg a feladatot a messages mezőben. Minden üzenet tartalmaz egy szerepet és annak tartalmát; a kapcsolódó utasítást és forrásanyagot tartsd együtt. Gyűjtsd össze a teljes JSON-választ, illetve bekapcsolt stream esetén az összes SSE-szegmenst, és őrizd meg a usage adatokat az írásos eredménnyel együtt.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Elérhető az Ailootban · bemenetek és metódusok</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · OpenAI Chat</b> <code>POST /v1/chat/completions</code></summary><dl class=\"method-capabilities\"><div><dt>Bemenet</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Kimenet</dt><dd><code>text</code></dd></div><div><dt>Kimeneti formátum</dt><dd>JSON or SSE</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Mező</th><th>Típus</th><th>Követelmény</th><th>Értékek és korlátok</th><th>Alapértelmezett</th></tr></thead><tbody><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>google/gemma-4-31b-it:free</div><div>Feltételek: Pontosan ezt az Ailoot-útválasztási azonosítót használja.</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">messages</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>array</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>Feltételek: </div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>boolean</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Opcionális</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>Feltételek: </div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"known\"><span class=\"card-cell-label\">Alapértelmezett</span>false</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Bemeneti anyagok kombinációi</summary><p class=\"note-s\"><b>text_input</b> · Kötelező: messages</p><p class=\"note-s\"><b>image_with_text</b> · Kötelező: messages with actual image content blocks</p></details><details class=\"note-s\" data-method-contract><summary>Metódus paraméterei és életciklusa</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Paraméter</th><th>Szerződés</th></tr></thead><tbody><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>content_type</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>application/json</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>required</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>model, messages</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>optional</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>stream</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>material_types</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>text, image</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>conditions</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>Pontosan ezt az Ailoot-útválasztási azonosítót használja., A protokoll akkor továbbít képtartalmat, ha a konkrét kiválasztott modell támogatja a képfelismerést. A protokoll általi befogadás nem igazolja, hogy minden modell képes képek kezelésére.</td></tr></tbody></table></div><p>Metódus álnevei: <code>/chat/completions</code></p><p>Életciklus: <code>synchronous_or_streamed</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Díjcsomagok</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>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.</p><dl data-price-conditions><dt>Gyors mód</dt><dd>Normál díjszabás <span class=\"note-s\">Ha a gyors mód van kiválasztva</span></dd><dt>Flex mód</dt><dd>Normál díjszabás <span class=\"note-s\">Ha a flex mód van kiválasztva</span></dd><dt>Maximális gondolkodási ráfordítás</dt><dd>Normál díjszabás <span class=\"note-s\">Ha a maximális gondolkodási ráfordításra a default beállításhoz tartozó korrekció vonatkozik</span></dd><dt>Explicit gyorsítótárazás díjai</dt><dd>Nincs engedélyezve <span class=\"note-s\">Ha explicit gyorsítótárazást kérnek</span></dd><dt>Nullás díjtételek kizárólag szöveghez</dt><dd>A gyorsítótárra, az eszközökre és a médiára a külön felsorolt díjszabási feltételek vonatkoznak. <span class=\"note-s\">Kizárólag szöveges bemenethez és kimenethez</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-díjak</h4><h4>Árak beállításonként</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Beállítás</th><th>Díjtáblázat</th><th>Díj</th></tr></thead><tbody><tr><th data-cell-label=\"Beállítás\" scope=\"row\"><span class=\"card-cell-label\">Beállítás</span>Tokenek alapdíjai</th><td data-cell-label=\"Díjtáblázat\"><span class=\"card-cell-label\">Díjtáblázat</span>Alapdíj</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Bemenet · Bemeneti tokenek</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kimenet · Kimeneti tokenek</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Gyorsítótár olvasása</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Írás a gyorsítótárba</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Írás a gyorsítótárba, 1 óra</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">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 href=\"/docs/hu/billing/reserve/\">A foglalás és az elszámolás működése →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Példakérések</h3><h4>Ailoot Ultra · OpenAI Chat</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kódváltozatok\"><button class=\"cg-tab\" id=\"model-code-2927-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2927-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · hozd létre egyszer, és őrizd meg a teljes eredményt</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kód másolása\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2927-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2927-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;google/gemma-4-31b-it:free&quot;, &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Explain how a rainbow forms.&quot;}]}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Eredmények fogadása és mentése</h3><h4>Ailoot Ultra · OpenAI Chat</h4><p class=\"note-s\">JSON or SSE</p><div class=\"card-result-process\" data-all-results><h5>Őrizzen meg minden elkészült eredményt</h5><p class=\"note-s\">Őrizzen meg minden teljes visszaadott választ, fájlt és tartalomrészt.</p><p class=\"note-s\">Őrizze meg az összes tartalomblokkot, eszközhívás-azonosítót, a gondolkodási aláírást, ha visszaérkezik, az összes SSE-változást és a teljes használati adatsort. Az első szövegrészlet nem a teljes eredmény.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Ha az eredeti választ ellenőrizni kell</h5><p class=\"note-s\">Őrizze meg az eredeti X-Client-Request-ID értéket, választ és fejléceket. Az ismeretlen vagy result_pending_check eredmény nem jogosít második létrehozásra.</p></div><details class=\"card-about\" data-output-fields><summary>Válaszmezők</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Mező</th><th>Típus</th></tr></thead><tbody><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">choices[]</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>object</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Hibák és következő lépések</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Válasz</th><th>Feltétel</th><th>Következő lépés</th></tr></thead><tbody><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>Egy kötelező mező, modellválasztó, típus vagy bemeneti ábrázolási forma érvénytelen.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Külön kérés előkészítése előtt vizsgálja meg a visszaadott érvényesítési részleteket.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span><code></code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>Az eredeti kérés vagy eredmény ismeretlen, vagy ellenőrzést igényel.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Őrizze meg az eredeti azonosítókat és fejléceket; csak a támogatott állapot- és médiatárbejegyzéseket olvassa le. Ne küldje el újra a létrehozási kérelmet.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Álnevek</h3><h4>Modell álnevei</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=google%2Fgemma-4-31b-it%3Afree&amp;route=Ultra&amp;caller=google%2Fgemma-4-31b-it%3Afree&amp;fmt=chat\"><code>google/gemma-4-31b-it:free</code></a></span></p><h4>Metódusútvonalak álnevei</h4><p class=\"note-s\"><code>/chat/completions</code></p><h4>Kapcsolódó modellazonosítók</h4><p class=\"note-s\"><a href=\"#m=google%2Fgemma-4-31b-it%3Afree&amp;route=Ultra&amp;caller=google%2Fgemma-4-31b-it%3Afree&amp;fmt=chat\"><code>google/gemma-4-31b-it:free</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemma-4-31b-it:free",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "google/gemma-4-31b-it:free",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|google%2Fgemma-4-31b-it%3Afree",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "accepted_material_guidance": {
              "content_type": "application/json",
              "example_scope": "The preserved text example is one valid request form, not the full protocol input set.",
              "image_condition": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model.",
              "material_types": [
                "text",
                "image"
              ],
              "text_file_material": "Actual UTF-8 text can be inserted in a text content part."
            },
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "authentication": {
              "header": "Authorization",
              "scheme": "Bearer",
              "value": "$AILOOT_API_KEY"
            },
            "errors": [
              {
                "condition": "Egy kötelező mező, modellválasztó, típus vagy bemeneti ábrázolási forma érvénytelen.",
                "http_status": 400,
                "recovery": "Külön kérés előkészítése előtt vizsgálja meg a visszaadott érvényesítési részleteket.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Az eredeti kérés vagy eredmény ismeretlen, vagy ellenőrzést igényel.",
                "http_status": null,
                "recovery": "Őrizze meg az eredeti azonosítókat és fejléceket; csak a támogatott állapot- és médiatárbejegyzéseket olvassa le. Ne küldje el újra a létrehozási kérelmet.",
                "type": null
              }
            ],
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "mode": "synchronous_or_streamed",
              "status": [],
              "unknown": "Őrizze meg az eredeti X-Client-Request-ID értéket, választ és fejléceket. Az ismeretlen vagy result_pending_check eredmény nem jogosít második létrehozásra.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "materials": [
                  "text"
                ],
                "mode": "text_input",
                "required": [
                  "messages"
                ]
              },
              {
                "condition": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model.",
                "materials": [
                  "text",
                  "image"
                ],
                "mode": "image_with_text",
                "required": [
                  "messages with actual image content blocks"
                ]
              }
            ],
            "model_capability_scope": {
              "all_models_vision_claim": false,
              "manufacturer_description_preserved": "Retain grounded accepted legacy vision descriptions; a plain text example is not a capability ceiling.",
              "model_vision": "conditional_on_exact_model_capability",
              "transport_materials": [
                "text",
                "image"
              ],
              "video_audio_inferred": false
            },
            "outputs": {
              "all_results": "Őrizze meg az összes tartalomblokkot, eszközhívás-azonosítót, a gondolkodási aláírást, ha visszaérkezik, az összes SSE-változást és a teljes használati adatsort. Az első szövegrészlet nem a teljes eredmény.",
              "every_actual_output": true,
              "family": "text",
              "fields": [
                {
                  "name": "choices[]",
                  "type": "object"
                },
                {
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "JSON or SSE"
            },
            "parameters": [
              {
                "conditions": "Pontosan ezt az Ailoot-útválasztási azonosítót használja.",
                "default_known": false,
                "enum": [
                  "google/gemma-4-31b-it:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "items": {
                  "properties": {
                    "content": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": {
                            "oneOf": [
                              {
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "const": "text"
                                  }
                                },
                                "required": [
                                  "type",
                                  "text"
                                ],
                                "type": "object"
                              },
                              {
                                "properties": {
                                  "image_url": {
                                    "properties": {
                                      "detail": {
                                        "type": "string"
                                      },
                                      "url": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "url"
                                    ],
                                    "type": "object"
                                  },
                                  "type": {
                                    "const": "image_url"
                                  }
                                },
                                "required": [
                                  "type",
                                  "image_url"
                                ],
                                "type": "object"
                              }
                            ]
                          },
                          "type": "array"
                        }
                      ]
                    },
                    "role": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "conditions": "",
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "messages": {
                  "items": {
                    "properties": {
                      "content": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "oneOf": [
                                {
                                  "properties": {
                                    "text": {
                                      "type": "string"
                                    },
                                    "type": {
                                      "const": "text"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "text"
                                  ],
                                  "type": "object"
                                },
                                {
                                  "properties": {
                                    "image_url": {
                                      "properties": {
                                        "detail": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": {
                                      "const": "image_url"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "image_url"
                                  ],
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "role": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "google/gemma-4-31b-it:free"
                  ],
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "messages"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "messages": [
                  {
                    "content": "Explain how a rainbow forms.",
                    "role": "user"
                  }
                ],
                "model": "google/gemma-4-31b-it:free"
              },
              "content_type": "application/json",
              "example_is_offline_content": true
            },
            "usage": {
              "meter": "Use the accepted method price and actual recorded usage; the request reserve is an estimate. A billing unit does not add an input capability.",
              "preserve": "Keep all returned usage, accounting and request identifiers with every actual output.",
              "settlement": "Retain the original operation; reconcile its result and accounting once."
            }
          },
          "input": {
            "conditions": [
              "Pontosan ezt az Ailoot-útválasztási azonosítót használja.",
              "A protokoll akkor továbbít képtartalmat, ha a konkrét kiválasztott modell támogatja a képfelismerést. A protokoll általi befogadás nem igazolja, hogy minden modell képes képek kezelésére."
            ],
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "stream"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/chat/completions"
            },
            "mode": "synchronous_or_streamed",
            "status": [],
            "unknown": "Keep the original X-Client-Request-ID, response and headers. An unknown or result_pending_check outcome does not authorize a second creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "output": {
            "all_results": "Retain every content block, tool-call ID, thinking signature when returned, all SSE deltas and complete usage. A first text fragment is not the whole result.",
            "every_actual_output": true,
            "family": "text",
            "fields": [
              {
                "name": "choices[]",
                "type": "object"
              },
              {
                "name": "usage",
                "type": "object"
              }
            ],
            "format": "JSON or SSE"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/gemma-4-31b-it:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Explain how a rainbow forms.\"}]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "chat",
        "http": "POST",
        "in": 0,
        "input": [
          "text",
          "image"
        ],
        "input_conditions": {
          "image": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model."
        },
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          },
          {
            "label": "Nullás díjtételek kizárólag szöveghez",
            "value": "A gyorsítótárra, az eszközökre és a médiára a külön felsorolt díjszabási feltételek vonatkoznak.",
            "when": "Kizárólag szöveges bemenethez és kimenethez"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemma-4-31b-it:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "google/gemma-4-31b-it:free",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "a590acba1135a66853552a8f5caf8df22959677adf3c29681d1f781070ae9bd0",
    "input_html_sha256": "945a2bf80f88eebb8da3ff6ced18e004107f5becb0229626886aecef70df2c4e",
    "private_audit_sha256": "da128e08028e5c8abdd55c6facbe6aa9c93727969cff7602434bfba06f5b4314",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/hu/google-gemma-4-31b-it-u003a-free/",
    "description": "A Gemma 4 31B IT a Google utasításkövetésre finomhangolt, sűrű modellje szöveges és vizuális következtetéshez. A 256K kontextus, a beállítható gondolkodás, a képek megértése és a natív függvényhívás szöveges kimenettel támogatja a programozási, dokumentumkezelési és ügynökfeladatokat.",
    "locale": "hu",
    "md_url": "https://ailoot.ai/models/hu/google-gemma-4-31b-it-u003a-free/index.md",
    "title": "Google: Gemma 4 31B (free) — Ailoot",
    "url": "https://ailoot.ai/models/hu/google-gemma-4-31b-it-u003a-free/"
  },
  "rawModel": {
    "about": "A Gemma 4 31B IT a Google DeepMind nyílt Gemma 4 modellcsaládjának utasításkövetésre finomhangolt, sűrű kiadása. A Google a 31B modellnél a modellminőséget és a feladathoz igazíthatóságot helyezi előtérbe, míg a különálló 26B A4B kiadás szakértőkeverékes felépítést használ a hatékony következtetéshez. Ez a kártya a név szerint megadott, utasításkövetésre finomhangolt 31B kiadásról szól, nem annak előtanított súlyairól vagy kvantált származékáról.\n\nA sűrű architektúra hivatalos táblázata 30.7 milliárd paramétert, 60 réteget, 1,024 tokenes csúszóablakot és 256K tokenes kontextust sorol fel. A család a helyi csúszóablakos figyelmet globális figyelemmel kombinálja, és globális réteggel zárul; ehhez a modellhez külön vizuális kódolót használ. Az így létrejövő profil szöveges és képi bemenetre, valamint szöveges kimenetre készült. Ezek a modellarchitektúra tényei; nem határozzák meg egy alkalmazás válaszidejét, és nem jelentik más Gemma 4 méretek hangtámogatásának meglétét.\n\nA 256K tokenes kontextus olyan feladatokat támogat, amelyek jelentős mennyiségű szöveget kapcsolnak össze vizuális bizonyítékokkal. A képek és a szöveg váltakozva is szerepelhetnek egyetlen promptban; a gyártó a legjobb eredmény érdekében azt javasolja, hogy a képtartalom a hozzá kapcsolódó szöveg előtt álljon. A vizuális feladatok közé tartozik az objektumfelismerés, a dokumentumoldalak értelmezése, a képernyők és felületek megértése, a diagramok elemzése, a többnyelvű OCR, a kézírás értelmezése és a rámutatás. A kimenet szöveg: kinyert tartalom, magyarázat, kód vagy javasolt eszközművelet.\n\nA beállítható gondolkodás lehetővé teszi, hogy a modell válaszadás előtt következtessen, vagy közvetlen választ adjon. A Gemma 4 a user és assistant szerepek mellé natív system szerepet is hozzáad. A Google promptformátuma a rendszerpromptban elhelyezett <|think|> vezérlőtokennel kapcsolja be a gondolkodást, és elkülöníti a gondolatmenet csatornáját a végső választól; a dokumentált feldolgozó kezeli ezt a sablont. Többfordulós beszélgetésben tartsd meg a korábbi végső válaszokat az előzményekben, a korábbi gondolatmeneteket viszont hagyd ki, kivéve az eszközhívást tartalmazó fordulókat, ahol a gyártó szerint meg kell őrizni őket.\n\nA natív Function Calling strukturált eszközhasználatot támogat, és a Google bevezető ismertetője strukturált JSON-kimenetet is dokumentál. Határozd meg a feladatot, az elérhető függvényt és az elvárt eredményt; az alkalmazás végrehajtja a kért műveletet, majd visszaadja annak kimenetét a következő lépéshez. Programozási feladatban kérhető kódgenerálás, kiegészítés vagy javítás, egy vizuális asszisztens pedig a visszaadott szöveggel magyarázhat el egy diagramot vagy képernyőt. A függvényhívásra vonatkozó utasítás különbözik egy ténylegesen végrehajtott, összekapcsolt művelettől.\n\nA változó képfelbontást a vizuális tokenkeret szabályozza. A dokumentált lehetőségek 70, 140, 280, 560 és 1,120 token. Az alacsonyabb keretek osztályozáshoz vagy képaláírásokhoz megfelelőek; a magasabb keretek több részletet őriznek meg OCR-hez, dokumentumfeldolgozáshoz és apró szövegekhez, nagyobb számításigény mellett. A kép előkészítése előtt döntsd el, hogy az egész jelenetre vagy a pontos feliratokra van-e szükség. Egy címke jól olvasható kivágása hasznosabb lehet egy adatkinyerési feladatban, mint egy teljes oldal minden részletének vizsgálatára adott, pontosítás nélküli kérés.\n\nA Google a család mintavételezési beállításaként temperature 1.0, top-p 0.95 és top-k 64 értékeket javasol. A modellkártya megkülönbözteti a több mint 140 nyelven végzett tanítást a több mint 35 nyelven biztosított, közvetlenül használható támogatástól. A feladatleírásban nevezd meg a válasz nyelvét, és kifejezetten jelezd a megőrzendő domainneveket, mezőneveket vagy képleteket. A 256K érték a kontextus specifikációja; a hivatkozott modellkártya ehhez a kiadáshoz nem határoz meg külön, általánosan érvényes maximális kimeneti méretet.\n\nDokumentumot és kódot érintő feladathoz add meg a kapcsolódó oldal képét, az írásos követelményt és a forráskódrészletet: „Olvasd el a feliratokat, magyarázd el, miben tér el ez a képernyő a specifikációtól, és javasolj célzott javítást a megadott kódban.” Diagram esetén kérd a látható értékek és a kikövetkeztetett trend elkülönítését. A Gemma modellkártyája korlátokat említ a kétértelmű nyelv, a nagyon összetett feladatok, valamint a téves vagy elavult tényszerű állítások kapcsán, ezért mellékeld azokat a hiteles tényeket, amelyekre a kért eredménynek épülnie kell, ahelyett, hogy ezeket a tanításból származó ismeretektől várnád.\n\nAz Ailoot használatakor válaszd ezt a pontos modellazonosítót a /v1/chat/completions végponton, és add meg a feladatot a messages mezőben. Minden üzenet tartalmaz egy szerepet és annak tartalmát; a kapcsolódó utasítást és forrásanyagot tartsd együtt. Gyűjtsd össze a teljes JSON-választ, illetve bekapcsolt stream esetén az összes SSE-szegmenst, és őrizd meg a usage adatokat az írásos eredménnyel együtt.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "A konfiguráció teljes árazása a részletekben."
      }
    ],
    "ctx": null,
    "formats": [
      "chat"
    ],
    "id": "google/gemma-4-31b-it:free",
    "input": [
      "text",
      "image"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "accepted_material_guidance": {
              "content_type": "application/json",
              "example_scope": "The preserved text example is one valid request form, not the full protocol input set.",
              "image_condition": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model.",
              "material_types": [
                "text",
                "image"
              ],
              "text_file_material": "Actual UTF-8 text can be inserted in a text content part."
            },
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "authentication": {
              "header": "Authorization",
              "scheme": "Bearer",
              "value": "$AILOOT_API_KEY"
            },
            "errors": [
              {
                "condition": "Egy kötelező mező, modellválasztó, típus vagy bemeneti ábrázolási forma érvénytelen.",
                "http_status": 400,
                "recovery": "Külön kérés előkészítése előtt vizsgálja meg a visszaadott érvényesítési részleteket.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Az eredeti kérés vagy eredmény ismeretlen, vagy ellenőrzést igényel.",
                "http_status": null,
                "recovery": "Őrizze meg az eredeti azonosítókat és fejléceket; csak a támogatott állapot- és médiatárbejegyzéseket olvassa le. Ne küldje el újra a létrehozási kérelmet.",
                "type": null
              }
            ],
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "mode": "synchronous_or_streamed",
              "status": [],
              "unknown": "Őrizze meg az eredeti X-Client-Request-ID értéket, választ és fejléceket. Az ismeretlen vagy result_pending_check eredmény nem jogosít második létrehozásra.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "materials": [
                  "text"
                ],
                "mode": "text_input",
                "required": [
                  "messages"
                ]
              },
              {
                "condition": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model.",
                "materials": [
                  "text",
                  "image"
                ],
                "mode": "image_with_text",
                "required": [
                  "messages with actual image content blocks"
                ]
              }
            ],
            "model_capability_scope": {
              "all_models_vision_claim": false,
              "manufacturer_description_preserved": "Retain grounded accepted legacy vision descriptions; a plain text example is not a capability ceiling.",
              "model_vision": "conditional_on_exact_model_capability",
              "transport_materials": [
                "text",
                "image"
              ],
              "video_audio_inferred": false
            },
            "outputs": {
              "all_results": "Őrizze meg az összes tartalomblokkot, eszközhívás-azonosítót, a gondolkodási aláírást, ha visszaérkezik, az összes SSE-változást és a teljes használati adatsort. Az első szövegrészlet nem a teljes eredmény.",
              "every_actual_output": true,
              "family": "text",
              "fields": [
                {
                  "name": "choices[]",
                  "type": "object"
                },
                {
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "JSON or SSE"
            },
            "parameters": [
              {
                "conditions": "Pontosan ezt az Ailoot-útválasztási azonosítót használja.",
                "default_known": false,
                "enum": [
                  "google/gemma-4-31b-it:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "items": {
                  "properties": {
                    "content": {
                      "oneOf": [
                        {
                          "type": "string"
                        },
                        {
                          "items": {
                            "oneOf": [
                              {
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  },
                                  "type": {
                                    "const": "text"
                                  }
                                },
                                "required": [
                                  "type",
                                  "text"
                                ],
                                "type": "object"
                              },
                              {
                                "properties": {
                                  "image_url": {
                                    "properties": {
                                      "detail": {
                                        "type": "string"
                                      },
                                      "url": {
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "url"
                                    ],
                                    "type": "object"
                                  },
                                  "type": {
                                    "const": "image_url"
                                  }
                                },
                                "required": [
                                  "type",
                                  "image_url"
                                ],
                                "type": "object"
                              }
                            ]
                          },
                          "type": "array"
                        }
                      ]
                    },
                    "role": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "conditions": "",
                "default": false,
                "default_known": true,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "messages": {
                  "items": {
                    "properties": {
                      "content": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "oneOf": [
                                {
                                  "properties": {
                                    "text": {
                                      "type": "string"
                                    },
                                    "type": {
                                      "const": "text"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "text"
                                  ],
                                  "type": "object"
                                },
                                {
                                  "properties": {
                                    "image_url": {
                                      "properties": {
                                        "detail": {
                                          "type": "string"
                                        },
                                        "url": {
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": {
                                      "const": "image_url"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "image_url"
                                  ],
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "role": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "google/gemma-4-31b-it:free"
                  ],
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "messages"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "messages": [
                  {
                    "content": "Explain how a rainbow forms.",
                    "role": "user"
                  }
                ],
                "model": "google/gemma-4-31b-it:free"
              },
              "content_type": "application/json",
              "example_is_offline_content": true
            },
            "usage": {
              "meter": "Use the accepted method price and actual recorded usage; the request reserve is an estimate. A billing unit does not add an input capability.",
              "preserve": "Keep all returned usage, accounting and request identifiers with every actual output.",
              "settlement": "Retain the original operation; reconcile its result and accounting once."
            }
          },
          "input": {
            "conditions": [
              "Pontosan ezt az Ailoot-útválasztási azonosítót használja.",
              "A protokoll akkor továbbít képtartalmat, ha a konkrét kiválasztott modell támogatja a képfelismerést. A protokoll általi befogadás nem igazolja, hogy minden modell képes képek kezelésére."
            ],
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "stream"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/chat/completions"
            },
            "mode": "synchronous_or_streamed",
            "status": [],
            "unknown": "Keep the original X-Client-Request-ID, response and headers. An unknown or result_pending_check outcome does not authorize a second creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "output": {
            "all_results": "Retain every content block, tool-call ID, thinking signature when returned, all SSE deltas and complete usage. A first text fragment is not the whole result.",
            "every_actual_output": true,
            "family": "text",
            "fields": [
              {
                "name": "choices[]",
                "type": "object"
              },
              {
                "name": "usage",
                "type": "object"
              }
            ],
            "format": "JSON or SSE"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"google/gemma-4-31b-it:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Explain how a rainbow forms.\"}]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "chat",
        "http": "POST",
        "in": 0,
        "input": [
          "text",
          "image"
        ],
        "input_conditions": {
          "image": "Image content is carried by this protocol where the exact selected model supports vision. Protocol admission does not establish image capability for every model."
        },
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          },
          {
            "label": "Nullás díjtételek kizárólag szöveghez",
            "value": "A gyorsítótárra, az eszközökre és a médiára a külön felsorolt díjszabási feltételek vonatkoznak.",
            "when": "Kizárólag szöveges bemenethez és kimenethez"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "google/gemma-4-31b-it:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "google/gemma-4-31b-it:free",
        "request_model_id": "google/gemma-4-31b-it:free",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemma 4 31B (free)",
    "price": {
      "in": 0,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0,
      "sort_out": 0,
      "varies": false
    },
    "short": "A Gemma 4 31B IT a Google utasításkövetésre finomhangolt, sűrű modellje szöveges és vizuális következtetéshez. A 256K kontextus, a beállítható gondolkodás, a képek megértése és a natív függvényhívás szöveges kimenettel támogatja a programozási, dokumentumkezelési és ügynökfeladatokat.",
    "title": "Google: Gemma 4 31B (free)"
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "A Gemma 4 31B IT a Google utasításkövetésre finomhangolt, sűrű modellje szöveges és vizuális következtetéshez. A 256K kontextus, a beállítható gondolkodás, a képek megértése és a natív függvényhívás szöveges kimenettel támogatja a programozási, dokumentumkezelési és ügynökfeladatokat.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "71d0d6efee9c6cd701830fcaf54a6b9f6cd5b1a029c8137274657cd863634fa3",
    "renderer_sha256": "59b0e30a0b251f9d98bf0bafcc7ef50440c33057c2bf9c9fadabbcaeefffb5bb"
  },
  "sourceRevision": "f1c5f066949883516cfa6e5bb64b4443cf901f55c29172292408d8881f552aa8"
}
