FIBO - Edit - Structured Instruction
Turn 'make it sunset' into machine-readable JSON — FIBO Edit - Structured Instruction
- images
- structured_instruction
The whole trick behind BRIA's FIBO family is that they don't edit from your sentence directly. They translate your sentence into a structured JSON instruction first, and only then does the image model do anything with it. FIBO - Edit - Structured Instruction is the translation half of that pipeline, but for edits: you feed it an image and a plain-English instruction, it hands you back a structured_instruction JSON string describing the edit in a format FIBO understands.
Why bother with the middleman? Because FIBO was trained on structured JSON captions, and the structured form is what gives you reproducible, non-drifting edits. The regular FIBO generation nodes use Gemini 2.5 Flash as their translator; the Lite nodes use BRIA's own open-source FIBO-VLM. This structured-instruction node exists so you can look at, audit, version-control, or hand-edit that JSON before it ever touches the generator - the "human-in-the-loop" workflow the pack's README explicitly calls out.
How it works
Your images get base64-encoded and sent with instruction to BRIA's structured-prompt endpoint for editing. The API returns a JSON string - that's the entire output. Nothing gets generated, no pixels are changed, no image comes back. You're meant to feed that structured_instruction output into the FIBO - Edit node, which takes it as the structured_instruction input and does the actual image edit.
So the wiring is: source image → FIBO Edit - Structured Instruction (images + instruction) → structured_instruction → FIBO - Edit. Two nodes, one edit.
Inputs and output
images- the image(s) you want to edit.instruction- natural language ("change the sky to sunset colors", "remove the man in the red jacket").api_token- your BRIA key; the default placeholderBRIA_API_TOKENwill be rejected.
The single output, structured_instruction, is a STRING. You can paste it into a text box, wire it straight into FIBO - Edit, or edit it by hand between the two - which is exactly what makes this node worth using over the all-in-one path.
Install
Same as the rest of the pack - Manager (search "BRIA API") or:
cd path_to_comfyui/custom_nodes
git clone https://github.com/Bria-AI/ComfyUI-BRIA-API.git
Restart, drop your token in. No models, no requirements file, no GPU work.
When this earns its keep
If you just want one edit, skip it - feed your instruction straight into FIBO - Edit and save yourself a round trip. But if you're building a repeatable pipeline - same edit across a batch of product shots, an edit you want to replay later with the exact same JSON, or a workflow where a non-technical person writes the sentence and you inspect the machine-readable result before it spends API credits - this node is the difference between blind and auditable. Community reaction to FIBO was that it's one of the strongest new models for structured-prompt control, so treating the JSON as a first-class artifact is very much in the spirit of the thing.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| api_token | STRING | BRIA_API_TOKEN | — |
| images | IMAGE | — | |
| instruction | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| structured_instruction | STRING | — |