# FLUX.3 Image Editing Guide: Local Edits, Box Rows and 10 References Canonical page: https://fuser.studio/articles/flux-3-image-editing-guide Edit images with FLUX.3 Image: add, replace, remove and recolour with an instruction, place edits with box rows, combine up to 10 references. 14 measured edits. [All guides](https://fuser.studio/articles) · [FLUX.3 Image in Fuser](https://fuser.studio/models/flux-3-image) · [FLUX.3 Image prompt guide](https://fuser.studio/articles/flux-3-image-prompt-guide) **Quick answer:** To edit with FLUX.3 Image, connect your image to the node and write the change as an instruction: name the one thing to change, say what it becomes, and list what must stay. There is no mask and no edit mode. For an exact position, append box rows to the prompt. To combine pictures, connect up to 10 images and refer to them as "image 1", "image 2" and so on. In our 13 single-image edits of one café photo, ten left 98.4 to 99.3% of the untouched area within 8 of 255 colour levels of the original. The other three changed more: one recolour spilled onto a nearby plate, and the two text edits that wrote the new word also redrew the whole frame. ## What FLUX.3 Image editing is FLUX.3 Image is Black Forest Labs' image model, released on 1 October 2026. Black Forest Labs writes it as FLUX 3 Image. One model generates and edits: "There is no edit mode, mask, or strength setting: the prompt says what to do with the images" ([BFL image editing guide](https://docs.bfl.ml/guides/prompting_editing_overview)). Fuser's **FLUX.3 Image** node works the same way. With nothing in **Images** it generates from text. Connect one or more images and it edits them. BFL's release notes call these "pixel-exact local edits". Their editing reference words it more carefully: "Pixels outside the boxes usually stay the same. Shadows, reflections, or nearby lighting may still change" ([FLUX 3 Image Editing](https://docs.bfl.ml/flux_3/flux3_image_layout)). We tested that by measuring it. ## How we tested Every edit started from the same source. We generated a café table photo with FLUX.3 Image at 1K and 3:2 (1248 × 832): a coffee cup, a croissant, reading glasses beside a handwritten notebook, a carafe and a fern by a window. Fuser shrinks stored reference images to fit 1024 × 1024 before sending them, so we sent a 1024 × 683 copy, as the node would. Each edit ran once at 1K with Aspect Ratio on Auto and Expand Prompt off, the node's defaults. We chose PNG output so file compression wouldn't affect the comparison. We ran a test again only when the first result raised a question, and each rerun is reported below. All 14 edits came back at 1248 × 832. To measure what stayed the same, we resized each output to 1024 × 683 and compared it pixel by pixel with the copy we sent. We left out a box around the object we asked to change, plus a 16-pixel margin. A pixel counts as unchanged when none of its colour channels moved by more than 8 of 255 levels. That allows for re-rendering noise but catches any visible change. We also checked whether the frame had shifted. ## Add, replace, remove and recolour ![Six versions of the café photo: source, milk jug added, croissant replaced by lemon tart, glasses removed, and two teal recolours of the cup, one of which also turned the plate blue.](https://statics.fuser.studio/cms/027af6e8-981f-4762-ab3f-4e58f1152a2c) _FLUX.3 Image at 1K, plain instructions, one run each except the recolour, which we ran twice. Percentages are the share of pixels outside the edited object that stayed within 8 of 255 levels of the input. Generated 2 October 2026 with the same model version as the Fuser node._ The four basic edits, written as plain instructions: - **Replace:** "Replace the croissant on the blue-rimmed plate with a slice of lemon tart. Keep the plate, the crumbs around it, the table and everything else unchanged." The tart sits on the same plate with the crumbs in place. 99.3% of the rest was unchanged. - **Remove:** "Remove the tortoiseshell reading glasses from the table. Keep the notebook and its handwriting, the carafe and everything else unchanged." The glasses and their shadow are gone and the wood grain runs through. 99.2% unchanged. BFL's own removal example works the same way, naming one target and what stays: "Remove the white car parked on the right. Keep the red car and the street unchanged" ([single-reference guide](https://docs.bfl.ml/guides/prompting_editing_single_reference)). - **Add:** "Add a small white ceramic milk jug on the table in the foreground, between the coffee cup and the croissant plate. Keep the coffee cup, the croissant, the notebook, the glasses, the carafe, the fern and the window unchanged." The jug arrived between the cup and the plate, but behind them rather than in front. 99.0% unchanged. The next section shows what fixed it. - **Recolour to a hex code:** "Change the color of the white coffee cup and its saucer to #1F6F8B. Keep the coffee, the spoon and everything else unchanged." BFL recommends hex codes when the exact colour matters ([single-reference guide](https://docs.bfl.ml/guides/prompting_editing_single_reference)). The cup and saucer turned teal-blue, but so did the croissant plate, which we hadn't asked for. Only 95.5% was unchanged. We ran the recolour prompt a second time, unchanged. The plate stayed white and 99.1% of the rest held, but the blue came out greyer. On the brighter side of the cup, run 1 measured about #377087 against the requested #1F6F8B, and run 2 about #668990. A hex code got the hue right both times. How saturated the result came out varied between runs, and shading makes a real glaze darker than the swatch anyway. ![Four changed-pixel maps: the replace changed only the plate, the first recolour also changed the croissant plate, the removal only the glasses, and a text edit the whole image.](https://statics.fuser.studio/cms/6093498f-f8a1-4836-a85e-d11df3587e89) _White marks pixels that moved by more than 16 of 255 levels; orange is the area we asked to change, plus a 16-pixel margin. Outputs were resized to the 1024 × 683 input for the comparison._ The changed-pixel maps show where each edit landed. In the clean runs, the only other marks are thin lines along fine detail, such as the handwriting and the fern, which was redrawn slightly differently. The output is not the original file with one object pasted in. It is a regenerated image that closely matches the input. ## When to add box rows BFL suggests starting with a written instruction and adding boxes when several similar objects match your description, or when the change needs an exact position or size ([single-reference guide](https://docs.bfl.ml/guides/prompting_editing_single_reference)). A box row is JSON appended to the end of the prompt. There's no separate field for it, so it works in Fuser's Prompt box as it is. Each box is `[top, left, bottom, right]` on a 0 to 1000 grid, whatever the image size ([bounding boxes](https://docs.bfl.ml/flux_3/flux3_image_bounding_boxes)). The first image is `ref_image_0`, so the box rows count from zero even though your instruction says "image 1". The row types, from BFL's reference: - **Keep:** `"from": "ref_image_0"` with the same source and target box. The element stays put. - **Move:** the same, with a new `tgt_bbox`. The element moves or resizes. - **New:** `"from": null`, `"src_bbox": null` and a target box. It generates what `desc` describes there, which covers adding, replacing and recolouring. - **Remove:** a source box and `"tgt_bbox": null`. Here is the start of the row list for our add test. The instruction names `` and the other ids, and Keep rows follow for the cup, plate, notebook, glasses, carafe and fern: `[{"id": "jug_1", "from": null, "src_bbox": null, "tgt_bbox": [742, 255, 918, 360], "desc": "A small white ceramic milk jug with a handle and spout, standing on the wooden table."}, {"id": "cup_1", "from": "ref_image_0", "src_bbox": [479, 65, 727, 315], "tgt_bbox": [479, 65, 727, 315], "desc": "A white ceramic cup of black coffee on a saucer with a spoon."}, …]` ![Three milk-jug edits of the café photo: first wording puts the jug behind the plates; clearer wording puts it in front, with or without box rows.](https://statics.fuser.studio/cms/d465e272-86f8-4399-be55-2f841509eb01) _Left: first wording, no boxes. Middle: reworded to "in front of the gap between the coffee cup and the croissant plate", no boxes. Right: the reworded instruction plus a New row for the jug and Keep rows for six other objects. One run each, 1K._ We expected boxes to fix the jug's position, and the box run did put it in front, inside the box, with 98.4% of the rest unchanged. But that run's instruction was also reworded to "in front of the gap between the coffee cup and the croissant plate", so we ran the reworded instruction once more with no box rows. The jug went in front there too, with 99.0% unchanged. In this test, plainer spatial wording fixed the placement on its own, and the box only pinned the jug to the area we marked. One run of each, so treat it as a hint rather than a rule: try clearer wording first, and add a box when the spot or size has to be exact. We also reran the removal and the recolour with box rows. The removal scored 99.0% against 99.2% for the plain run, so the box added nothing measurable for an object that was the only one of its kind. The recolour with a Keep row on the plate scored 99.0%: the plate stayed white and the cup came out about #3B7386. One run each isn't enough to prove the Keep row stops a spill, but it is the documented way to protect a neighbour: "Add a Keep row for each element that has to stay put" ([bounding boxes](https://docs.bfl.ml/flux_3/flux3_image_bounding_boxes)). Two limits from BFL's tests: very small boxes can fail ("a new element in a box of about 40 × 25 pixels often did not appear"), and boxes "guide placement; they are not clipping masks" ([bounding boxes](https://docs.bfl.ml/flux_3/flux3_image_bounding_boxes)). Describe the addition or removal in the instruction as well as in the rows. BFL says the two should agree. ## Editing text is the weak spot BFL's advice for text is to quote the exact words and describe their placement and style ([single-reference guide](https://docs.bfl.ml/guides/prompting_editing_single_reference)). We asked for the handwritten heading "Tuesday" on the notebook to become "Friday", and ran it four ways: ![Five close-ups of the notebook heading: the source reading Tuesday, an unchanged run, two runs reading Friday, and one reading Tueday.](https://statics.fuser.studio/cms/77b8524b-44d1-4ce1-94ec-7c7b9bf8c930) _Changing the handwritten "Tuesday" to "Friday", four runs. The two that wrote "Friday" also shifted and redrew the whole frame._ - **Plain instruction, run 1:** nothing changed. - **The same prompt, run 2:** "Friday", correctly spelled. But the image moved about 3 pixels vertically and was redrawn everywhere, so only 53.6% of the untouched area stayed within 8 levels. You can see it in the changed-pixel map above. - **With a box row on the heading:** "Friday" again, and again a redrawn frame (about a 2-pixel shift, 59.2% unchanged). - **Expand Prompt on:** "Tueday", one letter dropped. The rest held (99.3%). The heading is small handwriting, about 80 pixels wide in the image we sent, which makes this a hard case. Viewed side by side, the redrawn versions look like the same photo. Only the pixel comparison shows the difference. If the original pixels matter, use the approach in the next section. ## Keep the original pixels where it matters Every edit is regenerated. In our runs, the 1K output from a 1024-pixel input came back at 1248 × 832 and was slightly softer than the full-size original. If the rest of the image has to be the exact original, for example a product photo that has been approved, put the edit on top of the original in Fuser's [Compositor](https://docs.fuser.studio/docs/compositor/layers). Then crop it, or use a layer mask or the eraser, so only the changed area shows through. In our runs, edits that didn't shift the frame lined up with the original once both layers were the same size. The two text edits that shifted the frame would not line up, so check the alignment before you export. ## Combine up to 10 references FLUX.3 Image takes up to 10 images. BFL's rules for multi-reference prompts: refer to each image by its position, say what each one supplies, say how the pieces relate, and put the base image first, because with Aspect Ratio on Auto "the output takes its aspect ratio from image 1" ([multi-reference guide](https://docs.bfl.ml/guides/prompting_editing_multi_reference)). BFL's own examples read like "the person from image 1 wears the jacket from image 2 and stands in the kitchen from image 3" ([FLUX 3 Image Editing](https://docs.bfl.ml/flux_3/flux3_image_layout)) or, for a style transfer, "Turn Image 1 in the Style of Image 2" ([BFL image editing guide](https://docs.bfl.ml/guides/prompting_editing_overview)). ![Four reference images (the café scene, a green teapot, a mustard gingham cloth and a white vase with a yellow tulip) and the FLUX.3 Image result combining them on the café table.](https://statics.fuser.studio/cms/699f7565-127e-495c-accd-b351492c981f) _One run, four references, 1K, Aspect Ratio Auto (3:2 from image 1). All five images were generated with FLUX.3 Image for this test._ Our test used four references: the café photo, plus a green teapot, a mustard gingham cloth and a white vase with a tulip, each generated with FLUX.3 Image. The prompt, in one run: "Use image 1 as the base scene. Put the green teapot from image 2 on the table between the croissant plate and the glass carafe, lit by the same window light as image 1. Cover the table with the mustard gingham tablecloth from image 3, following the table's edges. Replace the potted fern with the white bud vase and yellow tulip from image 4. Keep the coffee cup, the croissant, the notebook and its handwriting, the reading glasses, the carafe, the window and the camera angle of image 1 unchanged." All three changes landed. The teapot is on the table by the carafe, with its bamboo handle intact. The cloth follows the table edge in perspective, and the tulip vase stands where the fern was. The cup, croissant, notebook text, glasses and carafe are the same objects in the same places, and 97.6% of the window and street area was unchanged. Two flaws: a stray fern leaf floats beside the tulip, and the cloth came out paler and browner than the mustard in image 3. The result kept image 1's 3:2 shape. Each reference must be at least 256 pixels on each side. Fuser shrinks images stored in your project to fit 1024 × 1024 before sending them, so big originals are not a problem. ## Settings that matter for edits - **Images:** up to 10. Connecting any image switches the node from generating to editing. - **Aspect Ratio:** Auto (the default) follows image 1. The node offers 14 fixed ratios from 21:9 to 1:2. Set one only when no reference has the shape you want. - **Resolution:** 512px, 768px, 1K (default), 2K or 4K. In Fuser credits, 2K costs about twice as much as 1K and 4K more than twelve times as much, so work out the instruction at 1K first. - **Expand Prompt:** off by default. It rewrites the prompt "while preserving its intent and the role of each reference image". In our one text test it made the result worse, so we left it off for edits. - **Output Format:** JPEG (default) or PNG. Use PNG if you plan to compare or composite the result. ## Writing the instruction What held up across our runs, and matches BFL's guidance: 1. **Name the target so only one thing matches.** Pick it out by position, size, colour or what it's next to. "The white coffee cup and its saucer", not "the white thing". 2. **Say where, in plain spatial terms.** "In front of the gap between the cup and the plate" put our jug where we wanted it; "in the foreground, between the cup and the plate" did not. 3. **Say what it becomes.** Name the element as it is and as it should be: "Replace the croissant … with a slice of lemon tart." 4. **List what stays, by name.** Our run 1 recolour said "everything else unchanged" and the plate changed anyway. Naming the plate, or giving it a Keep row, is the safer habit. 5. **One change per node for single-image edits.** Chain FLUX.3 Image nodes on the canvas so each step can be checked. BFL also documents several changes in one prompt, written as an edit record ([single-reference guide](https://docs.bfl.ml/guides/prompting_editing_single_reference)). Our four-reference run made three changes at once and they all landed. 6. **Use a box when the position or size must be exact,** and a Keep row for any neighbour that looks like the target. For writing prompts that generate from scratch, see the [FLUX.3 Image prompt guide](https://fuser.studio/articles/flux-3-image-prompt-guide). For how the new model compares, see [FLUX.3 vs FLUX.2](https://fuser.studio/articles/flux-3-vs-flux-2) and [FLUX.3 Image vs GPT Image](https://fuser.studio/articles/flux-3-image-vs-gpt-image). Fuser's other editing models are covered in [the best AI image editing models](https://fuser.studio/articles/best-ai-image-editing-models), the [FLUX Kontext editing guide](https://fuser.studio/articles/flux-kontext-editing-guide) and the [Qwen Image Edit guide](https://fuser.studio/articles/qwen-image-edit-guide). ## Build it in Fuser The canvas at the top is this test: one photo feeding three single-image edits, and the same photo as image 1 of a four-reference composition. 1. Add an image, or generate one with a [FLUX.3 Image](https://fuser.studio/models/flux-3-image) node. 2. Add a second FLUX.3 Image node and connect the photo to **Images**. For a composition, connect the base photo first, then the other references in the order you will name them. 3. Write the instruction in **Prompt**. Add box rows at the end when the position matters. 4. Leave Aspect Ratio on Auto and Resolution on 1K while you work out the instruction. Duplicate the node to try other versions side by side. 5. Rerun the one you keep at 2K or 4K. If the rest of the image has to be the exact original, finish in the [Compositor](https://docs.fuser.studio/docs/compositor/layers). ## Every edit we ran, measured. One source photo, FLUX.3 Image at 1K, 2 October 2026. "Unchanged" is the share of pixels outside the edited object within 8 of 255 levels of the input. ### Plain instructions | Edit | What happened | Unchanged | | --- | --- | --- | | Replace croissant with lemon tart | Done on the same plate, crumbs kept | 99.3% | | Remove reading glasses | Glasses and shadow gone | 99.2% | | Add a milk jug in the foreground | Added, but behind the plates | 99.0% | | Add a milk jug, reworded "in front of the gap" | In front, between cup and plate | 99.0% | | Recolour cup to #1F6F8B, run 1 | Cup recoloured; the plate turned blue too | 95.5% | | Recolour cup to #1F6F8B, run 2 | Cup only, greyer blue | 99.1% | ### With box rows | Edit | What happened | Unchanged | | --- | --- | --- | | Add a milk jug, reworded, in a box | In front, inside the box | 98.4% | | Remove reading glasses | Glasses and shadow gone | 99.0% | | Recolour cup, Keep row on the plate | Cup only, close to the hex | 99.0% | ### Text and references | Edit | What happened | Unchanged | | --- | --- | --- | | "Tuesday" → "Friday", run 1 | No change | 99.0% | | "Tuesday" → "Friday", run 2 | Correct, but frame shifted about 3 px and redrawn | 53.6% | | "Tuesday" → "Friday", box row | Correct, frame shifted about 2 px and redrawn | 59.2% | | "Tuesday" → "Friday", Expand Prompt on | Wrote "Tueday" | 99.3% | | Four references into one scene | Teapot, cloth and vase placed; a stray leaf | 97.6% of window area | ## Questions, answered. ### Does FLUX.3 Image need a mask to edit part of an image? No. You connect the image and describe the change in words. Black Forest Labs documents no mask, edit mode or strength setting, and Fuser’s node has no mask input. For an exact region, add box rows to the end of the prompt. ### Does FLUX.3 Image keep the rest of the image exactly the same? Close, not exact. In ten of our thirteen single-image edits, 98.4 to 99.3% of the pixels outside the edit stayed within 8 of 255 levels. But the image is regenerated, and two text edits redrew the whole frame. When the original pixels matter, put the edit over the original in Fuser’s Compositor and crop or mask it to the changed area. ### How many reference images can FLUX.3 Image use? Up to 10, each at least 256 pixels on a side. Refer to them as image 1, image 2 and so on, in the order they are connected. With Aspect Ratio on Auto, the output takes the shape of image 1. ### How do I refer to images in box rows? Box rows count from zero: the first image is ref_image_0 and the second is ref_image_1. In the written part of the prompt, keep calling them image 1 and image 2. ### Can FLUX.3 Image change text in a photo? Black Forest Labs says to quote the exact words and describe where they go. On a small handwritten heading, two of our four runs wrote the new word correctly, one made no change and one misspelled it. Check text edits closely and expect to rerun them. ### How do I recolour something to an exact colour? Give a hex code, for example "change the color of the white coffee cup and its saucer to #1F6F8B", and name the neighbours that must not change. In our runs the hue was right each time, but saturation varied from run to run, and one run also recoloured a nearby plate. ### What resolution should I edit at? Work out the instruction at 1K, the default. In Fuser credits, 2K costs about twice as much as 1K and 4K more than twelve times as much. From a 3:2 image, the 1K output was 1248 × 832. ## Change one thing. Keep the rest. Connect a photo to FLUX.3 Image, try several instructions side by side, and finish the keeper in the Compositor. [Open FLUX.3 Image in Fuser](https://fuser.studio/models/flux-3-image) · [Read the FLUX.3 Image prompt guide](https://fuser.studio/articles/flux-3-image-prompt-guide) ## More articles - [Qwen Image 3 Guide: Text Rendering, Editing and Settings](https://fuser.studio/articles/qwen-image-3-guide.md) - [Nano Banana Prompt Guide: Generate, Edit and Combine Images with Gemini](https://fuser.studio/articles/nano-banana-prompt-guide.md) - [FLUX.1 Kontext Editing Guide: Instructions, Identity and Iterative Edits](https://fuser.studio/articles/flux-kontext-editing-guide.md)