Most image models ignore you when you ask for “a speech bubble in the top right of the second panel”. Krea 2 BBOX is a new community fine-tune of Krea 2 that fixes exactly that. You give it a simple layout prompt with a box for every panel, character, object and line of text, and it puts each one where you asked. It is the easiest way right now to make multi-panel comics, posters and memes with readable text on your own PC. This guide covers what Krea 2 BBOX is, which files to download and where they go in ComfyUI, the box prompt format with copy-paste examples, and how to run it on a 16 GB GPU.
- What it is: a full fine-tune of Krea 2 (12B) by Hugging Face user jimmycarter for layout control. The final epoch 20 weights were published on October 27, 2026.
- Two versions: Turbo (8 steps, CFG 1.0) and Raw (50 steps, CFG 5.5). Use Turbo.
- Files:
krea2-bbox-turbo-comfy-latest.safetensorsgoes inComfyUI/models/diffusion_models/. The text encoder and VAE are the normal Krea 2 ones. - Custom nodes: none. Load the built-in Krea 2 template and swap the diffusion model.
- Prompt format: one element per line, like
t[80,40,420,120]"HELLO" black text in a speech bubble. Boxes are x first on a 0 to 1000 grid. - Biggest mistake: writing y before x. It fails silently and puts everything in the wrong place.
What Is Krea 2 BBOX?
Krea 2 is Krea AI’s 12B open image model, released in June 2026. It has the biggest new LoRA scene of the year, with over 900 adapters on Hugging Face, which I covered in my best open source text-to-image models roundup. Like most models, though, it treats your prompt as a description, not a layout.
Krea 2 BBOX changes that. The author fine-tuned every weight of Krea 2 on images where each element had a labelled bounding box, so the model learned to read box coordinates in the prompt and place things there. It targets four jobs:
- Multi-panel comics, with panels exactly where you want them.
- Speech bubbles placed inside the right panel.
- Consistent characters across panels, using a character id.
- Verbatim text, such as titles, signs and dialogue, in a set position.
The training data is a big part of why it works. The author started from a pool of 30 million pre-AI images, clustered and ranked them for aesthetics, then picked a final set of 40,000 images: 20,000 photos, 10,000 comic pages and 10,000 artworks. Every image was boxed automatically using Gemma 4 31B and NVIDIA’s LocateAnything-3B, and the prompts were compressed into the box format at up to 512 tokens. About 90% of training used box prompts and 10% used plain text, so normal prose prompts still work.
The model comes in two versions:
- Turbo: the fine-tune with Krea’s turbo distillation merged in. 8 steps, CFG off. This is the one to use.
- Raw: the fine-tune as trained, on the undistilled base. 50 steps, CFG 5.5. Slower, mainly useful for research or further training.
Each version also has two EMA (smoothed) copies, at decay 0.9995 and 0.99975. The author notes these may look a little better but can be less accurate at hitting the boxes.
Files You Need and Where They Go
The fine-tune lives at jimmycarter/krea2-turbo-bbox. The text encoder and VAE are the stock Krea 2 files from Comfy-Org/Krea-2.
| File | What it is | Put it in |
|---|---|---|
| krea2-bbox-turbo-comfy-latest.safetensors | Turbo fine-tune (recommended) | ComfyUI/models/diffusion_models/ |
| krea2-bbox-turbo-ema_0.9995-comfy.safetensors | Turbo, EMA 0.9995 | ComfyUI/models/diffusion_models/ |
| krea2-bbox-turbo-ema_0.99975-comfy.safetensors | Turbo, EMA 0.99975 | ComfyUI/models/diffusion_models/ |
| krea2-bbox-raw-comfy.safetensors | Raw fine-tune (50 steps) | ComfyUI/models/diffusion_models/ |
| krea2-bbox-raw-ema_0.9995-comfy.safetensors / krea2-bbox-raw-ema_0.99975-comfy.safetensors | Raw EMA copies | ComfyUI/models/diffusion_models/ |
| qwen3vl_4b_fp8_scaled.safetensors (from Comfy-Org/Krea-2) | Text encoder | ComfyUI/models/text_encoders/ |
| qwen_image_vae.safetensors (from Comfy-Org/Krea-2) | VAE | ComfyUI/models/vae/ |
You only need one diffusion model file. Start with the Turbo one. If you already use Krea 2 in ComfyUI, you already have the text encoder and VAE. Your folders should look like this:
ComfyUI/
models/
diffusion_models/
krea2-bbox-turbo-comfy-latest.safetensors
text_encoders/
qwen3vl_4b_fp8_scaled.safetensors
vae/
qwen_image_vae.safetensors
Command-line download with the Hugging Face CLI:
pip install -U "huggingface_hub[cli]"
cd ComfyUI/models
hf download jimmycarter/krea2-turbo-bbox krea2-bbox-turbo-comfy-latest.safetensors --local-dir ./diffusion_models
hf download Comfy-Org/Krea-2 text_encoders/qwen3vl_4b_fp8_scaled.safetensors --local-dir ./_krea2
hf download Comfy-Org/Krea-2 vae/qwen_image_vae.safetensors --local-dir ./_krea2
mv ./_krea2/text_encoders/*.safetensors ./text_encoders/
mv ./_krea2/vae/*.safetensors ./vae/
Check the repo’s file list before downloading, in case the author renames anything. Older epoch files (1 to 19) are still in the repo for reference, but they are replaced by the final weights.
Step-by-Step Setup in ComfyUI
No custom nodes are needed, so there is nothing to install in ComfyUI/custom_nodes/.
- Update ComfyUI so it has the Krea 2 templates. Portable: run
update/update_comfyui.bat. Git install:git pullin theComfyUI/folder, thenpip install -r requirements.txt. Desktop: update the app. - Download the files into the folders above and restart ComfyUI.
- Open the Krea 2 Turbo text-to-image template from Workflow > Browse Templates > Image.
- Swap the model. In the Load Diffusion Model node, pick
krea2-bbox-turbo-comfy-latest.safetensorsinstead of the stock Krea 2 Turbo file. Leave the text encoder and VAE as they are. - Set the size. Aim for about 1536×1536 worth of pixels, with both sides a multiple of 16. For a tall comic page use 1296×1824.
- Paste a box prompt from the examples below into the positive prompt and run.
Keep the template’s turbo sampling: 8 steps with CFG 1.0. The author’s diffusers code uses a fixed timestep shift of mu=1.15, and the ComfyUI template already handles the matching schedule for turbo.
If you want to try it before downloading 20+ GB, the author has a free Gradio canvas demo where you draw the boxes with your mouse and it writes the prompt for you. It is also a handy way to get coordinates for your own layouts.
The Box Prompt Format
The prompt is plain text, one element per line. Spaces do not matter, but every element must be on its own line. The order is:
- Summary line (optional): a normal sentence describing the whole image, with no prefix.
- Style line (optional): starts with
@, then the art style, a semicolon and the medium. Example:@clean ink lines, flat colors; Digital illustration. - Background line (optional): starts with
~and describes the setting. - Element lines: a prefix, a box, then a short description.
Every box is four whole numbers [x0,y0,x1,y1] on a 0 to 1000 grid, whatever the pixel size. The origin is the top-left corner, x goes right and y goes down. So [0,0,500,1000] is the left half of the image, and [500,0,1000,1000] is the right half.
| Prefix | Element | Notes |
|---|---|---|
p |
Comic panel | List panels first |
pe |
Person | Can take an id, like pe:chef[...] |
ac |
Anime character | Can take an id |
fc |
Furry or anthro character | Can take an id |
o |
Object | Anything that is not a character |
t |
Text | The exact words go in double quotes, then optional styling |
There is no space between the prefix and the bracket. Character ids are lowercase letters, numbers and underscores, such as pe:old_man. Use the same id for the same character in every panel, and describe the character fully each time. That is how the model keeps them consistent.
Copy-Paste Prompt Examples
These three prompts cover the main uses. Paste them as they are, then change the words and boxes.
1. Two-panel comic with a speech bubble
A two-panel comic where a chef tastes his soup and regrets it.
@clean ink lines, flat colors; Digital illustration
~A small restaurant kitchen with copper pots hanging above the stove.
p[0,0,500,1000] Left panel: the chef lifting a spoon, hopeful.
p[500,0,1000,1000] Right panel: the chef coughing, eyes watering.
pe:chef[120,200,420,900] A stout cook in a white apron and tall hat, spoon raised.
pe:chef[560,250,900,920] The same stout cook in a white apron and tall hat, face red, gasping.
t[560,120,940,300]"TOO MUCH SALT!" black text in a rounded speech bubble
o[600,600,900,900] A steaming pot boiling over on the stove.
2. Vintage travel poster with a title
A 1950s travel poster for a lakeside town.
@flat vector shapes, muted pastel palette; Vintage poster
~A turquoise lake under a pale yellow sky, pine hills and a wooden pier.
t[100,70,900,250]"LAKE MAPLEWOOD" bold cream serif letters across the top
o[560,500,900,780] A white paddle steamer with a red funnel docked at the pier.
t[120,860,880,940]"SUMMER SEASON 1956" small mint sans-serif capitals
3. Anime shop scene with two characters and a sign
A cosy bakery at sunrise.
@soft painterly anime style, warm light; Digital illustration
~A small bakery counter with bread loaves under a warm window glow.
ac:baker[60,120,420,940] A young woman with a flour-covered apron and a braid, holding a tray of buns.
fc:fox[560,300,920,920] An anthropomorphic fox in a green scarf holding a paper bag, smiling.
t[600,80,940,200]"FRESH BREAD" hand-painted letters on the window glass
For a tall four-panel page at 1296×1824, split the grid into quarters: p[0,0,500,500], p[500,0,1000,500], p[0,500,500,1000] and p[500,500,1000,1000]. Then place characters and bubbles inside each panel’s range.
Best Settings and Resolutions
| Setting | Turbo | Raw |
|---|---|---|
| Steps | 8 | 50 |
| CFG | 1.0 (off) | 5.5 |
| Square size | 1536×1536 | 1536×1536 |
| Comic page | 1296×1824 | 1296×1824 |
| Size rule | About 1536×1536 total pixels, both sides a multiple of 16 | |
| Prompt length | 512-token window, about 507 usable | |
The token limit matters for busy pages. A prompt that is too long gets cut from the end, which usually drops your text lines because they come last. If you are near the limit, shorten the descriptions instead of removing elements.
The BBOX LoRAs: Worth It?
The author also released LoRA versions at ranks 64, 128 and 256. You load them with the core LoraLoaderModelOnly node at strength 1.0 on top of stock Krea 2 (Raw or Turbo), and they go in ComfyUI/models/loras/. The appeal is obvious: no extra 20+ GB model, and you can mix them with other Krea 2 LoRAs.
The catch is that they carry only a small part of the effect. The author’s own estimate compared with the full fine-tune:
| LoRA rank | Share of the full fine-tune’s effect | On high-noise steps |
|---|---|---|
| 64 | about 12% | about 16% |
| 128 | about 18% | about 24% |
| 256 | about 28% | about 38% |
The reason is that the full fine-tune changed almost every weight in the model, including norms, biases and modulation tables, which a low-rank LoRA cannot capture. All the sample images were made with the full model. My advice: use the full Turbo checkpoint for comics, and only try the rank 256 LoRA if you really need to combine box control with a style LoRA such as one of Krea’s ten official styles.
Running It on a 16 GB GPU
The full fine-tune is a 12B model, and the author mentions a 26 GB transformer, so the file does not fit in 16 GB of VRAM as is. The author gives no VRAM figure and there is no official fp8 version yet. Two things help:
- Use fp8 at load time. In the Load Diffusion Model node, set
weight_dtypetofp8_e4m3fn. ComfyUI then stores the weights in 8-bit, about half the size, with a small quality cost. - Let ComfyUI offload. ComfyUI moves parts of the model to system RAM when VRAM runs out. It is slower but works. 32 GB of system RAM is the minimum to try, and 64 GB is better.
The text encoder is the small 4B fp8 file, so it is not the problem. For more on what fits where, see my ComfyUI VRAM guide.
Common Mistakes and Fixes
The model does not show errors. A broken prompt still makes an image, just the wrong one. Check these first:
- Coordinates in the wrong order. Writing
[y0,x0,y1,x1]is the most common failure. If your layout looks mirrored or rotated, this is why. - Pixel values instead of 0 to 1000.
[0,0,648,1824]is wrong even on a 1296×1824 image. Use the 0 to 1000 grid. - A space before the bracket.
p [0,0,500,500]breaks the element. Writep[0,0,500,500]. - Text without quotes. The exact words must be inside double quotes in a
tline. - Panels listed last. List panels first, then characters, objects and text.
- Bubbles outside their panel. A speech bubble’s box should sit inside its panel’s box.
- Changing a character’s id or dropping their description between panels breaks consistency.
- Too many elements. Accuracy drops with more than six to eight characters, or with very small boxes.
- Long text. Short lines and titles work well. Paragraphs still come out garbled, a weakness of the base model.
Remember that boxes are a guide, not a hard mask. Expect elements to land roughly in place, not to the pixel.
Krea 2 BBOX vs MOSS-Image and Fibo 2.0
Krea 2 BBOX is not the only open model with layout control. Here is how it compares with the two others I have covered.
| Model | Layout input | Best for | Licence |
|---|---|---|---|
| Krea 2 BBOX | Line-based box prompt | Comics, speech bubbles, consistent characters | Krea 2 Community (base) |
| MOSS-Image | Layout JSON with a box per text and object | Posters, infographics, small cards (5B) | Apache 2.0 |
| Bria Fibo 2.0 | Structured JSON prompts | Precise product and scene control | Non-commercial weights |
If you make comics or manga-style pages, Krea 2 BBOX is the best choice because it was trained on 10,000 comic pages and understands panels. For posters on a smaller GPU, MOSS-Image is lighter and fully Apache 2.0. The fine-tune’s own licence is not stated on the model card, so assume it follows the Krea 2 Community Licence of the base model, which allows free commercial use for teams under 50 seats with some conditions.
FAQ
Is Krea 2 BBOX free?
Yes, the weights are free on Hugging Face. The base model is under the Krea 2 Community Licence, so check those terms before commercial work.
Do I need a custom node for Krea 2 BBOX?
No. Load the built-in Krea 2 Turbo template and pick the BBOX file in the Load Diffusion Model node. The LoRAs use the core LoraLoaderModelOnly node.
Where do I put the Krea 2 BBOX files?
The model file goes in ComfyUI/models/diffusion_models/, the text encoder qwen3vl_4b_fp8_scaled.safetensors in ComfyUI/models/text_encoders/, the VAE qwen_image_vae.safetensors in ComfyUI/models/vae/, and any BBOX LoRA in ComfyUI/models/loras/.
Can I still use normal prompts?
Yes. About 10% of training used plain text, so prose prompts work. You just lose the placement control.
Why are my speech bubbles in the wrong place?
Almost always the coordinates are in the wrong order. Boxes are x first: [left, top, right, bottom] on a 0 to 1000 grid.
Can I use Krea 2 style LoRAs with it?
You can try them on the full fine-tune, but they were trained on stock Krea 2, so results vary. The other route is stock Krea 2 Turbo plus the BBOX rank 256 LoRA plus a style LoRA, with weaker box control.
Final Thoughts
Krea 2 BBOX is the first open model that makes comic pages feel practical at home. Panels land where you put them, speech bubbles stay inside their panels, and the same character id keeps a character looking the same from panel to panel. The prompt format takes ten minutes to learn, and the main thing to remember is x before y. If you have a 16 GB card, load it with fp8 weights and start with the two-panel example above.
More image guides:
- Best Open Source Text-to-Image Models in 2026
- MOSS-Image in ComfyUI: Layout JSON and 4-Step LoRAs
- Kromoss 8-Step Workflow for 16 GB GPUs