✨ Świeża dostawa•nowe kody na kinetyka.pl: Gemini Pro 18 mies. 170 zł•Cursor, ElevenLabs, Lovable i więcej, roczne plany AI w ułamku ceny Zobacz →
Przejdź do treści
Narzędzia

FLUX 3 i ramki JSON: 8 układów graficznych z promptami

FLUX 3 Image układa grafikę z ramek podanych w JSON. Sprawdziłem to na ośmiu projektach i nałożyłem ramki na wyniki: w siedmiu wszystko trafiło na miejsce, ale litery i mapy wciąż zawodzą.

11 min czytania
FLUX 3 Image - FLUX 3 i ramki JSON: 8 układów graficznych z promptami

👁 118 przeczytań

// w skrócie
  • W teście 8 układów graficznych FLUX 3 Image poprawnie umieścił elementy w zadanych ramkach JSON w 7 przypadkach na 8.
  • Format ramki to cztery liczby [y_min, x_min, y_max, x_max] na siatce 0-1000, gdzie współrzędne pionowe podaje się przed poziomymi.
  • Koszt wygenerowania zestawu 8 obrazów 2K przez fal.ai wyniósł około 0,80 USD, czyli około 0,10 USD za obraz.

FLUX 3 Image przyjmuje zamiast zwykłego opisu polecenie w JSON, w którym każdy element dostaje własną ramkę na płótnie. Sprawdziłem to na ośmiu układach, które grafik robi na co dzień: okładce, komiksie, plakacie, karcie przepisu, landing page’u, infografice, flat layu i storyboardzie. W siedmiu z ośmiu elementy trafiły do swoich ramek.

Ramki zastępują opisy typu „w lewym górnym rogu”, które modele i tak traktują luźno. Niżej tłumaczę format, a przy każdym obrazie nakładam zadane ramki na wynik, żebyś sam ocenił precyzję. Spoiler: ramki działają lepiej niż litery.

Hub FLUX - modele Black Forest Labs, testy i prompty: FLUX 3 Image i FLUX.2.

Jak działa prompt z ramkami

Cały JSON wklejasz w zwykłe pole prompt. Ma dwie części:

  • caption - opis całości: temat, styl, paleta, nastrój.
  • elements - lista obiektów. Każdy ma id (dowolna nazwa), bbox (ramka) i desc (co ma się w niej znaleźć).
  • bbox to cztery liczby [y_min, x_min, y_max, x_max] na siatce od 0 do 1000, niezależnie od proporcji obrazu. Najpierw pion, potem poziom, czyli odwrotnie niż w większości programów graficznych.
  • Przeliczenie: element od 20 do 60 procent wysokości i od 10 do 50 procent szerokości to [200, 100, 600, 500].
  • Tekst do wyrenderowania wpisujesz w desc w cudzysłowie, poprzedzonym ukośnikiem wstecznym, bo to cudzysłów wewnątrz JSON.

Na podglądach poniżej białe przerywane prostokąty z etykietą id pokazują ramki, które zadałem.

Jak to zrobiłem

  • Model FLUX 3 Image przez endpoint blackforestlabs/flux-3/text-to-image w fal.ai, 1 października 2026.
  • Rozdzielczość 2k, proporcje dopasowane do formatu (3:4 okładka, 2:3 plakat, 16:9 landing i storyboard), zapis do PNG.
  • Rozszerzanie promptu wyłączone, jedno generowanie na prompt, bez wybierania najlepszych wersji.
  • Opisy po angielsku, bo FLUX rozumie polski, ale angielski daje bardziej powtarzalne wyniki. Polskie napisy podawałem w cudzysłowie.
  • Zgodność z ramkami mierzyłem, nakładając ramki na oryginał w pełnej rozdzielczości.
  • Czas: od 74 do 125 sekund na obraz. Koszt według cennika fal.ai za megapiksel (0,024 USD/Mpx w promocji): około 0,10 USD za obraz 2K, czyli około 0,80 USD za zestaw.

1. Okładka magazynu KOD

