{
  "aboutHtml": "<p>A FLUX.2 [pro] a Black Forest Labs éles felhasználásra összpontosító képgeneráló és -szerkesztő modellje. A gyártó a legtöbb FLUX.2 vizuális feladathoz alapértelmezett választásként mutatja be: készíts új képet szövegből, vagy módosíts jelenetet vizuális referenciákkal. A család képességei között fotórealisztikus anyagok és világítás, olvasható szöveg, pontos színutasítások és kapcsolódó szerkesztéseken át következetes témák szerepelnek. A visszaadott alkotás termékjelenetben, szerkesztőségi kompozícióban, dizájnkoncepcióban vagy vizuális kommunikációban használható kép.</p><h4>Éles felhasználásra szánt leírás előkészítése</h4><p>Indulj a témából, annak cselekvéséből vagy elrendezéséből, a stílusból és a környezetből vagy fényből. A gyártó promptútmutatója nagyobb hangsúlyt ad a korai szavaknak, és a lényegi téma és cselekvés dekoratív részletek elé helyezését ajánlja. Gyors koncepciókhoz 10–30, szokásos projektekhez 30–80 szót javasol, összetett jelenethez hosszabb leírással. Ezek promptírási ajánlások, nem a szövegkontextus korlátai.</p><p>Egy eredeti katalógusleírás melegszürke asztallapon álló szálcsiszolt acéllámpát mutathat háromnegyedes nézetben, hogy a kapcsoló és a búra látható legyen. Add meg a terméket felismerhetővé tevő felületet, világítást és nézőpontot. Infografikánál vagy marketingképnél először véglegesítsd a látható szöveget és hierarchiáját; idézd a pontos címet, jelöld helyét, és nevezd meg a betűk stílusát és méretét. A címkéket, mennyiségeket és termékrészleteket a végleges megjelenítési méretben vizsgáld meg.</p><p>A család útmutatója természetes nyelvű és JSON-struktúrájú promptot is dokumentál. A strukturált jelenetleírás külön mezőben tarthatja a témát, hátteret, fényt és kompozíciót, így egy-egy követelmény világosan módosítható. Hexadecimális színleírást is támogat: a kódot rendeld konkrét tárgyhoz vagy szöveghez. A kívánt megjelenést pozitívan írd le, mert a dokumentált FLUX.2 promptfolyamat nem biztosít negatív promptot.</p><h4>Szerkesztés referenciákkal és közös pixelkerettel</h4><p>A pontos [pro] kérésprofil nyolc referenciaképhelyet kínál; a gyártó interaktív felülete ettől külön tízet támogat. Rendelj minden képhez szerepet, például téma megjelenése, ruházat, termékdizájn, szoba vagy stílus. Meglévő jelenetnél add meg a változtatandó elemet, valamint a megtartandó kompozíciót, környezetet és vizuális részleteket. A közzétett példák bútorkompozitokat, háttér- vagy időjárás-változtatást, tárgycserét és szövegmódosítást tartalmaznak.</p><p>A referenciakapacitás a kimenet méretétől is függ. A gyártó [pro] útmutatója összesen 9 megapixeles keretet határoz meg bemenetre és kimenetre együtt. Példái 1 megapixeles kimenet mellett nyolc, 2 megapixeles mellett hét referenciát engednek, és a nagyobb kért eredmény csökkenti a referenciakapacitást. A forráskészletet és kimenetet együtt tervezd meg, ne tekintsd a maximális helyszámot minden kimeneti méretnél elérhetőnek. A szükséges információt rögzítő referenciákat használd, és nevezd meg tervezett hozzájárulásukat.</p><p>Termékkompozitnál az első kép adhatja a terméket, a második a szobát, a harmadik pedig az anyag kidolgozását. Magyarázd el, hogyan álljanak össze egyetlen összefüggő jelenetté. Ha az eredmény megváltoztatja a megtartandó alakot, jelölést vagy azonosságot, a következő kérésben ezt a problémát célozd a teljes leírás lecserélése helyett. A gyakorlati eredmény a módosított kép, amelyen a referenciahűséget és a konkrét változást a bemenetekhez kell mérni.</p><h4>Promptbővítés, rögzített és előzetes profilok</h4><p>A pontos [pro] specifikáció alapértelmezetten engedélyezi a prompt upsamplinget. A disable_pup vezérlő leállítja ezt a bővítést, ha a gondosan megírt utasítást változatlanul kell használni. Verziók összevetésekor tartsd meg a választott beállítást, mert ugyanaz a rövid koncepció és annak kibővített leírása eltérő generálási bemenet. Ez gyártói profilvezérlő, nem garancia minden kért részlet helyes megjelenésére.</p><p>A dokumentáció a sima [pro] végpontot rögzített pillanatképként különbözteti meg a [pro] Preview-tól, amelybe későbbi modellfejlesztések kerülnek. Kérés- és válaszszerkezetük azonos, mögöttes súlyaik eltérnek. A pontosan kiválasztott profilt őrizd meg a képpel és referenciákkal. Ha a módosítás ugyanazon dokumentált modellválasztástól függ, a külön Preview címke ne helyettesítse észrevétlenül a sima [pro] választást.</p><h4>Méretek, formátumok és a kiválasztott kép</h4><p>A család útmutatója legfeljebb 4 megapixeles kimenetet dokumentál, legalább 64×64-es konkrét mérettel és 16 többszöröseivel. A legtöbb felhasználáshoz legfeljebb 2 megapixelt ajánl. A szélesség és magasság rögzíti a kívánt képkivágást; a négyzetes termékkép, álló elrendezés és széles szerkesztőségi jelenet eltérően osztja fel a teret. A pontos kérés JPEG, PNG és WebP kimenetet sorol fel, alapértelmezetten JPEG-gel és opcionális seeddel.</p><p>A [max] profil külön kereséses megalapozással rendelkezik, a [flex] mintavételi lépéseket és guidance-ot tesz elérhetővé, a [klein] pedig kisebb, négyreferenciás profilt használ. A kiadást a szükséges munka alapján válaszd, e vezérlők [pro]-ba átemelése helyett. A kiválasztott eredményhez őrizd meg a tényleges képet, végső promptot, referenciákat, méreteket és modellcímkét. A gyártó aláírt FLUX.2 eredménylinkjei tíz perc után lejárnak, ezért töltsd le a képet, ne ideiglenes helyére támaszkodj. Ügyfélnek szánt anyagba illesztés előtt ellenőrizd a téma azonosságát, színeket, szöveget, kompozíciót és szerkesztett részleteket.</p>",
  "aboutText": "A FLUX.2 [pro] a Black Forest Labs éles felhasználásra összpontosító képgeneráló és -szerkesztő modellje. A gyártó a legtöbb FLUX.2 vizuális feladathoz alapértelmezett választásként mutatja be: készíts új képet szövegből, vagy módosíts jelenetet vizuális referenciákkal. A család képességei között fotórealisztikus anyagok és világítás, olvasható szöveg, pontos színutasítások és kapcsolódó szerkesztéseken át következetes témák szerepelnek. A visszaadott alkotás termékjelenetben, szerkesztőségi kompozícióban, dizájnkoncepcióban vagy vizuális kommunikációban használható kép.\n\n### Éles felhasználásra szánt leírás előkészítése\n\nIndulj a témából, annak cselekvéséből vagy elrendezéséből, a stílusból és a környezetből vagy fényből. A gyártó promptútmutatója nagyobb hangsúlyt ad a korai szavaknak, és a lényegi téma és cselekvés dekoratív részletek elé helyezését ajánlja. Gyors koncepciókhoz 10–30, szokásos projektekhez 30–80 szót javasol, összetett jelenethez hosszabb leírással. Ezek promptírási ajánlások, nem a szövegkontextus korlátai.\n\nEgy eredeti katalógusleírás melegszürke asztallapon álló szálcsiszolt acéllámpát mutathat háromnegyedes nézetben, hogy a kapcsoló és a búra látható legyen. Add meg a terméket felismerhetővé tevő felületet, világítást és nézőpontot. Infografikánál vagy marketingképnél először véglegesítsd a látható szöveget és hierarchiáját; idézd a pontos címet, jelöld helyét, és nevezd meg a betűk stílusát és méretét. A címkéket, mennyiségeket és termékrészleteket a végleges megjelenítési méretben vizsgáld meg.\n\nA család útmutatója természetes nyelvű és JSON-struktúrájú promptot is dokumentál. A strukturált jelenetleírás külön mezőben tarthatja a témát, hátteret, fényt és kompozíciót, így egy-egy követelmény világosan módosítható. Hexadecimális színleírást is támogat: a kódot rendeld konkrét tárgyhoz vagy szöveghez. A kívánt megjelenést pozitívan írd le, mert a dokumentált FLUX.2 promptfolyamat nem biztosít negatív promptot.\n\n### Szerkesztés referenciákkal és közös pixelkerettel\n\nA pontos [pro] kérésprofil nyolc referenciaképhelyet kínál; a gyártó interaktív felülete ettől külön tízet támogat. Rendelj minden képhez szerepet, például téma megjelenése, ruházat, termékdizájn, szoba vagy stílus. Meglévő jelenetnél add meg a változtatandó elemet, valamint a megtartandó kompozíciót, környezetet és vizuális részleteket. A közzétett példák bútorkompozitokat, háttér- vagy időjárás-változtatást, tárgycserét és szövegmódosítást tartalmaznak.\n\nA referenciakapacitás a kimenet méretétől is függ. A gyártó [pro] útmutatója összesen 9 megapixeles keretet határoz meg bemenetre és kimenetre együtt. Példái 1 megapixeles kimenet mellett nyolc, 2 megapixeles mellett hét referenciát engednek, és a nagyobb kért eredmény csökkenti a referenciakapacitást. A forráskészletet és kimenetet együtt tervezd meg, ne tekintsd a maximális helyszámot minden kimeneti méretnél elérhetőnek. A szükséges információt rögzítő referenciákat használd, és nevezd meg tervezett hozzájárulásukat.\n\nTermékkompozitnál az első kép adhatja a terméket, a második a szobát, a harmadik pedig az anyag kidolgozását. Magyarázd el, hogyan álljanak össze egyetlen összefüggő jelenetté. Ha az eredmény megváltoztatja a megtartandó alakot, jelölést vagy azonosságot, a következő kérésben ezt a problémát célozd a teljes leírás lecserélése helyett. A gyakorlati eredmény a módosított kép, amelyen a referenciahűséget és a konkrét változást a bemenetekhez kell mérni.\n\n### Promptbővítés, rögzített és előzetes profilok\n\nA pontos [pro] specifikáció alapértelmezetten engedélyezi a prompt upsamplinget. A disable_pup vezérlő leállítja ezt a bővítést, ha a gondosan megírt utasítást változatlanul kell használni. Verziók összevetésekor tartsd meg a választott beállítást, mert ugyanaz a rövid koncepció és annak kibővített leírása eltérő generálási bemenet. Ez gyártói profilvezérlő, nem garancia minden kért részlet helyes megjelenésére.\n\nA dokumentáció a sima [pro] végpontot rögzített pillanatképként különbözteti meg a [pro] Preview-tól, amelybe későbbi modellfejlesztések kerülnek. Kérés- és válaszszerkezetük azonos, mögöttes súlyaik eltérnek. A pontosan kiválasztott profilt őrizd meg a képpel és referenciákkal. Ha a módosítás ugyanazon dokumentált modellválasztástól függ, a külön Preview címke ne helyettesítse észrevétlenül a sima [pro] választást.\n\n### Méretek, formátumok és a kiválasztott kép\n\nA család útmutatója legfeljebb 4 megapixeles kimenetet dokumentál, legalább 64×64-es konkrét mérettel és 16 többszöröseivel. A legtöbb felhasználáshoz legfeljebb 2 megapixelt ajánl. A szélesség és magasság rögzíti a kívánt képkivágást; a négyzetes termékkép, álló elrendezés és széles szerkesztőségi jelenet eltérően osztja fel a teret. A pontos kérés JPEG, PNG és WebP kimenetet sorol fel, alapértelmezetten JPEG-gel és opcionális seeddel.\n\nA [max] profil külön kereséses megalapozással rendelkezik, a [flex] mintavételi lépéseket és guidance-ot tesz elérhetővé, a [klein] pedig kisebb, négyreferenciás profilt használ. A kiadást a szükséges munka alapján válaszd, e vezérlők [pro]-ba átemelése helyett. A kiválasztott eredményhez őrizd meg a tényleges képet, végső promptot, referenciákat, méreteket és modellcímkét. A gyártó aláírt FLUX.2 eredménylinkjei tíz perc után lejárnak, ezért töltsd le a képet, ne ideiglenes helyére támaszkodj. Ügyfélnek szánt anyagba illesztés előtt ellenőrizd a téma azonosságát, színeket, szöveget, kompozíciót és szerkesztett részleteket.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "f03e7f5c6925cf2d19ce2b5cf40399e5afce9ce91693917af194678de3a14daa",
    "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\">•</span><h2 id=\"sheet-title\">Black Forest Labs: FLUX.2 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Bezárás\">×</button></div><div class=\"idline\"><span>Black Forest Labs /</span><code>black-forest-labs/flux.2-pro</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|images|/v1/images/generations|black-forest-labs%2Fflux.2-pro\">Képek</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 FLUX.2 [pro] a Black Forest Labs éles munkára szánt képmodellje szöveges alkotáshoz és referenciák vezérelte szerkesztéshez. Dokumentált profilja fotórealisztikus részleteket, szöveg- és színvezérlést egyesít referencia/kimeneti pixelkerettel és legfeljebb 4 megapixeles képekkel.</p><dl class=\"card-io\" data-card-io><div><dt>Elfogadott bemenetek</dt><dd>Szöveg · Képek</dd></div><div><dt>Eredmények</dt><dd>Képek</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 FLUX.2 [pro] a Black Forest Labs éles felhasználásra összpontosító képgeneráló és -szerkesztő modellje. A gyártó a legtöbb FLUX.2 vizuális feladathoz alapértelmezett választásként mutatja be: készíts új képet szövegből, vagy módosíts jelenetet vizuális referenciákkal. A család képességei között fotórealisztikus anyagok és világítás, olvasható szöveg, pontos színutasítások és kapcsolódó szerkesztéseken át következetes témák szerepelnek. A visszaadott alkotás termékjelenetben, szerkesztőségi kompozícióban, dizájnkoncepcióban vagy vizuális kommunikációban használható kép.</p><h4>Éles felhasználásra szánt leírás előkészítése</h4><p>Indulj a témából, annak cselekvéséből vagy elrendezéséből, a stílusból és a környezetből vagy fényből. A gyártó promptútmutatója nagyobb hangsúlyt ad a korai szavaknak, és a lényegi téma és cselekvés dekoratív részletek elé helyezését ajánlja. Gyors koncepciókhoz 10–30, szokásos projektekhez 30–80 szót javasol, összetett jelenethez hosszabb leírással. Ezek promptírási ajánlások, nem a szövegkontextus korlátai.</p><p>Egy eredeti katalógusleírás melegszürke asztallapon álló szálcsiszolt acéllámpát mutathat háromnegyedes nézetben, hogy a kapcsoló és a búra látható legyen. Add meg a terméket felismerhetővé tevő felületet, világítást és nézőpontot. Infografikánál vagy marketingképnél először véglegesítsd a látható szöveget és hierarchiáját; idézd a pontos címet, jelöld helyét, és nevezd meg a betűk stílusát és méretét. A címkéket, mennyiségeket és termékrészleteket a végleges megjelenítési méretben vizsgáld meg.</p><p>A család útmutatója természetes nyelvű és JSON-struktúrájú promptot is dokumentál. A strukturált jelenetleírás külön mezőben tarthatja a témát, hátteret, fényt és kompozíciót, így egy-egy követelmény világosan módosítható. Hexadecimális színleírást is támogat: a kódot rendeld konkrét tárgyhoz vagy szöveghez. A kívánt megjelenést pozitívan írd le, mert a dokumentált FLUX.2 promptfolyamat nem biztosít negatív promptot.</p><h4>Szerkesztés referenciákkal és közös pixelkerettel</h4><p>A pontos [pro] kérésprofil nyolc referenciaképhelyet kínál; a gyártó interaktív felülete ettől külön tízet támogat. Rendelj minden képhez szerepet, például téma megjelenése, ruházat, termékdizájn, szoba vagy stílus. Meglévő jelenetnél add meg a változtatandó elemet, valamint a megtartandó kompozíciót, környezetet és vizuális részleteket. A közzétett példák bútorkompozitokat, háttér- vagy időjárás-változtatást, tárgycserét és szövegmódosítást tartalmaznak.</p><p>A referenciakapacitás a kimenet méretétől is függ. A gyártó [pro] útmutatója összesen 9 megapixeles keretet határoz meg bemenetre és kimenetre együtt. Példái 1 megapixeles kimenet mellett nyolc, 2 megapixeles mellett hét referenciát engednek, és a nagyobb kért eredmény csökkenti a referenciakapacitást. A forráskészletet és kimenetet együtt tervezd meg, ne tekintsd a maximális helyszámot minden kimeneti méretnél elérhetőnek. A szükséges információt rögzítő referenciákat használd, és nevezd meg tervezett hozzájárulásukat.</p><p>Termékkompozitnál az első kép adhatja a terméket, a második a szobát, a harmadik pedig az anyag kidolgozását. Magyarázd el, hogyan álljanak össze egyetlen összefüggő jelenetté. Ha az eredmény megváltoztatja a megtartandó alakot, jelölést vagy azonosságot, a következő kérésben ezt a problémát célozd a teljes leírás lecserélése helyett. A gyakorlati eredmény a módosított kép, amelyen a referenciahűséget és a konkrét változást a bemenetekhez kell mérni.</p><h4>Promptbővítés, rögzített és előzetes profilok</h4><p>A pontos [pro] specifikáció alapértelmezetten engedélyezi a prompt upsamplinget. A disable_pup vezérlő leállítja ezt a bővítést, ha a gondosan megírt utasítást változatlanul kell használni. Verziók összevetésekor tartsd meg a választott beállítást, mert ugyanaz a rövid koncepció és annak kibővített leírása eltérő generálási bemenet. Ez gyártói profilvezérlő, nem garancia minden kért részlet helyes megjelenésére.</p><p>A dokumentáció a sima [pro] végpontot rögzített pillanatképként különbözteti meg a [pro] Preview-tól, amelybe későbbi modellfejlesztések kerülnek. Kérés- és válaszszerkezetük azonos, mögöttes súlyaik eltérnek. A pontosan kiválasztott profilt őrizd meg a képpel és referenciákkal. Ha a módosítás ugyanazon dokumentált modellválasztástól függ, a külön Preview címke ne helyettesítse észrevétlenül a sima [pro] választást.</p><h4>Méretek, formátumok és a kiválasztott kép</h4><p>A család útmutatója legfeljebb 4 megapixeles kimenetet dokumentál, legalább 64×64-es konkrét mérettel és 16 többszöröseivel. A legtöbb felhasználáshoz legfeljebb 2 megapixelt ajánl. A szélesség és magasság rögzíti a kívánt képkivágást; a négyzetes termékkép, álló elrendezés és széles szerkesztőségi jelenet eltérően osztja fel a teret. A pontos kérés JPEG, PNG és WebP kimenetet sorol fel, alapértelmezetten JPEG-gel és opcionális seeddel.</p><p>A [max] profil külön kereséses megalapozással rendelkezik, a [flex] mintavételi lépéseket és guidance-ot tesz elérhetővé, a [klein] pedig kisebb, négyreferenciás profilt használ. A kiadást a szükséges munka alapján válaszd, e vezérlők [pro]-ba átemelése helyett. A kiválasztott eredményhez őrizd meg a tényleges képet, végső promptot, referenciákat, méreteket és modellcímkét. A gyártó aláírt FLUX.2 eredménylinkjei tíz perc után lejárnak, ezért töltsd le a képet, ne ideiglenes helyére támaszkodj. Ügyfélnek szánt anyagba illesztés előtt ellenőrizd a téma azonosságát, színeket, szöveget, kompozíciót és szerkesztett részleteket.</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épek</b> <code>POST /v1/images/generations</code></summary><dl class=\"method-capabilities\"><div><dt>Bemenet</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Kimenet</dt><dd><code>image</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Mező</th><th>Típus</th><th>Követelmény</th><th>Értékek és korlátok</th><th>Alapértelmezett</th></tr></thead><tbody><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>string</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Kötelező</td><td data-cell-label=\"Értékek és korlátok\"><span class=\"card-cell-label\">Értékek és korlátok</span><div>black-forest-labs/flux.2-pro</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">prompt</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>Minimális hossz: 1</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">aspect_ratio</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>1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, auto</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">output_format</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>png, jpeg</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">n</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>integer</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>Minimum: 1</div><div>Maximum: 1</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>array</code></td><td data-cell-label=\"Követelmény\"><span class=\"card-cell-label\">Követelmény</span>Opcionális</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: 0</div><div>Maximális elemszám: 8</div></td><td data-cell-label=\"Alapértelmezett\" data-default=\"unspecified\"><span class=\"card-cell-label\">Alapértelmezett</span>—</td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span><code>object</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></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>model, prompt</td></tr><tr><th data-cell-label=\"Paraméter\" scope=\"row\"><span class=\"card-cell-label\">Paraméter</span><code>material_types</code></th><td data-cell-label=\"Szerződés\"><span class=\"card-cell-label\">Szerződés</span>text, image</td></tr></tbody></table></div><p>Életciklus: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · A ténylegesen visszaadott task_id vagy a médiatár bejegyzése</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Díjcsomagok</h3><div class=\"card-result-process\" data-billing-basis><h5>A végső díj számítása</h5><p class=\"note-s\">A megjelenített díjtételek a generálás előtti költségbecsléshez szolgálnak. A végleges díj az eredeti generáláshoz rögzített költségből számítódik. A kimenet mért időtartama és az előre jelzett mennyiségek nem azonosak a véglegesen elszámolandó mennyiséggel.</p></div><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></dl></div><div data-declared-tariff-pricing><h4>Becsült díjak összehasonlításhoz</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>Előre jelzett mennyiség</th><th>Elszámolási egység</th><th>Díj</th></tr></thead><tbody><tr><th data-cell-label=\"Beállítás\" scope=\"row\"><span class=\"card-cell-label\">Beállítás</span>Tokenek alapdíjai</th><td data-cell-label=\"Díjtáblázat\"><span class=\"card-cell-label\">Díjtáblázat</span>Alapdíj</td><td data-cell-label=\"Előre jelzett mennyiség\"><span class=\"card-cell-label\">Előre jelzett mennyiség</span>—</td><td data-cell-label=\"Elszámolási egység\"><span class=\"card-cell-label\">Elszámolási egység</span>—</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Bemenet · Bemeneti tokenek · Becslés, csak összehasonlításra</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kimenet · Kimeneti tokenek · Becslés, csak összehasonlításra</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Gyorsítótár olvasása · Becslés, csak összehasonlításra</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Írás a gyorsítótárba · Becslés, csak összehasonlításra</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Bemenet · Írás a gyorsítótárba, 1 óra · Becslés, csak összehasonlításra</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>kimeneti kép megapixele</th><td data-cell-label=\"Díjtáblázat\"><span class=\"card-cell-label\">Díjtáblázat</span>—</td><td data-cell-label=\"Előre jelzett mennyiség\"><span class=\"card-cell-label\">Előre jelzett mennyiség</span>—</td><td data-cell-label=\"Elszámolási egység\"><span class=\"card-cell-label\">Elszámolási egység</span>a kimeneti kép minden megapixelje után</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Kimenet · kimeneti kép megapixele · Becslés, csak összehasonlításra</span> <b>$0.06</b> <span class=\"price-unit\">a kimeneti kép minden megapixelje után</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 generálás becsült költsége</th><td data-cell-label=\"Díjtáblázat\"><span class=\"card-cell-label\">Díjtáblázat</span>—</td><td data-cell-label=\"Előre jelzett mennyiség\"><span class=\"card-cell-label\">Előre jelzett mennyiség</span>becslés egy generálásra</td><td data-cell-label=\"Elszámolási egység\"><span class=\"card-cell-label\">Elszámolási egység</span>—</td><td data-cell-label=\"Díj\"><span class=\"card-cell-label\">Díj</span><div><span>Kimenet · Becsült generálási költség · Becslés, csak összehasonlításra</span> <b>$0.06</b> <span class=\"price-unit\">becslés a generálás előtt</span></div><p class=\"note-s\">Ez a becslés nem jelent további díjat, és nem rögzített díjszabás az elkészült generálásra.</p></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épek</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-1105-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1105-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</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-1105-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1105-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np={&#39;model&#39;: &#39;black-forest-labs/flux.2-pro&#39;, &#39;prompt&#39;: &#39;a red panda astronaut floating in space, studio lighting&#39;}\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(&quot;No completed images; retain the full response&quot;)\n    for index, item in enumerate(items):\n        encoded=item.get(&quot;b64_json&quot;)\n        uri=item.get(&quot;url&quot;, &quot;&quot;)\n        if not encoded and uri.startswith(&quot;data:image/&quot;):\n            header, separator, encoded=uri.partition(&quot;,&quot;)\n            if not separator or &quot;;base64&quot; not in header: raise SystemExit(&quot;Unsupported image data URI&quot;)\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(&quot;https://api.ailoot.ai&quot;,uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=&quot;https&quot; or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(&quot;Invalid returned image URL&quot;)\n            owned=parsed.netloc==&quot;api.ailoot.ai&quot; and parsed.path.startswith(&quot;/v1/media/assets/&quot;) and parsed.path.endswith(&quot;/content&quot;)\n            args=[&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,uri]\n            if owned: args += [&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;]]\n            temporary=Path(f&quot;image-{index}.bin&quot;)\n            subprocess.run(args+[&quot;-o&quot;,str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(&quot;Image has neither bytes nor URL&quot;)\n        if not raw: raise SystemExit(&quot;Empty image result&quot;)\n        ext=&quot;png&quot; if raw.startswith(b&quot;\\x89PNG&quot;) else &quot;jpg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;webp&quot; if raw[:4]==b&quot;RIFF&quot; and raw[8:12]==b&quot;WEBP&quot; else &quot;svg&quot; if raw.lstrip().startswith((b&quot;&lt;svg&quot;,b&quot;&lt;?xml&quot;)) else &quot;bin&quot;\n        Path(f&quot;image-{index}.{ext}&quot;).write_bytes(raw)\n    print(&quot;Every returned image saved; complete response metadata retained&quot;)\nsave_images(json.loads(Path(&quot;result.json&quot;).read_text())[&quot;data&quot;])\nPY_RESULT\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épek</h4><p class=\"note-s\">Töltsön le minden visszaadott képet, vagy mentse a Base64-tartalmat</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>További tartalomlekérések</summary><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-1106-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1106-panel-0\" aria-selected=\"true\" tabindex=\"0\">A meglévő, Önhöz tartozó médiafájlok lekérése</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-1106-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1106-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Őrizzen meg minden elkészült eredményt</h5><p class=\"note-s\">Mentsen minden elkészült képet; töltse le az összes visszaadott URL tartalmát, vagy dekódolja a Base64-tartalmat.</p><p class=\"note-s\">Őrizze meg a teljes választ és a fejléceket, minden tényleges kimenetet, az eredetileg visszaadott azonosítókat és az összes használati adatmezőt. Az eredeti műveletet állítsa helyre, a létrehozási kérés újbóli beküldése nélkül.</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 a visszaadott X-Client-Request-ID értéket az egyeztetéshez. Csak a ténylegesen visszaadott task_id/asset_id értékekkel kérdezzen le, vagy használja a saját médiatárat; soha ne állítson össze feladat-URL-t a műveletazonosítóból, és soha ne küldje be újra a létrehozási kérést.</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\">created</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span></td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">data[].url</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span></td></tr><tr><th data-cell-label=\"Mező\" scope=\"row\"><span class=\"card-cell-label\">Mező</span><code class=\"card-field-name\">data[].b64_json</code></th><td data-cell-label=\"Típus\" data-field-type><span class=\"card-cell-label\">Típus</span></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></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=black-forest-labs%2Fflux.2-pro&amp;route=Ultra&amp;caller=black-forest-labs%2Fflux.2-pro&amp;fmt=images\"><code>black-forest-labs/flux.2-pro</code></a></span></p><h4>Metódusútvonalak álnevei</h4><p class=\"note-s\"><code>/v1/images</code></p><h4>Kapcsolódó modellazonosítók</h4><p class=\"note-s\"><a href=\"#m=black-forest-labs%2Fflux.2-pro&amp;route=Ultra&amp;caller=black-forest-labs%2Fflux.2-pro&amp;fmt=images\"><code>black-forest-labs/flux.2-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "black-forest-labs/flux.2-pro",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "black-forest-labs/flux.2-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|black-forest-labs%2Fflux.2-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "A megjelenített díjtételek a generálás előtti költségbecsléshez szolgálnak. A végleges díj az eredeti generáláshoz rögzített költségből számítódik. A kimenet mért időtartama és az előre jelzett mennyiségek nem azonosak a véglegesen elszámolandó mennyiséggel.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Őrizze meg a visszaadott X-Client-Request-ID értéket az egyeztetéshez. Csak a ténylegesen visszaadott task_id/asset_id értékekkel kérdezzen le, vagy használja a saját médiatárat; soha ne állítson össze feladat-URL-t a műveletazonosítóból, és soha ne küldje be újra a létrehozási kérést."
            },
            "outputs": {
              "all_results": "Őrizze meg a teljes választ és a fejléceket, minden tényleges kimenetet, az eredetileg visszaadott azonosítókat és az összes használati adatmezőt. Az eredeti műveletet állítsa helyre, a létrehozási kérés újbóli beküldése nélkül.",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "black-forest-labs/flux.2-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "4:3",
                  "3:4",
                  "3:2",
                  "2:3",
                  "16:9",
                  "9:16",
                  "21:9",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "png",
                  "jpeg"
                ],
                "enum_known": true,
                "name": "output_format",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 8,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:4",
                    "3:2",
                    "2:3",
                    "16:9",
                    "9:16",
                    "21:9",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 8,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "black-forest-labs/flux.2-pro"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "output_format": {
                  "enum": [
                    "png",
                    "jpeg"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "black-forest-labs/flux.2-pro",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "A ténylegesen visszaadott task_id vagy a médiatár bejegyzése",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image megapixel"
            },
            "label": "output image megapixel",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output_megapixel",
                "label": "output image megapixel",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "per output image megapixel",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output_megapixel"
              }
            ]
          },
          {
            "basis": "Ez a becslés nem jelent további díjat, és nem rögzített díjszabás az elkészült generálásra.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "A generálás becsült költsége",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'black-forest-labs/flux.2-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Képek",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "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"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image megapixel"
            },
            "label": "output image megapixel",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output_megapixel",
                "label": "output image megapixel",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "per output image megapixel",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output_megapixel"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "black-forest-labs/flux.2-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.06",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output_megapixel",
            "label": "output image megapixel",
            "native_amount_usd_per_unit": "0.06",
            "native_quantity": 1,
            "public_unit_label": "per output image megapixel",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output_megapixel"
          },
          {
            "amount": "0.06",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.06",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "black-forest-labs/flux.2-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b8d6777185da96809366f539b37117908694e2e45828a6d821503b763cecbc26",
    "input_html_sha256": "43516482a4575c55e4b0a35be5eca7a600c89f81feac24d1999a48f43bd8a04f",
    "private_audit_sha256": "639e18619a36da73075b5df644105d6b0653e880c787e47f0a193922c9cecde7",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/hu/black-forest-labs-flux-2-pro/",
    "description": "A FLUX.2 [pro] a Black Forest Labs éles munkára szánt képmodellje szöveges alkotáshoz és referenciák vezérelte szerkesztéshez. Dokumentált profilja fotórealisztikus részleteket, szöveg- és színvezérlést egyesít referencia/kimeneti pixelkerettel és legfeljebb 4 megapixeles képekkel.",
    "locale": "hu",
    "md_url": "https://ailoot.ai/models/hu/black-forest-labs-flux-2-pro/index.md",
    "title": "Black Forest Labs: FLUX.2 Pro — Ailoot",
    "url": "https://ailoot.ai/models/hu/black-forest-labs-flux-2-pro/"
  },
  "rawModel": {
    "about": "A FLUX.2 [pro] a Black Forest Labs éles felhasználásra összpontosító képgeneráló és -szerkesztő modellje. A gyártó a legtöbb FLUX.2 vizuális feladathoz alapértelmezett választásként mutatja be: készíts új képet szövegből, vagy módosíts jelenetet vizuális referenciákkal. A család képességei között fotórealisztikus anyagok és világítás, olvasható szöveg, pontos színutasítások és kapcsolódó szerkesztéseken át következetes témák szerepelnek. A visszaadott alkotás termékjelenetben, szerkesztőségi kompozícióban, dizájnkoncepcióban vagy vizuális kommunikációban használható kép.\n\n### Éles felhasználásra szánt leírás előkészítése\n\nIndulj a témából, annak cselekvéséből vagy elrendezéséből, a stílusból és a környezetből vagy fényből. A gyártó promptútmutatója nagyobb hangsúlyt ad a korai szavaknak, és a lényegi téma és cselekvés dekoratív részletek elé helyezését ajánlja. Gyors koncepciókhoz 10–30, szokásos projektekhez 30–80 szót javasol, összetett jelenethez hosszabb leírással. Ezek promptírási ajánlások, nem a szövegkontextus korlátai.\n\nEgy eredeti katalógusleírás melegszürke asztallapon álló szálcsiszolt acéllámpát mutathat háromnegyedes nézetben, hogy a kapcsoló és a búra látható legyen. Add meg a terméket felismerhetővé tevő felületet, világítást és nézőpontot. Infografikánál vagy marketingképnél először véglegesítsd a látható szöveget és hierarchiáját; idézd a pontos címet, jelöld helyét, és nevezd meg a betűk stílusát és méretét. A címkéket, mennyiségeket és termékrészleteket a végleges megjelenítési méretben vizsgáld meg.\n\nA család útmutatója természetes nyelvű és JSON-struktúrájú promptot is dokumentál. A strukturált jelenetleírás külön mezőben tarthatja a témát, hátteret, fényt és kompozíciót, így egy-egy követelmény világosan módosítható. Hexadecimális színleírást is támogat: a kódot rendeld konkrét tárgyhoz vagy szöveghez. A kívánt megjelenést pozitívan írd le, mert a dokumentált FLUX.2 promptfolyamat nem biztosít negatív promptot.\n\n### Szerkesztés referenciákkal és közös pixelkerettel\n\nA pontos [pro] kérésprofil nyolc referenciaképhelyet kínál; a gyártó interaktív felülete ettől külön tízet támogat. Rendelj minden képhez szerepet, például téma megjelenése, ruházat, termékdizájn, szoba vagy stílus. Meglévő jelenetnél add meg a változtatandó elemet, valamint a megtartandó kompozíciót, környezetet és vizuális részleteket. A közzétett példák bútorkompozitokat, háttér- vagy időjárás-változtatást, tárgycserét és szövegmódosítást tartalmaznak.\n\nA referenciakapacitás a kimenet méretétől is függ. A gyártó [pro] útmutatója összesen 9 megapixeles keretet határoz meg bemenetre és kimenetre együtt. Példái 1 megapixeles kimenet mellett nyolc, 2 megapixeles mellett hét referenciát engednek, és a nagyobb kért eredmény csökkenti a referenciakapacitást. A forráskészletet és kimenetet együtt tervezd meg, ne tekintsd a maximális helyszámot minden kimeneti méretnél elérhetőnek. A szükséges információt rögzítő referenciákat használd, és nevezd meg tervezett hozzájárulásukat.\n\nTermékkompozitnál az első kép adhatja a terméket, a második a szobát, a harmadik pedig az anyag kidolgozását. Magyarázd el, hogyan álljanak össze egyetlen összefüggő jelenetté. Ha az eredmény megváltoztatja a megtartandó alakot, jelölést vagy azonosságot, a következő kérésben ezt a problémát célozd a teljes leírás lecserélése helyett. A gyakorlati eredmény a módosított kép, amelyen a referenciahűséget és a konkrét változást a bemenetekhez kell mérni.\n\n### Promptbővítés, rögzített és előzetes profilok\n\nA pontos [pro] specifikáció alapértelmezetten engedélyezi a prompt upsamplinget. A disable_pup vezérlő leállítja ezt a bővítést, ha a gondosan megírt utasítást változatlanul kell használni. Verziók összevetésekor tartsd meg a választott beállítást, mert ugyanaz a rövid koncepció és annak kibővített leírása eltérő generálási bemenet. Ez gyártói profilvezérlő, nem garancia minden kért részlet helyes megjelenésére.\n\nA dokumentáció a sima [pro] végpontot rögzített pillanatképként különbözteti meg a [pro] Preview-tól, amelybe későbbi modellfejlesztések kerülnek. Kérés- és válaszszerkezetük azonos, mögöttes súlyaik eltérnek. A pontosan kiválasztott profilt őrizd meg a képpel és referenciákkal. Ha a módosítás ugyanazon dokumentált modellválasztástól függ, a külön Preview címke ne helyettesítse észrevétlenül a sima [pro] választást.\n\n### Méretek, formátumok és a kiválasztott kép\n\nA család útmutatója legfeljebb 4 megapixeles kimenetet dokumentál, legalább 64×64-es konkrét mérettel és 16 többszöröseivel. A legtöbb felhasználáshoz legfeljebb 2 megapixelt ajánl. A szélesség és magasság rögzíti a kívánt képkivágást; a négyzetes termékkép, álló elrendezés és széles szerkesztőségi jelenet eltérően osztja fel a teret. A pontos kérés JPEG, PNG és WebP kimenetet sorol fel, alapértelmezetten JPEG-gel és opcionális seeddel.\n\nA [max] profil külön kereséses megalapozással rendelkezik, a [flex] mintavételi lépéseket és guidance-ot tesz elérhetővé, a [klein] pedig kisebb, négyreferenciás profilt használ. A kiadást a szükséges munka alapján válaszd, e vezérlők [pro]-ba átemelése helyett. A kiválasztott eredményhez őrizd meg a tényleges képet, végső promptot, referenciákat, méreteket és modellcímkét. A gyártó aláírt FLUX.2 eredménylinkjei tíz perc után lejárnak, ezért töltsd le a képet, ne ideiglenes helyére támaszkodj. Ügyfélnek szánt anyagba illesztés előtt ellenőrizd a téma azonosságát, színeket, szöveget, kompozíciót és szerkesztett részleteket.",
    "alias_of": null,
    "aliases": [],
    "author": "Black Forest Labs",
    "capabilities": {
      "context_length": 46864,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "image"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.06",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.06",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "A konfiguráció teljes árazása a részletekben."
      }
    ],
    "ctx": null,
    "formats": [
      "images"
    ],
    "id": "black-forest-labs/flux.2-pro",
    "input": [
      "text",
      "image"
    ],
    "kind": "image",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "A megjelenített díjtételek a generálás előtti költségbecsléshez szolgálnak. A végleges díj az eredeti generáláshoz rögzített költségből számítódik. A kimenet mért időtartama és az előre jelzett mennyiségek nem azonosak a véglegesen elszámolandó mennyiséggel.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Őrizze meg a visszaadott X-Client-Request-ID értéket az egyeztetéshez. Csak a ténylegesen visszaadott task_id/asset_id értékekkel kérdezzen le, vagy használja a saját médiatárat; soha ne állítson össze feladat-URL-t a műveletazonosítóból, és soha ne küldje be újra a létrehozási kérést."
            },
            "outputs": {
              "all_results": "Őrizze meg a teljes választ és a fejléceket, minden tényleges kimenetet, az eredetileg visszaadott azonosítókat és az összes használati adatmezőt. Az eredeti műveletet állítsa helyre, a létrehozási kérés újbóli beküldése nélkül.",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "black-forest-labs/flux.2-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "4:3",
                  "3:4",
                  "3:2",
                  "2:3",
                  "16:9",
                  "9:16",
                  "21:9",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "png",
                  "jpeg"
                ],
                "enum_known": true,
                "name": "output_format",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 8,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:4",
                    "3:2",
                    "2:3",
                    "16:9",
                    "9:16",
                    "21:9",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 8,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "black-forest-labs/flux.2-pro"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "output_format": {
                  "enum": [
                    "png",
                    "jpeg"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "black-forest-labs/flux.2-pro",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "A ténylegesen visszaadott task_id vagy a médiatár bejegyzése",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image megapixel"
            },
            "label": "output image megapixel",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output_megapixel",
                "label": "output image megapixel",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "per output image megapixel",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output_megapixel"
              }
            ]
          },
          {
            "basis": "Ez a becslés nem jelent további díjat, és nem rögzített díjszabás az elkészült generálásra.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "A generálás becsült költsége",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'black-forest-labs/flux.2-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Képek",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "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"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image megapixel"
            },
            "label": "output image megapixel",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output_megapixel",
                "label": "output image megapixel",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "per output image megapixel",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output_megapixel"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.06",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "black-forest-labs/flux.2-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.06",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output_megapixel",
            "label": "output image megapixel",
            "native_amount_usd_per_unit": "0.06",
            "native_quantity": 1,
            "public_unit_label": "per output image megapixel",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output_megapixel"
          },
          {
            "amount": "0.06",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.06",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "black-forest-labs/flux.2-pro",
        "request_model_id": "black-forest-labs/flux.2-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "Black Forest Labs: FLUX.2 Pro",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.06,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.06,
      "varies": false
    },
    "short": "A FLUX.2 [pro] a Black Forest Labs éles munkára szánt képmodellje szöveges alkotáshoz és referenciák vezérelte szerkesztéshez. Dokumentált profilja fotórealisztikus részleteket, szöveg- és színvezérlést egyesít referencia/kimeneti pixelkerettel és legfeljebb 4 megapixeles képekkel."
  },
  "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 FLUX.2 [pro] a Black Forest Labs éles munkára szánt képmodellje szöveges alkotáshoz és referenciák vezérelte szerkesztéshez. Dokumentált profilja fotórealisztikus részleteket, szöveg- és színvezérlést egyesít referencia/kimeneti pixelkerettel és legfeljebb 4 megapixeles képekkel.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "8ade52d86c01af85b5fef1e0dc382fba0bfc8f77a30fcc7c9bd0b4f9aa29a763",
    "renderer_sha256": "59b0e30a0b251f9d98bf0bafcc7ef50440c33057c2bf9c9fadabbcaeefffb5bb"
  },
  "sourceRevision": "3c291c6ce98df3c23922a9bf032c8c01f148de9411ad4a146dfc3b22aa4c71df"
}
