{
  "aboutHtml": "<p>FLUX.2 [pro] je model Black Forest Labs za ustvarjanje in urejanje slik s poudarkom na produkciji. Proizvajalec ga predstavlja kot privzeto izbiro za večino vizualnih nalog FLUX.2: ustvarjanje nove slike iz besedila ali spreminjanje prizora z vizualnimi referencami. Zmožnosti njegove družine vključujejo fotorealistične materiale in osvetlitev, berljivo besedilo, navodila za natančne barve in dosledne motive med povezanimi ureditvami. Vrnjeno gradivo je slika za uporabo v prizoru z izdelkom, uredniški kompoziciji, oblikovni zasnovi ali vizualnem sporočanju.</p><h4>Pripravite produkcijski opis</h4><p>Začnite z motivom, njegovim dejanjem ali razporeditvijo, slogom ter okoljem ali svetlobo. Proizvajalčev vodič za pozive zgodnjim besedam namenja več pozornosti in priporoča, da bistveni motiv in dejanje postavite pred okrasne podrobnosti. Predlaga 10–30 besed za hitre zasnove in 30–80 za običajne projekte, za kompleksne prizore pa daljše opise. Ti razponi so napotki za pisanje pozivov, ne omejitev besedilnega konteksta.</p><p>Izviren kataloški opis lahko pokaže svetilko iz brušenega jekla na toplo sivi mizni površini, s tričetrtinskim pogledom, ki razkrije stikalo in senčnik. Določite površino, osvetlitev in zorni kot, zaradi katerih je izdelek prepoznaven. Pri infografiki ali marketinški sliki najprej določite vidno besedilo in hierarhijo; točen naslov navedite v narekovajih, določite njegovo mesto ter poimenujte slog in velikost črk. Etikete, količine in podrobnosti izdelka preverite pri končni velikosti prikaza.</p><p>Vodič družine dokumentira tako pozive v naravnem jeziku kot strukturirane pozive JSON. Strukturiran opis prizora lahko motiv, ozadje, svetlobo in kompozicijo hrani v ločenih poljih, da je mogoče eno zahtevo jasno spremeniti. Podpira tudi opise šestnajstiških barv: kodo povežite z določenim predmetom ali besedilom, ki naj se obarva. Želeni videz opišite pozitivno, saj dokumentirani postopek pozivov FLUX.2 ne ponuja negativnih pozivov.</p><h4>Urejajte z referencami in skupno omejitvijo pikslov</h4><p>Natančni profil zahteve [pro] ponuja osem mest za referenčne slike; proizvajalčev interaktivni vmesnik ločeno podpira deset. Vsaki sliki dodelite vlogo, denimo videz motiva, oblačila, zasnovo izdelka, sobo ali slog. Pri obstoječem prizoru navedite element za spremembo ter kompozicijo, okolico in vizualne podrobnosti, ki naj ostanejo. Objavljeni primeri vključujejo sestavljanje pohištva v prizor, spremembe ozadja ali vremena, zamenjavo predmetov in spremembe besedila.</p><p>Zmogljivost referenc je odvisna tudi od velikosti izhoda. Proizvajalčev vodič [pro] določa skupno omejitev 9 megapikslov za vhod in izhod. Njegovi primeri dovoljujejo osem referenc pri izhodu 1 megapiksel in sedem pri izhodu 2 megapiksla ter z večanjem zahtevanega rezultata zmanjšujejo zmogljivost referenc. Izvorni nabor in izhod načrtujte skupaj, namesto da bi največje število mest obravnavali kot razpoložljivo pri vsaki velikosti izhoda. Uporabite reference, ki določajo potrebne podatke, in označite njihov predvideni prispevek.</p><p>Pri sestavljeni sliki izdelka lahko prva slika prispeva izdelek, druga sobo, tretja pa določi površinsko obdelavo materiala. Pojasnite, kako naj postanejo en skladen prizor. Če rezultat spremeni obliko, oznako ali identiteto, ki naj ostane, v nadaljnji zahtevi ciljajte to težavo, namesto da zamenjate celoten opis. Praktičen rezultat je spremenjena slika, pri kateri sta zvestoba referencam in določena sprememba primerjani z vhodi.</p><h4>Razširitev poziva ter stalni in predogledni profili</h4><p>Natančna specifikacija [pro] privzeto omogoča razširitev poziva. Nadzor disable_pup to razširitev ustavi, kadar naj se skrbno napisano navodilo uporabi, kot je priloženo. Pri primerjanju različic ohranite izbrano nastavitev, saj sta ista kratka zasnova in razširjen opis različna generativna vhoda. To je možnost proizvajalčevega profila, ne jamstvo, da se vsaka zahtevana podrobnost pojavi pravilno.</p><p>Dokumentacija razlikuje navadno končno točko [pro] kot stalen posnetek od [pro] Preview, v katero se uvajajo poznejše izboljšave modela. Oblike njunih zahtev in odgovorov so enake, osnovne uteži pa se razlikujejo. Natančno izbrani profil hranite s sliko in referencami. Ločena oznaka Preview ne sme tiho nadomestiti izbire navadnega [pro], kadar je sprememba odvisna od iste dokumentirane izbire modela.</p><h4>Mere, formati in izbrano gradivo</h4><p>Vodič družine dokumentira izhod do 4 megapikslov, z izrecnimi merami vsaj 64×64 in večkratniki 16. Za večino primerov uporabe priporoča do 2 megapiksla. Širina in višina določata predvideno kadriranje; kvadratna slika izdelka, pokončna postavitev in širok uredniški prizor prostor razporejajo različno. Natančna zahteva navaja izhod JPEG, PNG in WebP, privzeto JPEG, ter neobvezno seme.</p><p>Profil [max] ima ločeno možnost iskanja za navezavo na dejanske podatke, [flex] omogoča korake vzorčenja in vodenje, [klein] pa manjši profil s štirimi referencami. Različico izberite glede na zahtevano delo, namesto da te možnosti uvozite v [pro]. Pri izbranem gradivu shranite dejansko sliko, končni poziv, reference, mere in oznako modela. Proizvajalčeve podpisane povezave rezultatov FLUX.2 potečejo po desetih minutah, zato sliko pridobite, namesto da bi se zanašali na začasno lokacijo. Pred umestitvijo rezultata v gradivo za stranke preverite identiteto motiva, barve, besedilo, kompozicijo in urejene podrobnosti.</p>",
  "aboutText": "FLUX.2 [pro] je model Black Forest Labs za ustvarjanje in urejanje slik s poudarkom na produkciji. Proizvajalec ga predstavlja kot privzeto izbiro za večino vizualnih nalog FLUX.2: ustvarjanje nove slike iz besedila ali spreminjanje prizora z vizualnimi referencami. Zmožnosti njegove družine vključujejo fotorealistične materiale in osvetlitev, berljivo besedilo, navodila za natančne barve in dosledne motive med povezanimi ureditvami. Vrnjeno gradivo je slika za uporabo v prizoru z izdelkom, uredniški kompoziciji, oblikovni zasnovi ali vizualnem sporočanju.\n\n### Pripravite produkcijski opis\n\nZačnite z motivom, njegovim dejanjem ali razporeditvijo, slogom ter okoljem ali svetlobo. Proizvajalčev vodič za pozive zgodnjim besedam namenja več pozornosti in priporoča, da bistveni motiv in dejanje postavite pred okrasne podrobnosti. Predlaga 10–30 besed za hitre zasnove in 30–80 za običajne projekte, za kompleksne prizore pa daljše opise. Ti razponi so napotki za pisanje pozivov, ne omejitev besedilnega konteksta.\n\nIzviren kataloški opis lahko pokaže svetilko iz brušenega jekla na toplo sivi mizni površini, s tričetrtinskim pogledom, ki razkrije stikalo in senčnik. Določite površino, osvetlitev in zorni kot, zaradi katerih je izdelek prepoznaven. Pri infografiki ali marketinški sliki najprej določite vidno besedilo in hierarhijo; točen naslov navedite v narekovajih, določite njegovo mesto ter poimenujte slog in velikost črk. Etikete, količine in podrobnosti izdelka preverite pri končni velikosti prikaza.\n\nVodič družine dokumentira tako pozive v naravnem jeziku kot strukturirane pozive JSON. Strukturiran opis prizora lahko motiv, ozadje, svetlobo in kompozicijo hrani v ločenih poljih, da je mogoče eno zahtevo jasno spremeniti. Podpira tudi opise šestnajstiških barv: kodo povežite z določenim predmetom ali besedilom, ki naj se obarva. Želeni videz opišite pozitivno, saj dokumentirani postopek pozivov FLUX.2 ne ponuja negativnih pozivov.\n\n### Urejajte z referencami in skupno omejitvijo pikslov\n\nNatančni profil zahteve [pro] ponuja osem mest za referenčne slike; proizvajalčev interaktivni vmesnik ločeno podpira deset. Vsaki sliki dodelite vlogo, denimo videz motiva, oblačila, zasnovo izdelka, sobo ali slog. Pri obstoječem prizoru navedite element za spremembo ter kompozicijo, okolico in vizualne podrobnosti, ki naj ostanejo. Objavljeni primeri vključujejo sestavljanje pohištva v prizor, spremembe ozadja ali vremena, zamenjavo predmetov in spremembe besedila.\n\nZmogljivost referenc je odvisna tudi od velikosti izhoda. Proizvajalčev vodič [pro] določa skupno omejitev 9 megapikslov za vhod in izhod. Njegovi primeri dovoljujejo osem referenc pri izhodu 1 megapiksel in sedem pri izhodu 2 megapiksla ter z večanjem zahtevanega rezultata zmanjšujejo zmogljivost referenc. Izvorni nabor in izhod načrtujte skupaj, namesto da bi največje število mest obravnavali kot razpoložljivo pri vsaki velikosti izhoda. Uporabite reference, ki določajo potrebne podatke, in označite njihov predvideni prispevek.\n\nPri sestavljeni sliki izdelka lahko prva slika prispeva izdelek, druga sobo, tretja pa določi površinsko obdelavo materiala. Pojasnite, kako naj postanejo en skladen prizor. Če rezultat spremeni obliko, oznako ali identiteto, ki naj ostane, v nadaljnji zahtevi ciljajte to težavo, namesto da zamenjate celoten opis. Praktičen rezultat je spremenjena slika, pri kateri sta zvestoba referencam in določena sprememba primerjani z vhodi.\n\n### Razširitev poziva ter stalni in predogledni profili\n\nNatančna specifikacija [pro] privzeto omogoča razširitev poziva. Nadzor disable_pup to razširitev ustavi, kadar naj se skrbno napisano navodilo uporabi, kot je priloženo. Pri primerjanju različic ohranite izbrano nastavitev, saj sta ista kratka zasnova in razširjen opis različna generativna vhoda. To je možnost proizvajalčevega profila, ne jamstvo, da se vsaka zahtevana podrobnost pojavi pravilno.\n\nDokumentacija razlikuje navadno končno točko [pro] kot stalen posnetek od [pro] Preview, v katero se uvajajo poznejše izboljšave modela. Oblike njunih zahtev in odgovorov so enake, osnovne uteži pa se razlikujejo. Natančno izbrani profil hranite s sliko in referencami. Ločena oznaka Preview ne sme tiho nadomestiti izbire navadnega [pro], kadar je sprememba odvisna od iste dokumentirane izbire modela.\n\n### Mere, formati in izbrano gradivo\n\nVodič družine dokumentira izhod do 4 megapikslov, z izrecnimi merami vsaj 64×64 in večkratniki 16. Za večino primerov uporabe priporoča do 2 megapiksla. Širina in višina določata predvideno kadriranje; kvadratna slika izdelka, pokončna postavitev in širok uredniški prizor prostor razporejajo različno. Natančna zahteva navaja izhod JPEG, PNG in WebP, privzeto JPEG, ter neobvezno seme.\n\nProfil [max] ima ločeno možnost iskanja za navezavo na dejanske podatke, [flex] omogoča korake vzorčenja in vodenje, [klein] pa manjši profil s štirimi referencami. Različico izberite glede na zahtevano delo, namesto da te možnosti uvozite v [pro]. Pri izbranem gradivu shranite dejansko sliko, končni poziv, reference, mere in oznako modela. Proizvajalčeve podpisane povezave rezultatov FLUX.2 potečejo po desetih minutah, zato sliko pridobite, namesto da bi se zanašali na začasno lokacijo. Pred umestitvijo rezultata v gradivo za stranke preverite identiteto motiva, barve, besedilo, kompozicijo in urejene podrobnosti.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "8a50b83430d994857d3aae5234a9bcb259ae54dcc85648513e3a14ec419ec791",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "sl",
  "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=\"Zapri\">×</button></div><div class=\"idline\"><span>Black Forest Labs /</span><code>black-forest-labs/flux.2-pro</code><button type=\"button\" id=\"copy-id\">Kopiraj ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Razdelki kartice modela\"><button type=\"button\" data-card-jump=\"overview\">Začetek</button><button type=\"button\" data-card-jump=\"methods\">Vhodi in metode</button><button type=\"button\" data-card-jump=\"pricing\">Cenik</button><button type=\"button\" data-card-jump=\"examples\">Primeri</button><button type=\"button\" data-card-jump=\"results\">Rezultati</button><button type=\"button\" data-card-jump=\"aliases\">Druga imena</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Metode API\"><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\">Slike</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\">Začetek</h3><p class=\"mdesc-full\">FLUX.2 [pro] je produkcijski slikovni model Black Forest Labs za ustvarjanje na podlagi besedila in urejanje z referencami. Njegov dokumentirani profil združuje fotorealistične podrobnosti, nadzor besedila in barv ter skupno omejitev pikslov referenc in izhoda, s slikami do 4 megapikslov.</p><dl class=\"card-io\" data-card-io><div><dt>Dovoljeni vhodi</dt><dd>Besedilo · Slike</dd></div><div><dt>Rezultati</dt><dd>Slike</dd></div></dl><details class=\"card-about\"><summary>O modelu</summary><p class=\"note-s\" data-model-method-boundary>Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.</p><div class=\"mabout\" id=\"m-about\"><p>FLUX.2 [pro] je model Black Forest Labs za ustvarjanje in urejanje slik s poudarkom na produkciji. Proizvajalec ga predstavlja kot privzeto izbiro za večino vizualnih nalog FLUX.2: ustvarjanje nove slike iz besedila ali spreminjanje prizora z vizualnimi referencami. Zmožnosti njegove družine vključujejo fotorealistične materiale in osvetlitev, berljivo besedilo, navodila za natančne barve in dosledne motive med povezanimi ureditvami. Vrnjeno gradivo je slika za uporabo v prizoru z izdelkom, uredniški kompoziciji, oblikovni zasnovi ali vizualnem sporočanju.</p><h4>Pripravite produkcijski opis</h4><p>Začnite z motivom, njegovim dejanjem ali razporeditvijo, slogom ter okoljem ali svetlobo. Proizvajalčev vodič za pozive zgodnjim besedam namenja več pozornosti in priporoča, da bistveni motiv in dejanje postavite pred okrasne podrobnosti. Predlaga 10–30 besed za hitre zasnove in 30–80 za običajne projekte, za kompleksne prizore pa daljše opise. Ti razponi so napotki za pisanje pozivov, ne omejitev besedilnega konteksta.</p><p>Izviren kataloški opis lahko pokaže svetilko iz brušenega jekla na toplo sivi mizni površini, s tričetrtinskim pogledom, ki razkrije stikalo in senčnik. Določite površino, osvetlitev in zorni kot, zaradi katerih je izdelek prepoznaven. Pri infografiki ali marketinški sliki najprej določite vidno besedilo in hierarhijo; točen naslov navedite v narekovajih, določite njegovo mesto ter poimenujte slog in velikost črk. Etikete, količine in podrobnosti izdelka preverite pri končni velikosti prikaza.</p><p>Vodič družine dokumentira tako pozive v naravnem jeziku kot strukturirane pozive JSON. Strukturiran opis prizora lahko motiv, ozadje, svetlobo in kompozicijo hrani v ločenih poljih, da je mogoče eno zahtevo jasno spremeniti. Podpira tudi opise šestnajstiških barv: kodo povežite z določenim predmetom ali besedilom, ki naj se obarva. Želeni videz opišite pozitivno, saj dokumentirani postopek pozivov FLUX.2 ne ponuja negativnih pozivov.</p><h4>Urejajte z referencami in skupno omejitvijo pikslov</h4><p>Natančni profil zahteve [pro] ponuja osem mest za referenčne slike; proizvajalčev interaktivni vmesnik ločeno podpira deset. Vsaki sliki dodelite vlogo, denimo videz motiva, oblačila, zasnovo izdelka, sobo ali slog. Pri obstoječem prizoru navedite element za spremembo ter kompozicijo, okolico in vizualne podrobnosti, ki naj ostanejo. Objavljeni primeri vključujejo sestavljanje pohištva v prizor, spremembe ozadja ali vremena, zamenjavo predmetov in spremembe besedila.</p><p>Zmogljivost referenc je odvisna tudi od velikosti izhoda. Proizvajalčev vodič [pro] določa skupno omejitev 9 megapikslov za vhod in izhod. Njegovi primeri dovoljujejo osem referenc pri izhodu 1 megapiksel in sedem pri izhodu 2 megapiksla ter z večanjem zahtevanega rezultata zmanjšujejo zmogljivost referenc. Izvorni nabor in izhod načrtujte skupaj, namesto da bi največje število mest obravnavali kot razpoložljivo pri vsaki velikosti izhoda. Uporabite reference, ki določajo potrebne podatke, in označite njihov predvideni prispevek.</p><p>Pri sestavljeni sliki izdelka lahko prva slika prispeva izdelek, druga sobo, tretja pa določi površinsko obdelavo materiala. Pojasnite, kako naj postanejo en skladen prizor. Če rezultat spremeni obliko, oznako ali identiteto, ki naj ostane, v nadaljnji zahtevi ciljajte to težavo, namesto da zamenjate celoten opis. Praktičen rezultat je spremenjena slika, pri kateri sta zvestoba referencam in določena sprememba primerjani z vhodi.</p><h4>Razširitev poziva ter stalni in predogledni profili</h4><p>Natančna specifikacija [pro] privzeto omogoča razširitev poziva. Nadzor disable_pup to razširitev ustavi, kadar naj se skrbno napisano navodilo uporabi, kot je priloženo. Pri primerjanju različic ohranite izbrano nastavitev, saj sta ista kratka zasnova in razširjen opis različna generativna vhoda. To je možnost proizvajalčevega profila, ne jamstvo, da se vsaka zahtevana podrobnost pojavi pravilno.</p><p>Dokumentacija razlikuje navadno končno točko [pro] kot stalen posnetek od [pro] Preview, v katero se uvajajo poznejše izboljšave modela. Oblike njunih zahtev in odgovorov so enake, osnovne uteži pa se razlikujejo. Natančno izbrani profil hranite s sliko in referencami. Ločena oznaka Preview ne sme tiho nadomestiti izbire navadnega [pro], kadar je sprememba odvisna od iste dokumentirane izbire modela.</p><h4>Mere, formati in izbrano gradivo</h4><p>Vodič družine dokumentira izhod do 4 megapikslov, z izrecnimi merami vsaj 64×64 in večkratniki 16. Za večino primerov uporabe priporoča do 2 megapiksla. Širina in višina določata predvideno kadriranje; kvadratna slika izdelka, pokončna postavitev in širok uredniški prizor prostor razporejajo različno. Natančna zahteva navaja izhod JPEG, PNG in WebP, privzeto JPEG, ter neobvezno seme.</p><p>Profil [max] ima ločeno možnost iskanja za navezavo na dejanske podatke, [flex] omogoča korake vzorčenja in vodenje, [klein] pa manjši profil s štirimi referencami. Različico izberite glede na zahtevano delo, namesto da te možnosti uvozite v [pro]. Pri izbranem gradivu shranite dejansko sliko, končni poziv, reference, mere in oznako modela. Proizvajalčeve podpisane povezave rezultatov FLUX.2 potečejo po desetih minutah, zato sliko pridobite, namesto da bi se zanašali na začasno lokacijo. Pred umestitvijo rezultata v gradivo za stranke preverite identiteto motiva, barve, besedilo, kompozicijo in urejene podrobnosti.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Na voljo v Ailoot · vhodi in metode</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Slike</b> <code>POST /v1/images/generations</code></summary><dl class=\"method-capabilities\"><div><dt>Vhod</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Izhod</dt><dd><code>image</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Polje</th><th>Vrsta</th><th>Zahteva</th><th>Vrednosti in omejitve</th><th>Privzeto</th></tr></thead><tbody><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Obvezno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>black-forest-labs/flux.2-pro</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Obvezno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Najmanjša dolžina: 1</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</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=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">output_format</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>string</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>png, jpeg</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">n</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>integer</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Najmanj: 1</div><div>Največ: 1</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>array</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span><div>Najmanjše število elementov: 0</div><div>Največ elementov: 8</div></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span><code>object</code></td><td data-cell-label=\"Zahteva\"><span class=\"card-cell-label\">Zahteva</span>Izbirno</td><td data-cell-label=\"Vrednosti in omejitve\"><span class=\"card-cell-label\">Vrednosti in omejitve</span></td><td data-cell-label=\"Privzeto\" data-default=\"unspecified\"><span class=\"card-cell-label\">Privzeto</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parametri in življenjski cikel metode</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Specifikacija</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>model, prompt</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Specifikacija\"><span class=\"card-cell-label\">Specifikacija</span>text, image</td></tr></tbody></table></div><p>Življenjski cikel: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Dejansko vrnjeni task_id ali zapis v medijski knjižnici</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\">Cenik</h3><div class=\"card-result-process\" data-billing-basis><h5>Kako se izračuna končni strošek</h5><p class=\"note-s\">Prikazane cene so namenjene oceni stroškov pred generiranjem. Končni znesek se izračuna na podlagi stroška, zabeleženega za izvirno generiranje. Izmerjeno trajanje izhoda in napovedane količine niso končna obračunska količina.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.</p><dl data-price-conditions><dt>Hitri način</dt><dd>Ni navedeno <span class=\"note-s\">Ko je izbran hitri način</span></dd><dt>Način flex</dt><dd>Ni navedeno <span class=\"note-s\">Ko je izbran način flex</span></dd><dt>Najvišja raven razmišljanja</dt><dd>Ni navedeno <span class=\"note-s\">Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ocenjene cene za primerjavo</h4><h4>Cene po nastavitvah</h4><p class=\"note-s\">Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Nastavitev</th><th>Cenovna lestvica</th><th>Predvidena količina</th><th>Obračunska enota</th><th>Strošek</th></tr></thead><tbody><tr><th data-cell-label=\"Nastavitev\" scope=\"row\"><span class=\"card-cell-label\">Nastavitev</span>Osnovne cene žetonov</th><td data-cell-label=\"Cenovna lestvica\"><span class=\"card-cell-label\">Cenovna lestvica</span>Osnovna cena</td><td data-cell-label=\"Predvidena količina\"><span class=\"card-cell-label\">Predvidena količina</span>—</td><td data-cell-label=\"Obračunska enota\"><span class=\"card-cell-label\">Obračunska enota</span>—</td><td data-cell-label=\"Strošek\"><span class=\"card-cell-label\">Strošek</span><div><span>Vhod · Vhodni žetoni · Ocena samo za primerjavo</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Izhod · Izhodni žetoni · Ocena samo za primerjavo</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Vhod · Branje predpomnilnika · Ocena samo za primerjavo</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Vhod · Zapis v predpomnilnik · Ocena samo za primerjavo</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div><div><span>Vhod · Zapis v predpomnilnik, 1 ura · Ocena samo za primerjavo</span> <b>—</b> <span class=\"price-unit\">/ 1K žetonov</span></div></td></tr><tr><th data-cell-label=\"Nastavitev\" scope=\"row\"><span class=\"card-cell-label\">Nastavitev</span>megapiksel izhodne slike</th><td data-cell-label=\"Cenovna lestvica\"><span class=\"card-cell-label\">Cenovna lestvica</span>—</td><td data-cell-label=\"Predvidena količina\"><span class=\"card-cell-label\">Predvidena količina</span>—</td><td data-cell-label=\"Obračunska enota\"><span class=\"card-cell-label\">Obračunska enota</span>na megapiksel izhodne slike</td><td data-cell-label=\"Strošek\"><span class=\"card-cell-label\">Strošek</span><div><span>Izhod · megapiksel izhodne slike · Ocena samo za primerjavo</span> <b>$0.06</b> <span class=\"price-unit\">na megapiksel izhodne slike</span></div></td></tr><tr><th data-cell-label=\"Nastavitev\" scope=\"row\"><span class=\"card-cell-label\">Nastavitev</span>Ocenjeni strošek ustvarjanja</th><td data-cell-label=\"Cenovna lestvica\"><span class=\"card-cell-label\">Cenovna lestvica</span>—</td><td data-cell-label=\"Predvidena količina\"><span class=\"card-cell-label\">Predvidena količina</span>ocena za eno generiranje</td><td data-cell-label=\"Obračunska enota\"><span class=\"card-cell-label\">Obračunska enota</span>—</td><td data-cell-label=\"Strošek\"><span class=\"card-cell-label\">Strošek</span><div><span>Izhod · Ocenjeni stroški ustvarjanja · Ocena samo za primerjavo</span> <b>$0.06</b> <span class=\"price-unit\">ocena pred ustvarjanjem</span></div><p class=\"note-s\">Ta ocena ni dodatno plačilo ali fiksna cena za dokončano generiranje.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. <a href=\"/docs/sl/billing/reserve/\">Kako delujeta rezervacija in obračun →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Primeri zahtev</h3><h4>Ailoot Ultra · Slike</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Primeri kode\"><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=\"Kopiraj kodo\"><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\">Prejmi in shrani rezultate</h3><h4>Ailoot Ultra · Slike</h4><p class=\"note-s\">Prenesite vsako vrnjeno sliko ali shranite njeno vsebino Base64</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>Branje druge vsebine</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Primeri kode\"><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\">Preberi obstoječa gradiva, ki vam pripadajo</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiraj kodo\"><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>Ohrani vse dokončane rezultate</h5><p class=\"note-s\">Shranite vsako dokončano sliko; pridobite vsebino z vsake vrnjene URL ali dekodirajte njeno vsebino Base64.</p><p class=\"note-s\">Shranite celoten odgovor in glave, vse dejanske izhode, izvirne vrnjene identifikatorje in vsa polja s podatki o porabi. Pridobite podatke izvirne operacije brez ponovnega pošiljanja zahteve za ustvarjanje.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Če je treba preveriti izvirni odgovor</h5><p class=\"note-s\">Shranite vrnjeni X-Client-Request-ID za uskladitev evidenc. Berite samo dejansko vrnjene vrednosti task_id/asset_id ali svojo medijsko knjižnico; iz ID operacije nikoli ne sestavite URL opravila in zahteve za ustvarjanje nikoli ne pošljite znova.</p></div><details class=\"card-about\" data-output-fields><summary>Polja odgovora</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Polje</th><th>Vrsta</th></tr></thead><tbody><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">created</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span></td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">data[].url</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span></td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">data[].b64_json</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span></td></tr><tr><th data-cell-label=\"Polje\" scope=\"row\"><span class=\"card-cell-label\">Polje</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Vrsta\" data-field-type><span class=\"card-cell-label\">Vrsta</span></td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Druga imena</h3><h4>Druga imena modelov</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>Druga imena poti metod</h4><p class=\"note-s\"><code>/v1/images</code></p><h4>Povezani ID-ji za klic</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": "Prikazane cene so namenjene oceni stroškov pred generiranjem. Končni znesek se izračuna na podlagi stroška, zabeleženega za izvirno generiranje. Izmerjeno trajanje izhoda in napovedane količine niso končna obračunska količina.",
          "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": "Shranite vrnjeni X-Client-Request-ID za uskladitev evidenc. Berite samo dejansko vrnjene vrednosti task_id/asset_id ali svojo medijsko knjižnico; iz ID operacije nikoli ne sestavite URL opravila in zahteve za ustvarjanje nikoli ne pošljite znova."
            },
            "outputs": {
              "all_results": "Shranite celoten odgovor in glave, vse dejanske izhode, izvirne vrnjene identifikatorje in vsa polja s podatki o porabi. Pridobite podatke izvirne operacije brez ponovnega pošiljanja zahteve za ustvarjanje.",
              "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": "Dejansko vrnjeni task_id ali zapis v medijski knjižnici",
                "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": "Ta ocena ni dodatno plačilo ali fiksna cena za dokončano generiranje.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Ocenjeni strošek ustvarjanja",
            "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": "Slike",
        "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": "22e7655f148ee3fd4f7f6db01901085086150f62454bef36f49ffa14331abb5a",
    "input_html_sha256": "cc4b4410ac656b20045519292a6c957975f71ec40dc929a39d90d09108aaccf5",
    "private_audit_sha256": "3856eb0ea31dc2261c77406a20357e1bb7ebb34801e8461154bef629c5dde4c2",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sl/black-forest-labs-flux-2-pro/",
    "description": "FLUX.2 [pro] je produkcijski slikovni model Black Forest Labs za ustvarjanje na podlagi besedila in urejanje z referencami. Njegov dokumentirani profil združuje fotorealistične podrobnosti, nadzor besedila in barv ter skupno omejitev pikslov referenc in izhoda, s slikami do 4 megapikslov.",
    "locale": "sl",
    "md_url": "https://ailoot.ai/models/sl/black-forest-labs-flux-2-pro/index.md",
    "title": "Black Forest Labs: FLUX.2 Pro — Ailoot",
    "url": "https://ailoot.ai/models/sl/black-forest-labs-flux-2-pro/"
  },
  "rawModel": {
    "about": "FLUX.2 [pro] je model Black Forest Labs za ustvarjanje in urejanje slik s poudarkom na produkciji. Proizvajalec ga predstavlja kot privzeto izbiro za večino vizualnih nalog FLUX.2: ustvarjanje nove slike iz besedila ali spreminjanje prizora z vizualnimi referencami. Zmožnosti njegove družine vključujejo fotorealistične materiale in osvetlitev, berljivo besedilo, navodila za natančne barve in dosledne motive med povezanimi ureditvami. Vrnjeno gradivo je slika za uporabo v prizoru z izdelkom, uredniški kompoziciji, oblikovni zasnovi ali vizualnem sporočanju.\n\n### Pripravite produkcijski opis\n\nZačnite z motivom, njegovim dejanjem ali razporeditvijo, slogom ter okoljem ali svetlobo. Proizvajalčev vodič za pozive zgodnjim besedam namenja več pozornosti in priporoča, da bistveni motiv in dejanje postavite pred okrasne podrobnosti. Predlaga 10–30 besed za hitre zasnove in 30–80 za običajne projekte, za kompleksne prizore pa daljše opise. Ti razponi so napotki za pisanje pozivov, ne omejitev besedilnega konteksta.\n\nIzviren kataloški opis lahko pokaže svetilko iz brušenega jekla na toplo sivi mizni površini, s tričetrtinskim pogledom, ki razkrije stikalo in senčnik. Določite površino, osvetlitev in zorni kot, zaradi katerih je izdelek prepoznaven. Pri infografiki ali marketinški sliki najprej določite vidno besedilo in hierarhijo; točen naslov navedite v narekovajih, določite njegovo mesto ter poimenujte slog in velikost črk. Etikete, količine in podrobnosti izdelka preverite pri končni velikosti prikaza.\n\nVodič družine dokumentira tako pozive v naravnem jeziku kot strukturirane pozive JSON. Strukturiran opis prizora lahko motiv, ozadje, svetlobo in kompozicijo hrani v ločenih poljih, da je mogoče eno zahtevo jasno spremeniti. Podpira tudi opise šestnajstiških barv: kodo povežite z določenim predmetom ali besedilom, ki naj se obarva. Želeni videz opišite pozitivno, saj dokumentirani postopek pozivov FLUX.2 ne ponuja negativnih pozivov.\n\n### Urejajte z referencami in skupno omejitvijo pikslov\n\nNatančni profil zahteve [pro] ponuja osem mest za referenčne slike; proizvajalčev interaktivni vmesnik ločeno podpira deset. Vsaki sliki dodelite vlogo, denimo videz motiva, oblačila, zasnovo izdelka, sobo ali slog. Pri obstoječem prizoru navedite element za spremembo ter kompozicijo, okolico in vizualne podrobnosti, ki naj ostanejo. Objavljeni primeri vključujejo sestavljanje pohištva v prizor, spremembe ozadja ali vremena, zamenjavo predmetov in spremembe besedila.\n\nZmogljivost referenc je odvisna tudi od velikosti izhoda. Proizvajalčev vodič [pro] določa skupno omejitev 9 megapikslov za vhod in izhod. Njegovi primeri dovoljujejo osem referenc pri izhodu 1 megapiksel in sedem pri izhodu 2 megapiksla ter z večanjem zahtevanega rezultata zmanjšujejo zmogljivost referenc. Izvorni nabor in izhod načrtujte skupaj, namesto da bi največje število mest obravnavali kot razpoložljivo pri vsaki velikosti izhoda. Uporabite reference, ki določajo potrebne podatke, in označite njihov predvideni prispevek.\n\nPri sestavljeni sliki izdelka lahko prva slika prispeva izdelek, druga sobo, tretja pa določi površinsko obdelavo materiala. Pojasnite, kako naj postanejo en skladen prizor. Če rezultat spremeni obliko, oznako ali identiteto, ki naj ostane, v nadaljnji zahtevi ciljajte to težavo, namesto da zamenjate celoten opis. Praktičen rezultat je spremenjena slika, pri kateri sta zvestoba referencam in določena sprememba primerjani z vhodi.\n\n### Razširitev poziva ter stalni in predogledni profili\n\nNatančna specifikacija [pro] privzeto omogoča razširitev poziva. Nadzor disable_pup to razširitev ustavi, kadar naj se skrbno napisano navodilo uporabi, kot je priloženo. Pri primerjanju različic ohranite izbrano nastavitev, saj sta ista kratka zasnova in razširjen opis različna generativna vhoda. To je možnost proizvajalčevega profila, ne jamstvo, da se vsaka zahtevana podrobnost pojavi pravilno.\n\nDokumentacija razlikuje navadno končno točko [pro] kot stalen posnetek od [pro] Preview, v katero se uvajajo poznejše izboljšave modela. Oblike njunih zahtev in odgovorov so enake, osnovne uteži pa se razlikujejo. Natančno izbrani profil hranite s sliko in referencami. Ločena oznaka Preview ne sme tiho nadomestiti izbire navadnega [pro], kadar je sprememba odvisna od iste dokumentirane izbire modela.\n\n### Mere, formati in izbrano gradivo\n\nVodič družine dokumentira izhod do 4 megapikslov, z izrecnimi merami vsaj 64×64 in večkratniki 16. Za večino primerov uporabe priporoča do 2 megapiksla. Širina in višina določata predvideno kadriranje; kvadratna slika izdelka, pokončna postavitev in širok uredniški prizor prostor razporejajo različno. Natančna zahteva navaja izhod JPEG, PNG in WebP, privzeto JPEG, ter neobvezno seme.\n\nProfil [max] ima ločeno možnost iskanja za navezavo na dejanske podatke, [flex] omogoča korake vzorčenja in vodenje, [klein] pa manjši profil s štirimi referencami. Različico izberite glede na zahtevano delo, namesto da te možnosti uvozite v [pro]. Pri izbranem gradivu shranite dejansko sliko, končni poziv, reference, mere in oznako modela. Proizvajalčeve podpisane povezave rezultatov FLUX.2 potečejo po desetih minutah, zato sliko pridobite, namesto da bi se zanašali na začasno lokacijo. Pred umestitvijo rezultata v gradivo za stranke preverite identiteto motiva, barve, besedilo, kompozicijo in urejene podrobnosti.",
    "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": "Celoten cenik konfiguracije je v podrobnostih."
      }
    ],
    "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": "Prikazane cene so namenjene oceni stroškov pred generiranjem. Končni znesek se izračuna na podlagi stroška, zabeleženega za izvirno generiranje. Izmerjeno trajanje izhoda in napovedane količine niso končna obračunska količina.",
          "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": "Shranite vrnjeni X-Client-Request-ID za uskladitev evidenc. Berite samo dejansko vrnjene vrednosti task_id/asset_id ali svojo medijsko knjižnico; iz ID operacije nikoli ne sestavite URL opravila in zahteve za ustvarjanje nikoli ne pošljite znova."
            },
            "outputs": {
              "all_results": "Shranite celoten odgovor in glave, vse dejanske izhode, izvirne vrnjene identifikatorje in vsa polja s podatki o porabi. Pridobite podatke izvirne operacije brez ponovnega pošiljanja zahteve za ustvarjanje.",
              "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": "Dejansko vrnjeni task_id ali zapis v medijski knjižnici",
                "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": "Ta ocena ni dodatno plačilo ali fiksna cena za dokončano generiranje.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Ocenjeni strošek ustvarjanja",
            "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": "Slike",
        "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": "FLUX.2 [pro] je produkcijski slikovni model Black Forest Labs za ustvarjanje na podlagi besedila in urejanje z referencami. Njegov dokumentirani profil združuje fotorealistične podrobnosti, nadzor besedila in barv ter skupno omejitev pikslov referenc in izhoda, s slikami do 4 megapikslov."
  },
  "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": "FLUX.2 [pro] je produkcijski slikovni model Black Forest Labs za ustvarjanje na podlagi besedila in urejanje z referencami. Njegov dokumentirani profil združuje fotorealistične podrobnosti, nadzor besedila in barv ter skupno omejitev pikslov referenc in izhoda, s slikami do 4 megapikslov.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "65f80d03dcdd5e70aa1bf036a004f7851646239beed452b6cb16a2869010d0fc",
    "renderer_sha256": "dcba2271c18b0f9570a8b166e8d1e3166f121e096a58609c3a46da31562a1bf2"
  },
  "sourceRevision": "cd829ea97ea9c368a4cd3df350c6fca4c0f71255433bd5754554a3502df4ecc7"
}