Okładka magazynu technologicznego KOD z kobietą w okularach AR i żółtą plakietką 10/2026mastheadportraitheadlinebadge
Białe przerywane prostokąty to zadane ramki. Tytuł „KOD” wypełnia swoją co do milimetra.
{
  "caption": "Cover of a Polish technology magazine, clean modern design, photo of a woman wearing AR glasses",
  "elements": [
    {
      "id": "masthead",
      "bbox": [30, 60, 170, 940],
      "desc": "large magazine title text \"KOD\" in bold red letters"
    },
    {
      "id": "portrait",
      "bbox": [180, 150, 1000, 850],
      "desc": "portrait of a woman wearing AR glasses looking at the camera"
    },
    {
      "id": "headline",
      "bbox": [700, 50, 860, 520],
      "desc": "white headline text \"AI W TWOIM DOMU\""
    },
    {
      "id": "badge",
      "bbox": [200, 700, 330, 950],
      "desc": "yellow circular badge with text \"10/2026\""
    }
  ]
}
  • masthead - tak, „KOD” wypełnia ramkę od krawędzi do krawędzi.
  • portrait - tak, ramiona wychodzą poza boki, co przy portrecie jest naturalne.
  • headline - tak, drugi wiersz kończy się dokładnie na prawej krawędzi.
  • badge - tak, koło dosunięte do prawej strony ramki.

Wszystkie trzy napisy są poprawne: „KOD”, „AI W TWOIM DOMU” i „10/2026”. Ramki plakietki i portretu się nakładają, a model rozwiązał to sensownie: plakietka leży na tle obok głowy i nie zasłania twarzy. Okulary AR to zwykłe okulary z dwoma modułami kamer, więc „AR” jest zaznaczone symbolicznie. Makieta okładki gotowa w jednym podejściu.

2. Komiks o robocie piekarzu

Czterokadrowy komiks o robocie, który uczy się piec chleb w polskiej piekarnip1p2p3p4
Granice paneli pokrywają się z ramkami. Dymek „UDAŁO SIĘ!” bez błędu.
{
  "caption": "Four-panel comic page in a clean ligne claire style about a robot learning to bake bread in a Polish bakery",
  "elements": [
    {
      "id": "p1",
      "bbox": [20, 20, 480, 480],
      "desc": "panel 1: robot reading a recipe book"
    },
    {
      "id": "p2",
      "bbox": [20, 520, 480, 980],
      "desc": "panel 2: robot covered in flour"
    },
    {
      "id": "p3",
      "bbox": [520, 20, 980, 480],
      "desc": "panel 3: smoke coming out of the oven, robot shocked"
    },
    {
      "id": "p4",
      "bbox": [520, 520, 980, 980],
      "desc": "panel 4: robot proudly holding a perfect loaf, speech bubble \"UDAŁO SIĘ!\""
    }
  ]
}
  • p1 - tak, robot czyta książkę z przepisami.
  • p2 - tak, robot w chmurze mąki.
  • p3 - tak, dym z pieca i przerażony robot.
  • p4 - tak, bochenek i dymek z napisem.

Cztery panele są dokładnie tam, gdzie je ustawiłem, z równymi odstępami. Historia ma ciągłość: ten sam robot, ta sama piekarnia, te same kafle. Dymek „UDAŁO SIĘ!” ma poprawne Ł i Ę. Styl to raczej kreskówka z kreskowaniem niż czysta ligne claire, a w dwóch pierwszych panelach leży wielki widelec bez sensu. Do ligne claire dopisz w caption flat colors, uniform line weight, no hatching.

3. Plakat koncertu jazzowego

