FIBO - Refine Image - Lite
Keep the composition, change the details — FIBO Refine Image - Lite
- image
- structured_prompt
- seed
The problem with a lot of "edit this image" pipelines is that the edit node silently redesigns the whole frame. FIBO - Refine Image - Lite is BRIA's answer to that: take a result you already like and tweak it without losing the original composition. It's the "and regenerate" step from the README's refine flow - you feed it the structured prompt that produced an image, plus new text instructions, and it regenerates a refined version that keeps the overall layout and lighting while changing what you asked to change.
It's a Lite node, so it uses BRIA's open-source FIBO-VLM bridge and stays fast and cheap - but note the actual mechanism here: it's not a mask-and-inpaint refinement. The node internally runs the structured-prompt translator again (using your existing JSON as the base) and then regenerates through FIBO. That's how it preserves composition: the JSON is the composition, so editing the JSON edits the image without touching the rest of the frame's structure.
The inputs that matter
api_token,prompt, andstructured_prompt- all required. That's the one structural difference from the generation nodes: Refine demands the JSON up front, because the whole point is to work from a known baseline.prompt- your new instruction ("make the lighting warmer", "add a small dog on the left").structured_prompt- the JSON from a previous FIBO generation (the Generate nodes output it - that's the intended handoff).aspect_ratio,steps_num(8–30, default 8),guidance_scale(3–5, default 5),seed- the standard FIBO dials.
Outputs: image, the (possibly updated) structured_prompt, and seed.
Install
Standard pack install:
cd path_to_comfyui/custom_nodes
git clone https://github.com/Bria-AI/ComfyUI-BRIA-API.git
or ComfyUI Manager → search "BRIA API" → restart, then drop in your BRIA token from platform.bria.ai.
How this fits the workflow
The intended chain is Generate → keep the structured_prompt → Refine. You don't need to re-describe the scene; you hand back the machine-readable recipe plus a delta, and the recipe does the heavy lifting of consistency. That's genuinely clever and it's the reason to use the whole FIBO family together rather than mixing in other nodes.
The honest caveat: "refine" here still means regenerate. It keeps composition far better than a blind re-prompt, but it is not the pixel-exact, masked-only editing you get from Eraser or local inpainting. If your job is "remove the beer can without touching anything else," that's Eraser's job, not this node's. If your job is "same shot, but golden hour," this is exactly the tool. There's a generate_image_fibo-lite_workflow.json in the pack's workflows folder that shows the generate-and-refine loop wired up.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| api_token | STRING | BRIA_API_TOKEN | — |
| prompt | STRING | — | |
| structured_prompt | STRING | — | |
| model_versionopt | COMBO | FIBO | 1 options: FIBO |
| aspect_ratioopt | COMBO | 1:1 | 9 options: 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, +3 |
| steps_numopt | INT | 88–30 | — |
| guidance_scaleopt | INT | 53–5 | — |
| seedopt | INT | 123456 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| structured_prompt | STRING | — |
| seed | INT | — |