{
  "aboutHtml": "<p>A GPT-4.1 Nano az OpenAI GPT-4.1 családjának leggyorsabb tagja, külön következtetési lépés nélküli utasításkövetésre és eszközhívásra tervezve. Szöveget és képeket fogad, és szöveget állít elő. A Nano jól meghatározott művelethez alkalmas, amelyben az alkalmazás tömör választ, mezők halmazát vagy a következő eszközkérést igényli, nem terjedelmes vizsgálatot.</p><p>Hasznos példa lehet beérkező üzenetek besorolása megadott kategóriák szerint. Magyarázza el a kategóriákat, mutassa meg a kétértelmű vagy a feladatkörön kívüli üzenetek megjelenítését, és kérje a kategóriát az azt alátámasztó forráskifejezéssel együtt. Adatkinyeréshez határozza meg a mezőneveket, az engedélyezett értékeket és a hiányzó információ kezelését. Rövid szövegírási feladathoz adja meg a tényeket, és kérje az alkalmazás következő szakaszához szükséges konkrét szövegrészt. A példák és korlátok legyenek elég rövidek és körülhatároltak ahhoz, hogy nagy forrásgyűjtemény mellett is egyértelműek maradjanak.</p><p>A gyártó 1 047 576 tokenes kontextusablakot, legfeljebb 32 768 tokenes kimenetet és 2024. június 1-jei tudáshatárt sorol fel. Ezek a specifikációk megegyeznek a GPT-4.1 Mini ablakával, miközben megőrzik a Nano különálló modellidentitását és a gyors válaszra összpontosító szerepét. Jelölje meg a dokumentumokat és beszélgetési szakaszokat, csak a művelethez releváns kontextust használja, és hagyjon helyet a teljes válasznak. Lekérdezési eredmények vagy megadott referenciaszöveg a modell tanult tudásánál újabb tényeket is adhatnak.</p><p>A Nano streamelést és Structured Outputs támogatást biztosít. A séma szerint korlátozott végső válasz más célt szolgál, mint a függvényhívás: az egyik befejezett eredményt ad az alkalmazásnak, a másik művelet elvégzését kéri tőle. A Structured Outputs a JSON Schema egy részhalmazát támogatja; határozza meg a szükséges tulajdonságokat és az ismeretlen értékek egyértelmű megjelenítését. A visszautasításokat és hiányos válaszokat külön kezelje, a kinyert értékeket pedig a bemenet alapján ellenőrizze, ne azonosítsa az érvényes szerkezetet a helyes következtetéssel.</p><p>A dokumentált eszközkészlet függvényhívást, fájlkeresést, kódértelmezést, MCP-kapcsolatokat és külön képgeneráló eszközt tartalmaz. Az alkalmazás megadja az eszközleírásokat és sémákat, végrehajtja az egyedi függvényeket, és visszaadja a tényleges eredményeiket. A 2025. április 14-i Nano modellpillanatképnél az OpenAI kifejezetten a párhuzamos eszközhívások kikapcsolását ajánlja, mert a modell egy fordulóban többször is kérheti ugyanazt az eszközt. Ez a konkrét pillanatkép végrehajtási szempontja, nem indok több javasolt hívás végrehajtott műveletként történő értelmezésére.</p><p>A képbemenet vizuális bizonyítékot ad egy szöveges feladathoz, például látható felirat elolvasásához vagy képernyőképen szereplő állapot leírásához. Támogatott PNG, JPEG, WebP vagy nem animált GIF képet használjon, a szöveg maradjon olvasható, és magyarázza el a fontos megfigyelést. A képi útmutató kis vagy elforgatott szövegnél, pontos térbeli összefüggéseknél, objektumszámlálásnál és egyes nem latin írásrendszereknél nehézségeket jelez. Adjon környező kontextust, ha egy kivágás önmagában kétértelművé tenné a feliratot vagy ábrát. A Nano saját válasza szöveg; a képgeneráló eszköz külön képi eredményt ad vissza. Az OpenAI dokumentált képi munkafolyamatában a kérés teljes adatmennyiségének korlátja 512 MB, és egy kérés legfeljebb 1 500 képet tartalmazhat; a képeknek és a szövegnek a modell kontextusába is bele kell férniük.</p><p>A gyártó fájlmunkafolyamatában a képeket is értelmező modell a PDF-ekből kinyert szöveget és az oldalak képeit egyaránt megkapja. Más dokumentumformátumok kinyert szöveget adnak, a táblázatok kiegészítő feldolgozása pedig munkalaponként legfeljebb az első 1 000 sort veszi figyelembe. Egy fájlnak 50 MB alatt kell lennie, a kérés teljes fájlkerete pedig 50 MB. A Chat Completions PDF-fájlrészeket támogat, a dokumentált Responses munkafolyamat további fájltípusokat fogad. Nem PDF dokumentumok beágyazott grafikonjai nem kerülnek át képi tartalomként, ezért a PDF-reprezentáció hasznos, ha fontos a vizuális bizonyíték.</p><p>Az OpenAI bemeneti gyorsítótárazást dokumentál a Nano modellhez és Predicted Outputs támogatást a GPT-4.1 Nano sorozathoz. A bemeneti gyorsítótárazás a gyártó szolgáltatásában alkalmas bemeneti előtagot használ újra. A Predicted Outputs ezzel szemben nagyrészt ismert kimeneti szöveget ad egy módosításhoz, például dokumentum vagy kódfájl átdolgozásához a változatlan részek megőrzésével. A predikciós út csak szöveges, és többek között kizárja a függvényhívást, a logprobs és max_completion_tokens használatát. A tényleges műveletnek megfelelő utat válassza, és eredményét tartsa az eredeti forráshoz kötve.</p><p>A gyártó a Nano megnevezett GPT-4.1 modellpillanatképéhez felügyelt finomhangolást és közvetlen preferenciaoptimalizálást is dokumentál. Tanítópéldák és előnyben részesített, illetve elutasított válaszok ismétlődő feladathoz igazítanak egy modellt; ezek különböznek a szokásos kéréshez megadott kontextustól. Gyakorlati adatkinyerési vagy osztályozási szakasznál világos kategóriákkal, példákkal és egyértelmű végső formátummal kezdjen, majd vizsgálja meg, hogy a visszaadott mezők megőrzik-e a következő szakaszban felhasznált tényeket.</p>",
  "aboutText": "A GPT-4.1 Nano az OpenAI GPT-4.1 családjának leggyorsabb tagja, külön következtetési lépés nélküli utasításkövetésre és eszközhívásra tervezve. Szöveget és képeket fogad, és szöveget állít elő. A Nano jól meghatározott művelethez alkalmas, amelyben az alkalmazás tömör választ, mezők halmazát vagy a következő eszközkérést igényli, nem terjedelmes vizsgálatot.\n\nHasznos példa lehet beérkező üzenetek besorolása megadott kategóriák szerint. Magyarázza el a kategóriákat, mutassa meg a kétértelmű vagy a feladatkörön kívüli üzenetek megjelenítését, és kérje a kategóriát az azt alátámasztó forráskifejezéssel együtt. Adatkinyeréshez határozza meg a mezőneveket, az engedélyezett értékeket és a hiányzó információ kezelését. Rövid szövegírási feladathoz adja meg a tényeket, és kérje az alkalmazás következő szakaszához szükséges konkrét szövegrészt. A példák és korlátok legyenek elég rövidek és körülhatároltak ahhoz, hogy nagy forrásgyűjtemény mellett is egyértelműek maradjanak.\n\nA gyártó 1 047 576 tokenes kontextusablakot, legfeljebb 32 768 tokenes kimenetet és 2024. június 1-jei tudáshatárt sorol fel. Ezek a specifikációk megegyeznek a GPT-4.1 Mini ablakával, miközben megőrzik a Nano különálló modellidentitását és a gyors válaszra összpontosító szerepét. Jelölje meg a dokumentumokat és beszélgetési szakaszokat, csak a művelethez releváns kontextust használja, és hagyjon helyet a teljes válasznak. Lekérdezési eredmények vagy megadott referenciaszöveg a modell tanult tudásánál újabb tényeket is adhatnak.\n\nA Nano streamelést és Structured Outputs támogatást biztosít. A séma szerint korlátozott végső válasz más célt szolgál, mint a függvényhívás: az egyik befejezett eredményt ad az alkalmazásnak, a másik művelet elvégzését kéri tőle. A Structured Outputs a JSON Schema egy részhalmazát támogatja; határozza meg a szükséges tulajdonságokat és az ismeretlen értékek egyértelmű megjelenítését. A visszautasításokat és hiányos válaszokat külön kezelje, a kinyert értékeket pedig a bemenet alapján ellenőrizze, ne azonosítsa az érvényes szerkezetet a helyes következtetéssel.\n\nA dokumentált eszközkészlet függvényhívást, fájlkeresést, kódértelmezést, MCP-kapcsolatokat és külön képgeneráló eszközt tartalmaz. Az alkalmazás megadja az eszközleírásokat és sémákat, végrehajtja az egyedi függvényeket, és visszaadja a tényleges eredményeiket. A 2025. április 14-i Nano modellpillanatképnél az OpenAI kifejezetten a párhuzamos eszközhívások kikapcsolását ajánlja, mert a modell egy fordulóban többször is kérheti ugyanazt az eszközt. Ez a konkrét pillanatkép végrehajtási szempontja, nem indok több javasolt hívás végrehajtott műveletként történő értelmezésére.\n\nA képbemenet vizuális bizonyítékot ad egy szöveges feladathoz, például látható felirat elolvasásához vagy képernyőképen szereplő állapot leírásához. Támogatott PNG, JPEG, WebP vagy nem animált GIF képet használjon, a szöveg maradjon olvasható, és magyarázza el a fontos megfigyelést. A képi útmutató kis vagy elforgatott szövegnél, pontos térbeli összefüggéseknél, objektumszámlálásnál és egyes nem latin írásrendszereknél nehézségeket jelez. Adjon környező kontextust, ha egy kivágás önmagában kétértelművé tenné a feliratot vagy ábrát. A Nano saját válasza szöveg; a képgeneráló eszköz külön képi eredményt ad vissza. Az OpenAI dokumentált képi munkafolyamatában a kérés teljes adatmennyiségének korlátja 512 MB, és egy kérés legfeljebb 1 500 képet tartalmazhat; a képeknek és a szövegnek a modell kontextusába is bele kell férniük.\n\nA gyártó fájlmunkafolyamatában a képeket is értelmező modell a PDF-ekből kinyert szöveget és az oldalak képeit egyaránt megkapja. Más dokumentumformátumok kinyert szöveget adnak, a táblázatok kiegészítő feldolgozása pedig munkalaponként legfeljebb az első 1 000 sort veszi figyelembe. Egy fájlnak 50 MB alatt kell lennie, a kérés teljes fájlkerete pedig 50 MB. A Chat Completions PDF-fájlrészeket támogat, a dokumentált Responses munkafolyamat további fájltípusokat fogad. Nem PDF dokumentumok beágyazott grafikonjai nem kerülnek át képi tartalomként, ezért a PDF-reprezentáció hasznos, ha fontos a vizuális bizonyíték.\n\nAz OpenAI bemeneti gyorsítótárazást dokumentál a Nano modellhez és Predicted Outputs támogatást a GPT-4.1 Nano sorozathoz. A bemeneti gyorsítótárazás a gyártó szolgáltatásában alkalmas bemeneti előtagot használ újra. A Predicted Outputs ezzel szemben nagyrészt ismert kimeneti szöveget ad egy módosításhoz, például dokumentum vagy kódfájl átdolgozásához a változatlan részek megőrzésével. A predikciós út csak szöveges, és többek között kizárja a függvényhívást, a logprobs és max_completion_tokens használatát. A tényleges műveletnek megfelelő utat válassza, és eredményét tartsa az eredeti forráshoz kötve.\n\nA gyártó a Nano megnevezett GPT-4.1 modellpillanatképéhez felügyelt finomhangolást és közvetlen preferenciaoptimalizálást is dokumentál. Tanítópéldák és előnyben részesített, illetve elutasított válaszok ismétlődő feladathoz igazítanak egy modellt; ezek különböznek a szokásos kéréshez megadott kontextustól. Gyakorlati adatkinyerési vagy osztályozási szakasznál világos kategóriákkal, példákkal és egyértelmű végső formátummal kezdjen, majd vizsgálja meg, hogy a visszaadott mezők megőrzik-e a következő szakaszban felhasznált tényeket.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "3f28c941af333a56ae8a7780b2686e2b293634dfbcac0290e35aa61bcfa4c02f",
    "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\">O</span><h2 id=\"sheet-title\">OpenAI: GPT-4.1 Nano (batch)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Bezárás\">×</button></div><div class=\"idline\"><span>OpenAI /</span><code>openai/gpt-4.1-nano:batch</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|batches|/v1/batches|openai%2Fgpt-4.1-nano%3Abatch\">Kötegek</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 GPT-4.1 Nano a GPT-4.1 család kompakt, gyorsan reagáló tagja szigorúan meghatározott szöveges és képi feladatokhoz. Nagy kontextusa, Structured Outputs támogatása és függvényhívása osztályozást, adatkinyerést és célzott alkalmazási lépéseket segít.</p><dl class=\"card-io\" data-card-io><div><dt>Elfogadott bemenetek</dt><dd>Szöveg</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 GPT-4.1 Nano az OpenAI GPT-4.1 családjának leggyorsabb tagja, külön következtetési lépés nélküli utasításkövetésre és eszközhívásra tervezve. Szöveget és képeket fogad, és szöveget állít elő. A Nano jól meghatározott művelethez alkalmas, amelyben az alkalmazás tömör választ, mezők halmazát vagy a következő eszközkérést igényli, nem terjedelmes vizsgálatot.</p><p>Hasznos példa lehet beérkező üzenetek besorolása megadott kategóriák szerint. Magyarázza el a kategóriákat, mutassa meg a kétértelmű vagy a feladatkörön kívüli üzenetek megjelenítését, és kérje a kategóriát az azt alátámasztó forráskifejezéssel együtt. Adatkinyeréshez határozza meg a mezőneveket, az engedélyezett értékeket és a hiányzó információ kezelését. Rövid szövegírási feladathoz adja meg a tényeket, és kérje az alkalmazás következő szakaszához szükséges konkrét szövegrészt. A példák és korlátok legyenek elég rövidek és körülhatároltak ahhoz, hogy nagy forrásgyűjtemény mellett is egyértelműek maradjanak.</p><p>A gyártó 1 047 576 tokenes kontextusablakot, legfeljebb 32 768 tokenes kimenetet és 2024. június 1-jei tudáshatárt sorol fel. Ezek a specifikációk megegyeznek a GPT-4.1 Mini ablakával, miközben megőrzik a Nano különálló modellidentitását és a gyors válaszra összpontosító szerepét. Jelölje meg a dokumentumokat és beszélgetési szakaszokat, csak a művelethez releváns kontextust használja, és hagyjon helyet a teljes válasznak. Lekérdezési eredmények vagy megadott referenciaszöveg a modell tanult tudásánál újabb tényeket is adhatnak.</p><p>A Nano streamelést és Structured Outputs támogatást biztosít. A séma szerint korlátozott végső válasz más célt szolgál, mint a függvényhívás: az egyik befejezett eredményt ad az alkalmazásnak, a másik művelet elvégzését kéri tőle. A Structured Outputs a JSON Schema egy részhalmazát támogatja; határozza meg a szükséges tulajdonságokat és az ismeretlen értékek egyértelmű megjelenítését. A visszautasításokat és hiányos válaszokat külön kezelje, a kinyert értékeket pedig a bemenet alapján ellenőrizze, ne azonosítsa az érvényes szerkezetet a helyes következtetéssel.</p><p>A dokumentált eszközkészlet függvényhívást, fájlkeresést, kódértelmezést, MCP-kapcsolatokat és külön képgeneráló eszközt tartalmaz. Az alkalmazás megadja az eszközleírásokat és sémákat, végrehajtja az egyedi függvényeket, és visszaadja a tényleges eredményeiket. A 2025. április 14-i Nano modellpillanatképnél az OpenAI kifejezetten a párhuzamos eszközhívások kikapcsolását ajánlja, mert a modell egy fordulóban többször is kérheti ugyanazt az eszközt. Ez a konkrét pillanatkép végrehajtási szempontja, nem indok több javasolt hívás végrehajtott műveletként történő értelmezésére.</p><p>A képbemenet vizuális bizonyítékot ad egy szöveges feladathoz, például látható felirat elolvasásához vagy képernyőképen szereplő állapot leírásához. Támogatott PNG, JPEG, WebP vagy nem animált GIF képet használjon, a szöveg maradjon olvasható, és magyarázza el a fontos megfigyelést. A képi útmutató kis vagy elforgatott szövegnél, pontos térbeli összefüggéseknél, objektumszámlálásnál és egyes nem latin írásrendszereknél nehézségeket jelez. Adjon környező kontextust, ha egy kivágás önmagában kétértelművé tenné a feliratot vagy ábrát. A Nano saját válasza szöveg; a képgeneráló eszköz külön képi eredményt ad vissza. Az OpenAI dokumentált képi munkafolyamatában a kérés teljes adatmennyiségének korlátja 512 MB, és egy kérés legfeljebb 1 500 képet tartalmazhat; a képeknek és a szövegnek a modell kontextusába is bele kell férniük.</p><p>A gyártó fájlmunkafolyamatában a képeket is értelmező modell a PDF-ekből kinyert szöveget és az oldalak képeit egyaránt megkapja. Más dokumentumformátumok kinyert szöveget adnak, a táblázatok kiegészítő feldolgozása pedig munkalaponként legfeljebb az első 1 000 sort veszi figyelembe. Egy fájlnak 50 MB alatt kell lennie, a kérés teljes fájlkerete pedig 50 MB. A Chat Completions PDF-fájlrészeket támogat, a dokumentált Responses munkafolyamat további fájltípusokat fogad. Nem PDF dokumentumok beágyazott grafikonjai nem kerülnek át képi tartalomként, ezért a PDF-reprezentáció hasznos, ha fontos a vizuális bizonyíték.</p><p>Az OpenAI bemeneti gyorsítótárazást dokumentál a Nano modellhez és Predicted Outputs támogatást a GPT-4.1 Nano sorozathoz. A bemeneti gyorsítótárazás a gyártó szolgáltatásában alkalmas bemeneti előtagot használ újra. A Predicted Outputs ezzel szemben nagyrészt ismert kimeneti szöveget ad egy módosításhoz, például dokumentum vagy kódfájl átdolgozásához a változatlan részek megőrzésével. A predikciós út csak szöveges, és többek között kizárja a függvényhívást, a logprobs és max_completion_tokens használatát. A tényleges műveletnek megfelelő utat válassza, és eredményét tartsa az eredeti forráshoz kötve.</p><p>A gyártó a Nano megnevezett GPT-4.1 modellpillanatképéhez felügyelt finomhangolást és közvetlen preferenciaoptimalizálást is dokumentál. Tanítópéldák és előnyben részesített, illetve elutasított válaszok ismétlődő feladathoz igazítanak egy modellt; ezek különböznek a szokásos kéréshez megadott kontextustól. Gyakorlati adatkinyerési vagy osztályozási szakasznál világos kategóriákkal, példákkal és egyértelmű végső formátummal kezdjen, majd vizsgálja meg, hogy a visszaadott mezők megőrzik-e a következő szakaszban felhasznált tényeket.</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 · Kötegelt feldolgozás</b> <code>POST /v1/batches</code></summary><dl class=\"method-capabilities\"><div><dt>Bemenet</dt><dd><code>text</code></dd></div><div><dt>Kimenet</dt><dd><code>text</code></dd></div><div><dt>Kimeneti formátum</dt><dd>Beágyazott results[].response.body JSON-adatok</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 data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">endpoint</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>/v1/chat/completions</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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>openai/gpt-4.1-nano:batch</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">requests</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>batch_item[]</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>Minimális elemszám: 1</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">requests[].custom_id</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></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">requests[].body.messages</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>message[]</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></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">completion_window</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>Opcionális</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>24h</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>object|null</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></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">requests[].body.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>Opcionális</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>openai/gpt-4.1-nano:batch, openai/gpt-4.1-nano</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">provider.only</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>Opcionális</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>openai</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">provider.allow_fallbacks</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>boolean|null</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>false, null</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr></tbody></table></div><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>endpoint, model, requests</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</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>representation</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>A kérésbe ágyazott requests[]; minden elemhez custom_id és body tartozik</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>request_endpoint_profile</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>/v1/chat/completions</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>file_material</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>A hívó helyben beolvashatja a tényleges UTF-8 JSONL-adatokat a requests[] tömbbe. A kérés nem használ feltöltési célt, input_file_id mezőt vagy fájlhivatkozást. Hiányzó vagy üres ügyfélanyag esetén az előkészítés még a POST előtt leáll.</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>serialization_order</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>endpoint, model, provider (ha meg van adva), completion_window (ha meg van adva), requests utoljára</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>optional_controls</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>provider.only, provider.allow_fallbacks, completion_window</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>schema_scope</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>Text Chat Completions-kéréstörzsek a dokumentált, kérésbe ágyazott Batch-borítékban.</td></tr></tbody></table></div><p>Életciklus: <code>asynchronous</code></p><p class=\"note-s\"><code>GET /v1/batches/{operation_id}</code> · Az eredeti létrehozási válasz tényleges response.id értéke; ugyanaz a felhasználó/kulcs/csoport</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>Nincs megadva <span class=\"note-s\">Ha a gyors mód van kiválasztva</span></dd><dt>Flex mód</dt><dd>Nincs megadva <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>Nincs megadva <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></dl></div><div data-declared-tariff-pricing><h4>Ailoot-díjak</h4><h4>Árak beállításonként</h4><p class=\"note-s\">Minden díjat a megjelenített feltételekhez rendeljen. Az alternatív beállítások minden csoportjához egy díjtételt használjon.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Beállítás</th><th>Díjtáblázat</th><th>Kontextustokenek, több mint</th><th>Kontextustokenek, legfeljebb</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>Tokenenkénti alapárak</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=\"Kontextustokenek, több mint\"><span class=\"card-cell-label\">Kontextustokenek, több mint</span>—</td><td data-cell-label=\"Kontextustokenek, legfeljebb\"><span class=\"card-cell-label\">Kontextustokenek, legfeljebb</span>Nincs felső korlát</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Bemenet · Bemeneti tokenek</span> <b>$0.0001</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kimenet · Kimeneti tokenek</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Gyorsítótár olvasása</span> <b>$0.000025</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><tr><th data-cell-label=\"Beállítás\" scope=\"row\"><span class=\"card-cell-label\">Beállítás</span>A kéréshossz szerinti 1. ársáv</th><td data-cell-label=\"Díjtáblázat\"><span class=\"card-cell-label\">Díjtáblázat</span>—</td><td data-cell-label=\"Kontextustokenek, több mint\"><span class=\"card-cell-label\">Kontextustokenek, több mint</span>0</td><td data-cell-label=\"Kontextustokenek, legfeljebb\"><span class=\"card-cell-label\">Kontextustokenek, legfeljebb</span>Nincs felső korlát</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Bemenet · Bemeneti tokenek</span> <b>$0.0001</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kimenet · Kimeneti tokenek</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Gyorsítótár olvasása</span> <b>$0.000025</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 · Kötegelt feldolgozás</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-2034-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2034-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · megőrzött tesztminta</button><button class=\"cg-tab\" id=\"model-code-2034-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2034-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python HTTP · az ügyfél tényleges JSONL-adatai</button><button class=\"cg-tab\" id=\"model-code-2034-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2034-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Python · ments el minden elkészült 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-2034-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2034-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json\nfrom pathlib import Path\nbody=json.loads(&#39;{&quot;endpoint&quot;:&quot;/v1/chat/completions&quot;,&quot;model&quot;:&quot;openai/gpt-4.1-nano:batch&quot;,&quot;requests&quot;:[{&quot;custom_id&quot;:&quot;req-0001&quot;,&quot;body&quot;:{&quot;messages&quot;:[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Hello!&quot;}],&quot;max_tokens&quot;:16}}]}&#39;)\nPath(&quot;batch-request.json&quot;).write_text(json.dumps(body,ensure_ascii=False),encoding=&quot;utf-8&quot;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2034-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2034-tab-1\" hidden><pre data-lang=\"python\"><code>import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(&quot;Customer JSONL file is missing&quot;)\n    items = [json.loads(line) for line in path.read_text(encoding=&quot;utf-8&quot;).splitlines() if line.strip()]\n    if not items: raise ValueError(&quot;Customer JSONL contains no requests&quot;)\n    ids = set()\n    for item in items:\n        if set(item) != {&quot;custom_id&quot;, &quot;body&quot;}: raise ValueError(&quot;Each item needs custom_id and body&quot;)\n        cid = item[&quot;custom_id&quot;]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(&quot;custom_id must be nonempty and unique&quot;)\n        ids.add(cid)\n        if not isinstance(item[&quot;body&quot;], dict) or not item[&quot;body&quot;].get(&quot;messages&quot;): raise ValueError(&quot;Supply actual text messages&quot;)\n        supplied_model = item[&quot;body&quot;].get(&quot;model&quot;)\n        if supplied_model is not None and supplied_model not in [&#39;openai/gpt-4.1-nano:batch&#39;, &#39;openai/gpt-4.1-nano&#39;]: raise ValueError(&quot;body.model must be an exact documented caller or wire ID&quot;)\n    return {&quot;endpoint&quot;:&quot;/v1/chat/completions&quot;, &quot;model&quot;:&quot;openai/gpt-4.1-nano:batch&quot;, &quot;requests&quot;:items}\n\nif __name__ == &quot;__main__&quot;:\n    material = os.environ.get(&quot;AILOOT_BATCH_REQUESTS_JSONL&quot;, &quot;&quot;)\n    if not material: raise SystemExit(&quot;Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file&quot;)\n    body = prepare_requests(material)\n    key = os.environ.get(&quot;AILOOT_API_KEY&quot;, &quot;&quot;)\n    if not key: raise SystemExit(&quot;Set AILOOT_API_KEY&quot;)\n    request = Request(&quot;https://api.ailoot.ai/v1/batches&quot;, data=json.dumps(body, ensure_ascii=False).encode(&quot;utf-8&quot;), headers={&quot;Authorization&quot;:&quot;Bearer &quot; + key, &quot;Content-Type&quot;:&quot;application/json&quot;}, method=&quot;POST&quot;)\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(&quot;batch-create-response.json&quot;).write_bytes(raw)\n        print(raw.decode(&quot;utf-8&quot;))\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-2034-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-2034-tab-2\" hidden><pre data-lang=\"python\"><code>import json\nfrom pathlib import Path\nraw = Path(&quot;batch-status-response.json&quot;).read_bytes()\nresponse = json.loads(raw)\nif response.get(&quot;status&quot;) != &quot;completed&quot;:\n    raise SystemExit(&quot;Keep the original operation; read its status without resubmitting&quot;)\nresults = response.get(&quot;results&quot;)\nif not isinstance(results, list) or not results:\n    raise SystemExit(&quot;Preserve the original response; completed results are missing&quot;)\nPath(&quot;batch-results.jsonl&quot;).write_text(&quot;&quot;.join(json.dumps(item, ensure_ascii=False) + &quot;\\n&quot; for item in results), encoding=&quot;utf-8&quot;)\n# Preserve batch-status-response.json with aggregate usage and every result/error.\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 · Kötegelt feldolgozás</h4><p class=\"note-s\">Beágyazott results[].response.body JSON-adatok</p><ul class=\"card-result-paths\"><li><code>GET /v1/batches/{operation_id}</code></li></ul><h5>Feladatállapot ellenőrzése</h5><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-2035-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2035-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · az eredeti művelet állapota</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-2035-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2035-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nBATCH_OPERATION_ID=&quot;$(python3 - &lt;&lt;&#39;PY_ID&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(&quot;batch-create-response.json&quot;).read_text(encoding=&quot;utf-8&quot;))\noperation = response.get(&quot;id&quot;)\nif not isinstance(operation, str) or not operation: raise SystemExit(&quot;No actual original operation ID; preserve the response and do not resubmit&quot;)\nprint(quote(operation, safe=&quot;&quot;))\nPY_ID\n)&quot;\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o batch-status-response.json\n</code></pre></div></div></div><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 a teljes eredeti állapot-JSON-t, minden eredményt/custom_id értéket, valamint a teljes válasz- vagy hibatörzset. A befejezett results[] elemeket szűrés nélkül mentse JSONL-ként.</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 műveletazonosítót. A 503 result_pending_check válasz X-Should-Retry:false fejlécet tartalmaz; soha ne küldje be újra az ismeretlen kimenetelű eredeti köteget.</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\">results[].custom_id</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>string</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">results[].response.body.choices[].message.content</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>string|null</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">results[].error</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>object|null</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|null</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>string</td></tr><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>string</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">endpoint</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>string</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>string</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">request_counts</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\">results[].id</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>string</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">results[].response.status_code</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>integer</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">results[].response.request_id</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span>string</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>Érvénytelen a dokumentált, kérésbe ágyazott boríték, ismétlődő kulcsok vagy az elemek azonosságával kapcsolatos hiba található benne, vagy ütközés van a beállított modellképességekkel.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Bármilyen új beküldés előtt javítsa ki a megjelölt mezőket.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>Érvénytelen API-kulcs.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Használja az engedélyezett Ailoot-kulcsot.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>403 · <code>permission_error</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>A Batch-csoport nem érhető el.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Ellenőrizze a kulcs/csoport jogosultságát.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>422 · <code>invalid_request_error</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>A Batch az egyenlegből számol el; az előfizetés terhére indított létrehozási kérés elutasításra kerül.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Használja az engedélyezett, egyenlegből elszámoló csoportot.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>A Batch-bemenethez nem készíthető árajánlat.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Őrizze meg a választ; használja az API-család dokumentált bemenetét.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>402 · <code>billing_error</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>A Batch költségfedezeti foglalása nem érhető el.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Az új kérés előtt rendezze a befogadási feltételeket.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>503 · <code>price_unavailable</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>A Batch-módszer ára vagy natív díjtételei nem érhetők el.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Őrizze meg a választ; ne helyettesítse az árakat más árakkal.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>503 · <code>api_error</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>A pontos szolgáltatói útvonal nem érhető el.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Őrizze meg a választ az útvonal javításához.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>503 · <code>result_pending_check</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>Az eredeti eredmény ellenőrzést igényel; X-Should-Retry:false.</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 operation_id/id értéket, és kérdezze le az állapotát; soha ne ismételje meg az eredeti POST kérést.</td></tr><tr><th data-cell-label=\"Válasz\" scope=\"row\"><span class=\"card-cell-label\">Válasz</span>404 · <code>not_found</code></th><td data-cell-label=\"Feltétel\"><span class=\"card-cell-label\">Feltétel</span>A Batch állapotlekérdezési művelete nem létezik, vagy más identitáshoz tartozik.</td><td data-cell-label=\"Következő lépés\"><span class=\"card-cell-label\">Következő lépés</span>Használja az eredeti id pontos értékét és ugyanazt a felhasználót/kulcsot/csoportot.</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=openai%2Fgpt-4.1-nano%3Abatch&amp;route=Ultra&amp;caller=openai%2Fgpt-4.1-nano%3Abatch&amp;fmt=batches\"><code>openai/gpt-4.1-nano:batch</code></a></span></p><h4>Metódusútvonalak álnevei</h4><p class=\"note-s\">Használja a fent látható metódusútvonalakat.</p><h4>Kapcsolódó modellazonosítók</h4><p class=\"note-s\"><a href=\"#m=openai%2Fgpt-4.1-nano%3Abatch&amp;route=Ultra&amp;caller=openai%2Fgpt-4.1-nano%3Abatch&amp;fmt=batches\"><code>openai/gpt-4.1-nano:batch</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "openai/gpt-4.1-nano:batch",
        "fmt": "batches",
        "http": "POST",
        "path": "/v1/batches",
        "request_model_id": "openai/gpt-4.1-nano:batch",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|batches|/v1/batches|openai%2Fgpt-4.1-nano%3Abatch",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0.025,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Preserve full JSON and every result; provider real IDs are only read from actual returned responses.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Érvénytelen a dokumentált, kérésbe ágyazott boríték, ismétlődő kulcsok vagy az elemek azonosságával kapcsolatos hiba található benne, vagy ütközés van a beállított modellképességekkel.",
                "http_status": 400,
                "recovery": "Bármilyen új beküldés előtt javítsa ki a megjelölt mezőket.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Érvénytelen API-kulcs.",
                "http_status": 401,
                "recovery": "Használja az engedélyezett Ailoot-kulcsot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "A Batch-csoport nem érhető el.",
                "http_status": 403,
                "recovery": "Ellenőrizze a kulcs/csoport jogosultságát.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "A Batch az egyenlegből számol el; az előfizetés terhére indított létrehozási kérés elutasításra kerül.",
                "http_status": 422,
                "recovery": "Használja az engedélyezett, egyenlegből elszámoló csoportot.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "A Batch-bemenethez nem készíthető árajánlat.",
                "http_status": 422,
                "recovery": "Őrizze meg a választ; használja az API-család dokumentált bemenetét.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "A Batch költségfedezeti foglalása nem érhető el.",
                "http_status": 402,
                "recovery": "Az új kérés előtt rendezze a befogadási feltételeket.",
                "type": "billing_error"
              },
              {
                "code": null,
                "condition": "A Batch-módszer ára vagy natív díjtételei nem érhetők el.",
                "http_status": 503,
                "recovery": "Őrizze meg a választ; ne helyettesítse az árakat más árakkal.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "A pontos szolgáltatói útvonal nem érhető el.",
                "http_status": 503,
                "recovery": "Őrizze meg a választ az útvonal javításához.",
                "type": "api_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Az eredeti eredmény ellenőrzést igényel; X-Should-Retry:false.",
                "http_status": 503,
                "recovery": "Őrizze meg az eredeti operation_id/id értéket, és kérdezze le az állapotát; soha ne ismételje meg az eredeti POST kérést.",
                "type": null
              },
              {
                "code": "not_found",
                "condition": "A Batch állapotlekérdezési művelete nem létezik, vagy más identitáshoz tartozik.",
                "http_status": 404,
                "recovery": "Használja az eredeti id pontos értékét és ugyanazt a felhasználót/kulcsot/csoportot.",
                "type": null
              }
            ],
            "example_body": {
              "endpoint": "/v1/chat/completions",
              "model": "openai/gpt-4.1-nano:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "input_constraints": [
              "Use the exact shown :batch model ID.",
              "Each custom_id must be nonempty and unique within the batch.",
              "Keep requests last in the serialized body; duplicate JSON keys are rejected.",
              "Each body.model is omitted or equals the exact batch caller or its documented base ID.",
              "Per-item provider, service_tier and input_type are outside this batch profile.",
              "stream is omitted or false.",
              "Supply text messages for this Chat batch profile; image/audio/file/video objects, hosted tools and cache-control fields are outside this profile.",
              "If body.model is present, use only the exact caller or wire ID listed here; no suffix conversion is needed.",
              "For google/ wire IDs, all items use an identical response_format."
            ],
            "outputs": {
              "all_results": "Őrizze meg a teljes eredeti állapot-JSON-t, minden eredményt/custom_id értéket, valamint a teljes válasz- vagy hibatörzset. A befejezett results[] elemeket szűrés nélkül mentse JSONL-ként.",
              "enclosing_family": "batch",
              "family": "text",
              "fields": [
                {
                  "name": "results[].custom_id",
                  "type": "string"
                },
                {
                  "name": "results[].response.body.choices[].message.content",
                  "type": "string|null"
                },
                {
                  "name": "results[].error",
                  "type": "object|null"
                },
                {
                  "name": "usage",
                  "type": "object|null"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "endpoint",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "request_counts",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "results[].id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].response.status_code",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].response.request_id",
                  "type": "string"
                }
              ],
              "format": "Beágyazott results[].response.body JSON-adatok"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "/v1/chat/completions"
                ],
                "enum_known": true,
                "name": "endpoint",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "openai/gpt-4.1-nano:batch"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "requests",
                "required": true,
                "type": "batch_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].custom_id",
                "required": true,
                "type": "string",
                "unique_within_batch": true
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].body.messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "24h"
                ],
                "enum_known": true,
                "name": "completion_window",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "openai/gpt-4.1-nano:batch",
                  "openai/gpt-4.1-nano"
                ],
                "enum_known": true,
                "name": "requests[].body.model",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  [
                    "openai"
                  ]
                ],
                "enum_known": true,
                "name": "provider.only",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  null
                ],
                "enum_known": true,
                "name": "provider.allow_fallbacks",
                "required": false,
                "type": "boolean|null"
              }
            ],
            "provider_policy": {
              "allow_fallbacks": false,
              "configured_only": [
                "openai"
              ],
              "per_item_override": false,
              "when_omitted": "Current Source injects the exact persisted declaration before fresh submission."
            },
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "completion_window": {
                  "enum": [
                    "24h"
                  ],
                  "type": "string"
                },
                "endpoint": {
                  "enum": [
                    "/v1/chat/completions"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "openai/gpt-4.1-nano:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "enum": [
                        false,
                        null
                      ],
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "enum": [
                        [
                          "openai"
                        ]
                      ],
                      "items": {
                        "enum": [
                          "openai"
                        ],
                        "type": "string"
                      },
                      "maxItems": 1,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "body": {
                        "additionalProperties": true,
                        "properties": {
                          "max_tokens": {
                            "minimum": 1,
                            "type": "integer"
                          },
                          "messages": {
                            "items": {
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role",
                                "content"
                              ],
                              "type": "object"
                            },
                            "minItems": 1,
                            "type": "array"
                          },
                          "model": {
                            "enum": [
                              "openai/gpt-4.1-nano:batch",
                              "openai/gpt-4.1-nano"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "messages"
                        ],
                        "type": "object"
                      },
                      "custom_id": {
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "custom_id",
                      "body"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "endpoint",
                "model",
                "requests"
              ],
              "type": "object"
            },
            "schema_template": {
              "endpoint": "/v1/chat/completions",
              "model": "openai/gpt-4.1-nano:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "unsupported": [
              "Files/input_file_id batch upload workflow",
              "active cancel route",
              "public batch list/delete/result-download route",
              "model-name-derived capability or weights equivalence"
            ]
          },
          "input": {
            "content_type": "application/json",
            "file_material": "A hívó helyben beolvashatja a tényleges UTF-8 JSONL-adatokat a requests[] tömbbe. A kérés nem használ feltöltési célt, input_file_id mezőt vagy fájlhivatkozást. Hiányzó vagy üres ügyfélanyag esetén az előkészítés még a POST előtt leáll.",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "provider.only",
              "provider.allow_fallbacks",
              "completion_window"
            ],
            "representation": "A kérésbe ágyazott requests[]; minden elemhez custom_id és body tartozik",
            "request_endpoint_profile": "/v1/chat/completions",
            "required": [
              "endpoint",
              "model",
              "requests"
            ],
            "schema_scope": "Text Chat Completions-kéréstörzsek a dokumentált, kérésbe ágyazott Batch-borítékban.",
            "serialization_order": [
              "endpoint",
              "model",
              "provider (ha meg van adva)",
              "completion_window (ha meg van adva)",
              "requests utoljára"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "create": {
              "accepted_status": 202,
              "http": "POST",
              "path": "/v1/batches"
            },
            "delete": null,
            "file_upload": null,
            "mode": "asynchronous",
            "observed_status_values": [
              "validating",
              "in_progress",
              "finalizing",
              "completed",
              "failed",
              "expired",
              "cancelling",
              "cancelled"
            ],
            "owned_results": {
              "behavior": "Completed results are saved as owned JSONL, read back byte-for-byte and registered in the existing media library before publication after settlement. Status returns inline results; no separate Batch download route is added.",
              "format": "application/x-ndjson",
              "public_url_field_in_status": null
            },
            "status": {
              "http": "GET",
              "id_source": "Az eredeti létrehozási válasz tényleges response.id értéke; ugyanaz a felhasználó/kulcs/csoport",
              "path": "/v1/batches/{operation_id}"
            },
            "terminal": [
              "completed",
              "failed",
              "expired",
              "cancelled"
            ],
            "unknown": "Őrizze meg az eredeti műveletazonosítót. A 503 result_pending_check válasz X-Should-Retry:false fejlécet tartalmaz; soha ne küldje be újra az ismeretlen kimenetelű eredeti köteget."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/batches"
          },
          "output": {
            "all_results": "Preserve the full original status JSON, every result/custom_id and complete response or error body. Save completed results[] as JSONL without filtering.",
            "family": "batch",
            "format": "JSON; completed results[] are returned inline and can be saved as JSONL."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tokenenkénti alapárak",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "A kéréshossz szerinti 1. ársáv",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "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}\"\npython3 - <<'PY_REQUEST'\nimport json\nfrom pathlib import Path\nbody=json.loads('{\"endpoint\":\"/v1/chat/completions\",\"model\":\"openai/gpt-4.1-nano:batch\",\"requests\":[{\"custom_id\":\"req-0001\",\"body\":{\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"max_tokens\":16}}]}')\nPath(\"batch-request.json\").write_text(json.dumps(body,ensure_ascii=False),encoding=\"utf-8\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n",
            "label": "curl · retained fixture",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(\"Customer JSONL file is missing\")\n    items = [json.loads(line) for line in path.read_text(encoding=\"utf-8\").splitlines() if line.strip()]\n    if not items: raise ValueError(\"Customer JSONL contains no requests\")\n    ids = set()\n    for item in items:\n        if set(item) != {\"custom_id\", \"body\"}: raise ValueError(\"Each item needs custom_id and body\")\n        cid = item[\"custom_id\"]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(\"custom_id must be nonempty and unique\")\n        ids.add(cid)\n        if not isinstance(item[\"body\"], dict) or not item[\"body\"].get(\"messages\"): raise ValueError(\"Supply actual text messages\")\n        supplied_model = item[\"body\"].get(\"model\")\n        if supplied_model is not None and supplied_model not in ['openai/gpt-4.1-nano:batch', 'openai/gpt-4.1-nano']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"openai/gpt-4.1-nano:batch\", \"requests\":items}\n\nif __name__ == \"__main__\":\n    material = os.environ.get(\"AILOOT_BATCH_REQUESTS_JSONL\", \"\")\n    if not material: raise SystemExit(\"Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file\")\n    body = prepare_requests(material)\n    key = os.environ.get(\"AILOOT_API_KEY\", \"\")\n    if not key: raise SystemExit(\"Set AILOOT_API_KEY\")\n    request = Request(\"https://api.ailoot.ai/v1/batches\", data=json.dumps(body, ensure_ascii=False).encode(\"utf-8\"), headers={\"Authorization\":\"Bearer \" + key, \"Content-Type\":\"application/json\"}, method=\"POST\")\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(\"batch-create-response.json\").write_bytes(raw)\n        print(raw.decode(\"utf-8\"))\n",
            "label": "Python HTTP · actual customer JSONL",
            "language": "python"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nBATCH_OPERATION_ID=\"$(python3 - <<'PY_ID'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(\"batch-create-response.json\").read_text(encoding=\"utf-8\"))\noperation = response.get(\"id\")\nif not isinstance(operation, str) or not operation: raise SystemExit(\"No actual original operation ID; preserve the response and do not resubmit\")\nprint(quote(operation, safe=\"\"))\nPY_ID\n)\"\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o batch-status-response.json\n",
            "label": "curl · original operation status",
            "language": "bash"
          },
          {
            "code": "import json\nfrom pathlib import Path\nraw = Path(\"batch-status-response.json\").read_bytes()\nresponse = json.loads(raw)\nif response.get(\"status\") != \"completed\":\n    raise SystemExit(\"Keep the original operation; read its status without resubmitting\")\nresults = response.get(\"results\")\nif not isinstance(results, list) or not results:\n    raise SystemExit(\"Preserve the original response; completed results are missing\")\nPath(\"batch-results.jsonl\").write_text(\"\".join(json.dumps(item, ensure_ascii=False) + \"\\n\" for item in results), encoding=\"utf-8\")\n# Preserve batch-status-response.json with aggregate usage and every result/error.\n",
            "label": "Python · save every completed result",
            "language": "python"
          }
        ],
        "family": "batch",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "batches",
        "hints": [
          "Read your actual request items before submission; inline requests are required.",
          "Keep the returned operation ID and every result. Never replay an unknown submission."
        ],
        "http": "POST",
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Kötegelt feldolgozás",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0.4,
        "output": [
          "text"
        ],
        "path": "/v1/batches",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "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.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "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": "openai/gpt-4.1-nano:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.025,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.1,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 0.4,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000001",
            "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.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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": "0.000025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.000000025",
            "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": "openai/gpt-4.1-nano:batch",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "7d5ba2b9a8fb83079d9b670ac8faeaa5f3355cc863786a432a151ba8aa0b0c67",
    "input_html_sha256": "ab1ccb75fc4c987397bd7a5090e246f363120e8502bafb51485cb821dfa29756",
    "private_audit_sha256": "5a917e5a66903b3dbdd36b313ebf0fe8bdf8c9a5d95148367159eb04a285b7dc",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/hu/openai-gpt-4-1-nano-u003a-batch/",
    "description": "A GPT-4.1 Nano a GPT-4.1 család kompakt, gyorsan reagáló tagja szigorúan meghatározott szöveges és képi feladatokhoz. Nagy kontextusa, Structured Outputs támogatása és függvényhívása osztályozást, adatkinyerést és célzott alkalmazási lépéseket segít.",
    "locale": "hu",
    "md_url": "https://ailoot.ai/models/hu/openai-gpt-4-1-nano-u003a-batch/index.md",
    "title": "OpenAI: GPT-4.1 Nano (batch) — Ailoot",
    "url": "https://ailoot.ai/models/hu/openai-gpt-4-1-nano-u003a-batch/"
  },
  "rawModel": {
    "about": "A GPT-4.1 Nano az OpenAI GPT-4.1 családjának leggyorsabb tagja, külön következtetési lépés nélküli utasításkövetésre és eszközhívásra tervezve. Szöveget és képeket fogad, és szöveget állít elő. A Nano jól meghatározott művelethez alkalmas, amelyben az alkalmazás tömör választ, mezők halmazát vagy a következő eszközkérést igényli, nem terjedelmes vizsgálatot.\n\nHasznos példa lehet beérkező üzenetek besorolása megadott kategóriák szerint. Magyarázza el a kategóriákat, mutassa meg a kétértelmű vagy a feladatkörön kívüli üzenetek megjelenítését, és kérje a kategóriát az azt alátámasztó forráskifejezéssel együtt. Adatkinyeréshez határozza meg a mezőneveket, az engedélyezett értékeket és a hiányzó információ kezelését. Rövid szövegírási feladathoz adja meg a tényeket, és kérje az alkalmazás következő szakaszához szükséges konkrét szövegrészt. A példák és korlátok legyenek elég rövidek és körülhatároltak ahhoz, hogy nagy forrásgyűjtemény mellett is egyértelműek maradjanak.\n\nA gyártó 1 047 576 tokenes kontextusablakot, legfeljebb 32 768 tokenes kimenetet és 2024. június 1-jei tudáshatárt sorol fel. Ezek a specifikációk megegyeznek a GPT-4.1 Mini ablakával, miközben megőrzik a Nano különálló modellidentitását és a gyors válaszra összpontosító szerepét. Jelölje meg a dokumentumokat és beszélgetési szakaszokat, csak a művelethez releváns kontextust használja, és hagyjon helyet a teljes válasznak. Lekérdezési eredmények vagy megadott referenciaszöveg a modell tanult tudásánál újabb tényeket is adhatnak.\n\nA Nano streamelést és Structured Outputs támogatást biztosít. A séma szerint korlátozott végső válasz más célt szolgál, mint a függvényhívás: az egyik befejezett eredményt ad az alkalmazásnak, a másik művelet elvégzését kéri tőle. A Structured Outputs a JSON Schema egy részhalmazát támogatja; határozza meg a szükséges tulajdonságokat és az ismeretlen értékek egyértelmű megjelenítését. A visszautasításokat és hiányos válaszokat külön kezelje, a kinyert értékeket pedig a bemenet alapján ellenőrizze, ne azonosítsa az érvényes szerkezetet a helyes következtetéssel.\n\nA dokumentált eszközkészlet függvényhívást, fájlkeresést, kódértelmezést, MCP-kapcsolatokat és külön képgeneráló eszközt tartalmaz. Az alkalmazás megadja az eszközleírásokat és sémákat, végrehajtja az egyedi függvényeket, és visszaadja a tényleges eredményeiket. A 2025. április 14-i Nano modellpillanatképnél az OpenAI kifejezetten a párhuzamos eszközhívások kikapcsolását ajánlja, mert a modell egy fordulóban többször is kérheti ugyanazt az eszközt. Ez a konkrét pillanatkép végrehajtási szempontja, nem indok több javasolt hívás végrehajtott műveletként történő értelmezésére.\n\nA képbemenet vizuális bizonyítékot ad egy szöveges feladathoz, például látható felirat elolvasásához vagy képernyőképen szereplő állapot leírásához. Támogatott PNG, JPEG, WebP vagy nem animált GIF képet használjon, a szöveg maradjon olvasható, és magyarázza el a fontos megfigyelést. A képi útmutató kis vagy elforgatott szövegnél, pontos térbeli összefüggéseknél, objektumszámlálásnál és egyes nem latin írásrendszereknél nehézségeket jelez. Adjon környező kontextust, ha egy kivágás önmagában kétértelművé tenné a feliratot vagy ábrát. A Nano saját válasza szöveg; a képgeneráló eszköz külön képi eredményt ad vissza. Az OpenAI dokumentált képi munkafolyamatában a kérés teljes adatmennyiségének korlátja 512 MB, és egy kérés legfeljebb 1 500 képet tartalmazhat; a képeknek és a szövegnek a modell kontextusába is bele kell férniük.\n\nA gyártó fájlmunkafolyamatában a képeket is értelmező modell a PDF-ekből kinyert szöveget és az oldalak képeit egyaránt megkapja. Más dokumentumformátumok kinyert szöveget adnak, a táblázatok kiegészítő feldolgozása pedig munkalaponként legfeljebb az első 1 000 sort veszi figyelembe. Egy fájlnak 50 MB alatt kell lennie, a kérés teljes fájlkerete pedig 50 MB. A Chat Completions PDF-fájlrészeket támogat, a dokumentált Responses munkafolyamat további fájltípusokat fogad. Nem PDF dokumentumok beágyazott grafikonjai nem kerülnek át képi tartalomként, ezért a PDF-reprezentáció hasznos, ha fontos a vizuális bizonyíték.\n\nAz OpenAI bemeneti gyorsítótárazást dokumentál a Nano modellhez és Predicted Outputs támogatást a GPT-4.1 Nano sorozathoz. A bemeneti gyorsítótárazás a gyártó szolgáltatásában alkalmas bemeneti előtagot használ újra. A Predicted Outputs ezzel szemben nagyrészt ismert kimeneti szöveget ad egy módosításhoz, például dokumentum vagy kódfájl átdolgozásához a változatlan részek megőrzésével. A predikciós út csak szöveges, és többek között kizárja a függvényhívást, a logprobs és max_completion_tokens használatát. A tényleges műveletnek megfelelő utat válassza, és eredményét tartsa az eredeti forráshoz kötve.\n\nA gyártó a Nano megnevezett GPT-4.1 modellpillanatképéhez felügyelt finomhangolást és közvetlen preferenciaoptimalizálást is dokumentál. Tanítópéldák és előnyben részesített, illetve elutasított válaszok ismétlődő feladathoz igazítanak egy modellt; ezek különböznek a szokásos kéréshez megadott kontextustól. Gyakorlati adatkinyerési vagy osztályozási szakasznál világos kategóriákkal, példákkal és egyértelmű végső formátummal kezdjen, majd vizsgálja meg, hogy a visszaadott mezők megőrzik-e a következő szakaszban felhasznált tényeket.",
    "alias_of": null,
    "aliases": [],
    "author": "OpenAI",
    "capabilities": {
      "context_length": 1047576,
      "manufacturer_input": [
        "image",
        "text",
        "file"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000001",
            "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.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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": [
      "batches"
    ],
    "id": "openai/gpt-4.1-nano:batch",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0.025,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Preserve full JSON and every result; provider real IDs are only read from actual returned responses.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Érvénytelen a dokumentált, kérésbe ágyazott boríték, ismétlődő kulcsok vagy az elemek azonosságával kapcsolatos hiba található benne, vagy ütközés van a beállított modellképességekkel.",
                "http_status": 400,
                "recovery": "Bármilyen új beküldés előtt javítsa ki a megjelölt mezőket.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Érvénytelen API-kulcs.",
                "http_status": 401,
                "recovery": "Használja az engedélyezett Ailoot-kulcsot.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "A Batch-csoport nem érhető el.",
                "http_status": 403,
                "recovery": "Ellenőrizze a kulcs/csoport jogosultságát.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "A Batch az egyenlegből számol el; az előfizetés terhére indított létrehozási kérés elutasításra kerül.",
                "http_status": 422,
                "recovery": "Használja az engedélyezett, egyenlegből elszámoló csoportot.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "A Batch-bemenethez nem készíthető árajánlat.",
                "http_status": 422,
                "recovery": "Őrizze meg a választ; használja az API-család dokumentált bemenetét.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "A Batch költségfedezeti foglalása nem érhető el.",
                "http_status": 402,
                "recovery": "Az új kérés előtt rendezze a befogadási feltételeket.",
                "type": "billing_error"
              },
              {
                "code": null,
                "condition": "A Batch-módszer ára vagy natív díjtételei nem érhetők el.",
                "http_status": 503,
                "recovery": "Őrizze meg a választ; ne helyettesítse az árakat más árakkal.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "A pontos szolgáltatói útvonal nem érhető el.",
                "http_status": 503,
                "recovery": "Őrizze meg a választ az útvonal javításához.",
                "type": "api_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Az eredeti eredmény ellenőrzést igényel; X-Should-Retry:false.",
                "http_status": 503,
                "recovery": "Őrizze meg az eredeti operation_id/id értéket, és kérdezze le az állapotát; soha ne ismételje meg az eredeti POST kérést.",
                "type": null
              },
              {
                "code": "not_found",
                "condition": "A Batch állapotlekérdezési művelete nem létezik, vagy más identitáshoz tartozik.",
                "http_status": 404,
                "recovery": "Használja az eredeti id pontos értékét és ugyanazt a felhasználót/kulcsot/csoportot.",
                "type": null
              }
            ],
            "example_body": {
              "endpoint": "/v1/chat/completions",
              "model": "openai/gpt-4.1-nano:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "input_constraints": [
              "Use the exact shown :batch model ID.",
              "Each custom_id must be nonempty and unique within the batch.",
              "Keep requests last in the serialized body; duplicate JSON keys are rejected.",
              "Each body.model is omitted or equals the exact batch caller or its documented base ID.",
              "Per-item provider, service_tier and input_type are outside this batch profile.",
              "stream is omitted or false.",
              "Supply text messages for this Chat batch profile; image/audio/file/video objects, hosted tools and cache-control fields are outside this profile.",
              "If body.model is present, use only the exact caller or wire ID listed here; no suffix conversion is needed.",
              "For google/ wire IDs, all items use an identical response_format."
            ],
            "outputs": {
              "all_results": "Őrizze meg a teljes eredeti állapot-JSON-t, minden eredményt/custom_id értéket, valamint a teljes válasz- vagy hibatörzset. A befejezett results[] elemeket szűrés nélkül mentse JSONL-ként.",
              "enclosing_family": "batch",
              "family": "text",
              "fields": [
                {
                  "name": "results[].custom_id",
                  "type": "string"
                },
                {
                  "name": "results[].response.body.choices[].message.content",
                  "type": "string|null"
                },
                {
                  "name": "results[].error",
                  "type": "object|null"
                },
                {
                  "name": "usage",
                  "type": "object|null"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "endpoint",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "request_counts",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "results[].id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].response.status_code",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].response.request_id",
                  "type": "string"
                }
              ],
              "format": "Beágyazott results[].response.body JSON-adatok"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "/v1/chat/completions"
                ],
                "enum_known": true,
                "name": "endpoint",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "openai/gpt-4.1-nano:batch"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "requests",
                "required": true,
                "type": "batch_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].custom_id",
                "required": true,
                "type": "string",
                "unique_within_batch": true
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].body.messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "24h"
                ],
                "enum_known": true,
                "name": "completion_window",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "openai/gpt-4.1-nano:batch",
                  "openai/gpt-4.1-nano"
                ],
                "enum_known": true,
                "name": "requests[].body.model",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  [
                    "openai"
                  ]
                ],
                "enum_known": true,
                "name": "provider.only",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  null
                ],
                "enum_known": true,
                "name": "provider.allow_fallbacks",
                "required": false,
                "type": "boolean|null"
              }
            ],
            "provider_policy": {
              "allow_fallbacks": false,
              "configured_only": [
                "openai"
              ],
              "per_item_override": false,
              "when_omitted": "Current Source injects the exact persisted declaration before fresh submission."
            },
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "completion_window": {
                  "enum": [
                    "24h"
                  ],
                  "type": "string"
                },
                "endpoint": {
                  "enum": [
                    "/v1/chat/completions"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "openai/gpt-4.1-nano:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "enum": [
                        false,
                        null
                      ],
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "enum": [
                        [
                          "openai"
                        ]
                      ],
                      "items": {
                        "enum": [
                          "openai"
                        ],
                        "type": "string"
                      },
                      "maxItems": 1,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "body": {
                        "additionalProperties": true,
                        "properties": {
                          "max_tokens": {
                            "minimum": 1,
                            "type": "integer"
                          },
                          "messages": {
                            "items": {
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role",
                                "content"
                              ],
                              "type": "object"
                            },
                            "minItems": 1,
                            "type": "array"
                          },
                          "model": {
                            "enum": [
                              "openai/gpt-4.1-nano:batch",
                              "openai/gpt-4.1-nano"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "messages"
                        ],
                        "type": "object"
                      },
                      "custom_id": {
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "custom_id",
                      "body"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "endpoint",
                "model",
                "requests"
              ],
              "type": "object"
            },
            "schema_template": {
              "endpoint": "/v1/chat/completions",
              "model": "openai/gpt-4.1-nano:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "unsupported": [
              "Files/input_file_id batch upload workflow",
              "active cancel route",
              "public batch list/delete/result-download route",
              "model-name-derived capability or weights equivalence"
            ]
          },
          "input": {
            "content_type": "application/json",
            "file_material": "A hívó helyben beolvashatja a tényleges UTF-8 JSONL-adatokat a requests[] tömbbe. A kérés nem használ feltöltési célt, input_file_id mezőt vagy fájlhivatkozást. Hiányzó vagy üres ügyfélanyag esetén az előkészítés még a POST előtt leáll.",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "provider.only",
              "provider.allow_fallbacks",
              "completion_window"
            ],
            "representation": "A kérésbe ágyazott requests[]; minden elemhez custom_id és body tartozik",
            "request_endpoint_profile": "/v1/chat/completions",
            "required": [
              "endpoint",
              "model",
              "requests"
            ],
            "schema_scope": "Text Chat Completions-kéréstörzsek a dokumentált, kérésbe ágyazott Batch-borítékban.",
            "serialization_order": [
              "endpoint",
              "model",
              "provider (ha meg van adva)",
              "completion_window (ha meg van adva)",
              "requests utoljára"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "create": {
              "accepted_status": 202,
              "http": "POST",
              "path": "/v1/batches"
            },
            "delete": null,
            "file_upload": null,
            "mode": "asynchronous",
            "observed_status_values": [
              "validating",
              "in_progress",
              "finalizing",
              "completed",
              "failed",
              "expired",
              "cancelling",
              "cancelled"
            ],
            "owned_results": {
              "behavior": "Completed results are saved as owned JSONL, read back byte-for-byte and registered in the existing media library before publication after settlement. Status returns inline results; no separate Batch download route is added.",
              "format": "application/x-ndjson",
              "public_url_field_in_status": null
            },
            "status": {
              "http": "GET",
              "id_source": "Az eredeti létrehozási válasz tényleges response.id értéke; ugyanaz a felhasználó/kulcs/csoport",
              "path": "/v1/batches/{operation_id}"
            },
            "terminal": [
              "completed",
              "failed",
              "expired",
              "cancelled"
            ],
            "unknown": "Őrizze meg az eredeti műveletazonosítót. A 503 result_pending_check válasz X-Should-Retry:false fejlécet tartalmaz; soha ne küldje be újra az ismeretlen kimenetelű eredeti köteget."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/batches"
          },
          "output": {
            "all_results": "Preserve the full original status JSON, every result/custom_id and complete response or error body. Save completed results[] as JSONL without filtering.",
            "family": "batch",
            "format": "JSON; completed results[] are returned inline and can be saved as JSONL."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tokenenkénti alapárak",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "A kéréshossz szerinti 1. ársáv",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "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}\"\npython3 - <<'PY_REQUEST'\nimport json\nfrom pathlib import Path\nbody=json.loads('{\"endpoint\":\"/v1/chat/completions\",\"model\":\"openai/gpt-4.1-nano:batch\",\"requests\":[{\"custom_id\":\"req-0001\",\"body\":{\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"max_tokens\":16}}]}')\nPath(\"batch-request.json\").write_text(json.dumps(body,ensure_ascii=False),encoding=\"utf-8\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n",
            "label": "curl · retained fixture",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(\"Customer JSONL file is missing\")\n    items = [json.loads(line) for line in path.read_text(encoding=\"utf-8\").splitlines() if line.strip()]\n    if not items: raise ValueError(\"Customer JSONL contains no requests\")\n    ids = set()\n    for item in items:\n        if set(item) != {\"custom_id\", \"body\"}: raise ValueError(\"Each item needs custom_id and body\")\n        cid = item[\"custom_id\"]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(\"custom_id must be nonempty and unique\")\n        ids.add(cid)\n        if not isinstance(item[\"body\"], dict) or not item[\"body\"].get(\"messages\"): raise ValueError(\"Supply actual text messages\")\n        supplied_model = item[\"body\"].get(\"model\")\n        if supplied_model is not None and supplied_model not in ['openai/gpt-4.1-nano:batch', 'openai/gpt-4.1-nano']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"openai/gpt-4.1-nano:batch\", \"requests\":items}\n\nif __name__ == \"__main__\":\n    material = os.environ.get(\"AILOOT_BATCH_REQUESTS_JSONL\", \"\")\n    if not material: raise SystemExit(\"Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file\")\n    body = prepare_requests(material)\n    key = os.environ.get(\"AILOOT_API_KEY\", \"\")\n    if not key: raise SystemExit(\"Set AILOOT_API_KEY\")\n    request = Request(\"https://api.ailoot.ai/v1/batches\", data=json.dumps(body, ensure_ascii=False).encode(\"utf-8\"), headers={\"Authorization\":\"Bearer \" + key, \"Content-Type\":\"application/json\"}, method=\"POST\")\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(\"batch-create-response.json\").write_bytes(raw)\n        print(raw.decode(\"utf-8\"))\n",
            "label": "Python HTTP · actual customer JSONL",
            "language": "python"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nBATCH_OPERATION_ID=\"$(python3 - <<'PY_ID'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(\"batch-create-response.json\").read_text(encoding=\"utf-8\"))\noperation = response.get(\"id\")\nif not isinstance(operation, str) or not operation: raise SystemExit(\"No actual original operation ID; preserve the response and do not resubmit\")\nprint(quote(operation, safe=\"\"))\nPY_ID\n)\"\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o batch-status-response.json\n",
            "label": "curl · original operation status",
            "language": "bash"
          },
          {
            "code": "import json\nfrom pathlib import Path\nraw = Path(\"batch-status-response.json\").read_bytes()\nresponse = json.loads(raw)\nif response.get(\"status\") != \"completed\":\n    raise SystemExit(\"Keep the original operation; read its status without resubmitting\")\nresults = response.get(\"results\")\nif not isinstance(results, list) or not results:\n    raise SystemExit(\"Preserve the original response; completed results are missing\")\nPath(\"batch-results.jsonl\").write_text(\"\".join(json.dumps(item, ensure_ascii=False) + \"\\n\" for item in results), encoding=\"utf-8\")\n# Preserve batch-status-response.json with aggregate usage and every result/error.\n",
            "label": "Python · save every completed result",
            "language": "python"
          }
        ],
        "family": "batch",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "batches",
        "hints": [
          "Read your actual request items before submission; inline requests are required.",
          "Keep the returned operation ID and every result. Never replay an unknown submission."
        ],
        "http": "POST",
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Kötegelt feldolgozás",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0.4,
        "output": [
          "text"
        ],
        "path": "/v1/batches",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "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.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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": "0.000025000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.000000025",
                "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": "openai/gpt-4.1-nano:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.025,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.1,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 0.4,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000001",
            "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.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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": "0.000025000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.000000025",
            "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": "openai/gpt-4.1-nano:batch",
        "request_model_id": "openai/gpt-4.1-nano:batch",
        "route_label": "Ultra"
      }
    ],
    "name": "OpenAI: GPT-4.1 Nano (batch)",
    "price": {
      "in": 0.1,
      "in_label": null,
      "out": 0.4,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.1,
      "sort_out": 0.4,
      "varies": true
    },
    "short": "A GPT-4.1 Nano a GPT-4.1 család kompakt, gyorsan reagáló tagja szigorúan meghatározott szöveges és képi feladatokhoz. Nagy kontextusa, Structured Outputs támogatása és függvényhívása osztályozást, adatkinyerést és célzott alkalmazási lépéseket segít."
  },
  "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 GPT-4.1 Nano a GPT-4.1 család kompakt, gyorsan reagáló tagja szigorúan meghatározott szöveges és képi feladatokhoz. Nagy kontextusa, Structured Outputs támogatása és függvényhívása osztályozást, adatkinyerést és célzott alkalmazási lépéseket segít.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "098489e98f7e054d8f4889ea3e6cd82fe5e9119c5a73ae54050c823e6a46f744",
    "renderer_sha256": "59b0e30a0b251f9d98bf0bafcc7ef50440c33057c2bf9c9fadabbcaeefffb5bb"
  },
  "sourceRevision": "53156f1b8e1337f1039d9498d1637d98b2c79b3f3bef229fa4c80e585c9e3ece"
}