Plakat koncertu Jazz na Starówce w stylu mid-century z saksofonem i musztardowym księżycemsaxophonetitledatemoon
Kompozycja zgodna z ramkami. W dacie jest podstępny błąd: „Gdánsk”.
{
  "caption": "Jazz concert poster, mid-century modern style, deep blue and mustard",
  "elements": [
    {
      "id": "saxophone",
      "bbox": [120, 200, 700, 800],
      "desc": "stylized saxophone illustration"
    },
    {
      "id": "title",
      "bbox": [730, 80, 860, 920],
      "desc": "text \"JAZZ NA STARÓWCE\" in bold geometric letters"
    },
    {
      "id": "date",
      "bbox": [880, 80, 960, 500],
      "desc": "text \"14.11 · Gdańsk\""
    },
    {
      "id": "moon",
      "bbox": [40, 680, 220, 900],
      "desc": "a mustard yellow moon"
    }
  ]
}
  • saxophone - tak, czara wychodzi kilka procent pod dolną krawędź.
  • title - tak, napis wypełnia ramkę na całą szerokość.
  • date - tak, ale z błędem w nazwie miasta.
  • moon - tak, choć księżyc jest wysunięty w lewo, za szyjkę saksofonu.

Kompozycja jest dokładna, a granat z musztardą [zdanie urwane - brak orzeczenia/dokończenia] to czysty mid-century. Tytuł „JAZZ NA STARÓWCE” ma poprawne Ó. Błąd siedzi w dacie: zamiast „Gdańsk” model napisał „Gdánsk”, z akcentem nad a i bez ń. To najbardziej podstępny typ pomyłki, bo na pierwszy rzut oka wygląda poprawnie. Przed drukiem czytaj każdy napis litera po literze.

4. Karta przepisu na pierogi ruskie

Karta przepisu z talerzem pierogów ruskich, tytułem PIEROGI RUSKIE, listą składników i czasem 90 minphototitleingredientstime
Cztery bloki w swoich ramkach. Zdjęcie schodzi lekko poniżej swojej.
{
  "caption": "Recipe card for Polish pierogi, editorial food design on cream paper",
  "elements": [
    {
      "id": "photo",
      "bbox": [40, 40, 520, 960],
      "desc": "top-down photo of a plate of pierogi with fried onion"
    },
    {
      "id": "title",
      "bbox": [560, 40, 660, 960],
      "desc": "title text \"PIEROGI RUSKIE\""
    },
    {
      "id": "ingredients",
      "bbox": [680, 40, 960, 460],
      "desc": "small list of ingredients with icons"
    },
    {
      "id": "time",
      "bbox": [700, 560, 820, 960],
      "desc": "clock icon with text \"90 min\""
    }
  ]
}
  • photo - tak, zdjęcie schodzi o około 2 procent poniżej ramki.
  • title - tak.
  • ingredients - tak, lista z ikonami mieści się w całości.
  • time - tak, zegar i „90 min” wyśrodkowane w ramce.

„PIEROGI RUSKIE” i „90 min” są poprawne, a lista ma sensowne ilości: 300 g mąki, 500 g ziemniaków, 250 g twarogu. Lista wyszła po angielsku, bo opis elementu był po angielsku; po polsku zostało tylko słowo „twaróg”. Jeśli chcesz polskiej listy, wpisz składniki w desc w cudzysłowie. Część ikon nie pasuje (sól jako pudełko, masło jako kropla), a farsz prześwituje ciemnozielono jak szpinak, a nie jak ziemniaki z twarogiem.

5. Landing page aplikacji budżetowej

Makieta strony głównej aplikacji budżetowej z nagłówkiem, zielonym przyciskiem, oceną i telefonem z wykresemheadlinebuttonphonelogos
Układ wzorowy, ale w nagłówku jest literówka, która przekreśla grafikę.
{
  "caption": "Website hero section mockup for a Polish budgeting app, clean UI design, light theme",
  "elements": [
    {
      "id": "headline",
      "bbox": [200, 60, 420, 520],
      "desc": "headline text \"Twoje pieniądze pod kontrolą\""
    },
    {
      "id": "button",
      "bbox": [500, 60, 590, 300],
      "desc": "green button with text \"Pobierz za darmo\""
    },
    {
      "id": "phone",
      "bbox": [80, 600, 980, 900],
      "desc": "smartphone showing a colorful spending chart"
    },
    {
      "id": "logos",
      "bbox": [820, 60, 900, 520],
      "desc": "row of grey rating stars and text \"4,8 w Google Play\""
    }
  ]
}
  • headline - tak.
  • button - tak, przycisk wypełnia ramkę.
  • phone - tak.
  • logos - tak, gwiazdki i ocena w jednym wierszu.

Przycisk „Pobierz za darmo” i „4,8 w Google Play” są poprawne, a rozmieszczenie wygląda jak z prawdziwego projektu. Nagłówek ma jednak literówkę: „piendędze” zamiast „pieniądze”. Ekran telefonu to sieczka („Acccount”, „Etŕsjenizyopy oxz”). Na makietę dla klienta trzeba poprawić nagłówek edycją, a ekran aplikacji podmienić prawdziwym zrzutem.

6. Infografika: wybrzeże w 5 dni

Nie przepłacaj za te subskrypcje

Prowadzę sklep z rocznymi dostępami do narzędzi AI - te same konta, o których piszę wyżej, tylko taniej niż w cenniku producenta.

Zobacz, co jest dostępne

Ilustrowana infografika polskiego wybrzeża z tytułem WYBRZEŻE W 5 DNI, mapą trasy i pięcioma przystankamititlemapicons
Tytuł i karty przystanków dobre. Mapa ma zmyślone nazwy i chaotyczną numerację.
{
  "caption": "Illustrated travel infographic of the Polish Baltic coast, flat vector style",
  "elements": [
    {
      "id": "title",
      "bbox": [30, 60, 140, 940],
      "desc": "title text \"WYBRZEŻE W 5 DNI\""
    },
    {
      "id": "map",
      "bbox": [170, 60, 600, 940],
      "desc": "simplified map of the coast from Świnoujście to Hel with a dotted route"
    },
    {
      "id": "icons",
      "bbox": [630, 60, 960, 940],
      "desc": "five small illustrated stops: lighthouse, pier, crane, dunes, seal, each with a day number 1-5"
    }
  ]
}
  • title - tak, napis wychodzi o kilka procent poza prawą krawędź.
  • map - tak.
  • icons - tak, ale skrajne karty wystają o kilka procent z obu stron.

„WYBRZEŻE W 5 DNI” ma poprawne Ż, a pięć kart z latarnią, molo, żurawiem, wydmami i fokiem jest ponumerowanych od 1 do 5. Żuraw przypomina nawet ten gdański. Mapa to jednak katastrofa: „Gorniroim Island” zamiast Bornholmu, „Slowiriski National Park”, nieistniejąca „Krakowa”, „Kolobrzag” i „Hela Penilisula”, a numeracja na trasie skacze 1, 2, 3, 4, 5, 6, 1, 3, 9, 10. Do infografik z mapą podawaj mniej nazw, każdą jako osobny element z własną ramką i tekstem w cudzysłowie.

7. Flat lay: zestaw podróżnika

Flat lay na marmurowym stole: aparat analogowy, paszport z kartą pokładową, mapa Krakowa, okulary i kawacamerapassportmapcoffeesunglasses
Pięć przedmiotów, pięć trafień. Najdokładniejszy wynik w zestawie.
{
  "caption": "Top-down flat lay on a white marble table, photographer's travel kit",
  "elements": [
    {
      "id": "camera",
      "bbox": [100, 100, 450, 500],
      "desc": "a vintage film camera"
    },
    {
      "id": "passport",
      "bbox": [120, 600, 400, 900],
      "desc": "a passport with a boarding pass"
    },
    {
      "id": "map",
      "bbox": [500, 80, 900, 600],
      "desc": "a folded paper map of Kraków"
    },
    {
      "id": "coffee",
      "bbox": [650, 650, 900, 900],
      "desc": "a cup of black coffee"
    },
    {
      "id": "sunglasses",
      "bbox": [520, 620, 640, 900],
      "desc": "sunglasses"
    }
  ]
}
  • camera - tak.
  • passport - tak, karta pokładowa wystaje lekko w dół.
  • map - tak.
  • coffee - tak, ślad po kubku leży już poza ramką.
  • sunglasses - tak.

Model dodał od siebie trafne szczegóły: na karcie pokładowej jest kod lotniska „KRK”, a mapa ma podpisy „KRAKÓW”, „STARE MIASTO” i „WISŁA”. Geografia jest jednak błędna: Wawel leży na mapie na południe od Wisły, a w rzeczywistości stoi na jej lewym brzegu, tuż przy Starym Mieście. Paszport ma dwugłowego orła przypominającego godło Rosji, a aparat zmyśloną markę „Krizow”. Dopisz burgundy Polish passport with a single-headed eagle.

8. Storyboard: pościg w zajezdni

Storyboard ołówkiem: pościg w zajezdni tramwajowej w trzech kadrach z odręcznymi notatkamif1f2f3notes
Jedyny przypadek, w którym model zignorował ramki: kadry jeden pod drugim, notatki z prawej.
{
  "caption": "Film storyboard sheet with three frames drawn in pencil and marker, scene of a chase through a Warsaw tram depot",
  "elements": [
    {
      "id": "f1",
      "bbox": [100, 30, 600, 320],
      "desc": "frame 1: wide shot of a man running between trams"
    },
    {
      "id": "f2",
      "bbox": [100, 350, 600, 650],
      "desc": "frame 2: close-up of his feet jumping over rails"
    },
    {
      "id": "f3",
      "bbox": [100, 680, 600, 970],
      "desc": "frame 3: tram lights blinding the camera"
    },
    {
      "id": "notes",
      "bbox": [660, 30, 950, 970],
      "desc": "handwritten Polish notes under the frames: \"UJĘCIE 1\", \"UJĘCIE 2\", \"UJĘCIE 3\""
    }
  ]
}
  • f1, f2, f3 - nie, zamiast trzech kadrów obok siebie są trzy poziome pasy jeden pod drugim.
  • notes - nie, notatki trafiły do kolumny po prawej zamiast do pasa na dole.

Treść kadrów się zgadza: biegnący mężczyzna, stopy nad szynami, oślepiające światła tramwaju. Podpisy „UJĘCIE 1”, „UJĘCIE 2” i „UJĘCIE 3” mają poprawne Ę, ale stoją pod kadrami, a właściwe notatki to pseudopolska sieczka. Podejrzewam, że wzorzec „storyboard sheet” był silniejszy niż ramki. W takiej sytuacji dopisz w caption three frames side by side in one row, notes in a strip below albo usuń słowo, które kojarzy się z gotowym układem.

Podsumowanie: ramki i napisy

PrzykładOcena 1-5Elementy w ramkachUwagi
Okładka magazynu KOD54 z 4wszystko w ramkach, napisy bez błędu
Komiks o robocie piekarzu54 z 4panele co do ramki, dymek poprawny
Plakat koncertu jazzowego44 z 4„Gdánsk” zamiast „Gdańsk”
Karta przepisu na pierogi ruskie4,54 z 4lista po angielsku, ciemny farsz
Landing page aplikacji budżetowej3,54 z 4„piendędze” w nagłówku
Infografika: wybrzeże w 5 dni33 z 3mapa pełna zmyślonych nazw
Flat lay: zestaw podróżnika4,55 z 5Wawel po złej stronie Wisły
Storyboard: pościg w zajezdni20 z 4układ zignorowany
FLUX 3 Image: układy z ramek JSON, ocena 1-5
Okładka magazynu KOD5
Komiks o robocie piekarzu5
Karta przepisu na pierogi ruskie4,5
Flat lay: zestaw podróżnika4,5
Plakat koncertu jazzowego4
Landing page aplikacji budżetowej3,5
Infografika: wybrzeże w 5 dni3
Storyboard: pościg w zajezdni2

Średnia 3,9. Zgodność z ramkami jest bardzo wysoka: w siedmiu układach na osiem wszystkie elementy trafiły na swoje miejsce, z odchyleniem zwykle od 2 do 5 procent. Oceny obniżają napisy („piendędze”, „Gdánsk”), zmyślone nazwy na mapie i jeden storyboard, w którym model postawił na własny układ.

Najczęstsze błędy

  • Ramki trzymają, litery nie zawsze. Literówka w nagłówku landingu i „Gdánsk” na plakacie.
  • Tekst niepodany dosłownie to sieczka. Ekran aplikacji, notatki pod storyboardem i nazwy na mapie.
  • Lekkie wychodzenie poza ramkę. Zdjęcie, saksofon, tytuł i karty infografiki przekraczały granice o kilka procent.
  • Silny wzorzec gatunku wygrywa. „Storyboard sheet” dał klasyczny układ z kadrami jeden pod drugim.
  • Język desc decyduje o języku tekstu. Lista składników opisana po angielsku wyszła po angielsku.
  • Geografia na mapach. Wawel po złej stronie Wisły, zmyślone miejscowości na wybrzeżu.

Inne galerie i testy FLUX 3

FAQ

Czy ramki w FLUX 3 mogą na siebie nachodzić?

Mogą. Na okładce ramka plakietki zachodziła na ramkę portretu, a model położył plakietkę na tle obok głowy, nie na twarzy.

Dlaczego współrzędne zaczynają się od y, a nie od x?

Taki format przyjął Black Forest Labs: [y_min, x_min, y_max, x_max]. Najczęstszy błąd przy pierwszych próbach to zamiana kolejności, która obraca układ.

Czy siatka 0-1000 zależy od proporcji obrazu?

Nie. W obu osiach zawsze jest od 0 do 1000, więc ramka [0, 0, 500, 500] to lewa górna ćwiartka zarówno w kwadracie, jak i w formacie 16:9.

Czy mogę pisać desc i caption po polsku?

Tak, FLUX 3 rozumie polski. Ja piszę po angielsku dla powtarzalności, ale napisy, które mają się pojawić na obrazie, zawsze podaję po polsku w cudzysłowie.

Google · Twoje źródłaPromptowy wyżej w Twoim Google - jednym kliknięciemDodaj do preferowanych źródeł →

Źródła

// Newsletter

Cały tydzień w AI, w jednym mailu

Wybrane premiery, narzędzia i analizy. Raz w tygodniu, prosto do skrzynki.

Zapisz się za darmo →
Za darmo. Wypisujesz się jednym kliknięciem.

Najczęstsze pytania

Jak wygląda format promptu z ramkami JSON w FLUX 3 Image?

Prompt składa się z dwóch części: caption, czyli opisu całości, oraz elements, czyli listy obiektów z polem id, bbox i desc. Pole bbox przyjmuje cztery liczby [y_min, x_min, y_max, x_max] na siatce od 0 do 1000, niezależnie od proporcji obrazu.

Czy FLUX 3 Image poprawnie renderuje polskie znaki w napisach?

W większości przypadków tak - napisy takie jak "KOD", "UDAŁO SIĘ!", "JAZZ NA STARÓWCE" czy "PIEROGI RUSKIE" wyszły poprawnie. Zdarzają się jednak błędy, jak "Gdánsk" zamiast "Gdańsk" czy "piendędze" zamiast "pieniądze", dlatego każdy napis trzeba sprawdzić litera po literze.

Ile czasu zajmuje generowanie jednego obrazu 2K w FLUX 3 Image przez fal.ai?

Czas generowania wynosił od 74 do 125 sekund na obraz. Testy przeprowadzono 1 października 2026 przez endpoint blackforestlabs/flux-3/text-to-image w fal.ai.

Czy ramki JSON w FLUX 3 działają lepiej niż opisy słowne pozycji elementów?

Według przeprowadzonego testu tak - ramki działają lepiej niż opisy typu "w lewym górnym rogu", które modele traktują luźno. W 7 na 8 testowanych układów elementy trafiły dokładnie do zadanych ramek.

// czytaj też

Podobne tematy na Promptowym

Piotr Olszewski

Piotr Olszewski

ADMINISTRATOR

Piotr Olszewski - twórca i autor Promptowego, polskiego serwisu o sztucznej inteligencji. Codziennie śledzi premiery modeli, narzędzia i regulacje AI, i tłumaczy je prostym, konkretnym językiem.

// mapa strony

🛒 Sklep Kinetyka Google AI Gemini Pro 170 zł CapCut Pro 460 zł/rok Cursor Pro+ 99 zł/mc Zobacz wszystko →
promptowy w liczbach 0tekstów w archiwum0newsów z ostatnich 7 dni0modeli wideo w obserwatorium0zagadek w grach
× ‹ powiększenie ›