Seedream 4.5 Edit (FAL API)
Seedream 4.5 Edit — the maskless editor that still lands where you want it
- image_1
- image_2
- image_3
- image_4
- image_5
- image_6
- image_7
- image_8
- image_9
- image_10
- images
- info
Seedream 4.5 doesn't take a mask. It takes a reference image, a sentence, and your hopes - and then it regenerates the whole frame. That's the entire reason this node ships inside a crop-and-stitch pack: the crop hides the rest of the image from the model, and the stitch pastes back only the region you actually wanted changed. Out of the box it's useless; wired into this pack's isolate/stitch flow it's one of the better garment-detail passes you can run from ComfyUI.
This is a thin wrapper around FAL's fal-ai/bytedance/seedream/v4.5/edit endpoint. One notable difference from the sibling edit nodes here: it accepts up to ten reference images (image_2 through image_10), so it's the node you reach for when a single before-shot isn't enough and you want to feed several garment or product references along with the base image.
What you actually set
The required inputs are image_1 (the crop you want edited), prompt, and the FAL key pair. The default prompt is worth reading - it's a good template for how to talk to an edit model that doesn't have a mask to hide behind:
Enhance only the visible garment area in Image 1. Use reference images only for garment detail. Preserve the crop, pose, skin, background, and visible cut-off edges.
Notice the "preserve the crop ... and visible cut-off edges" bit. Because Seedream sees the whole crop and can complete cut-off objects, the pack's crop nodes add an edge_guard to keep the borders uneditable - you want that working, or the model will happily grow a sleeve that was cropped at the frame.
The inputs that matter after that:
image_size_mode- set toauto_from_regionwhen you've wiredregion_infoin. It makes Seedream request the exact size of the isolated crop, so the stitch lines up.auto_2K/auto_4K/customare there if you're running standalone.region_info- theinfooutput fromSmartObjectIsolateCrop. Feed it in and sizing becomes a solved problem.num_images/max_images(1–6) - how many candidates to generate; pick your favorite before stitching.seed--1omits it (FAL picks), otherwise set it for a reproducible pass.enable_safety_checker- on by default, and this pack's typical use case (garments, body regions) is exactly where it occasionally misfires, so know it's there.
Outputs are just images and info. images goes into SmartMaskStitch (or SmartMaskMultiStitch if you're doing top and bottom in separate passes); info is metadata you can mostly ignore once auto_from_region is doing its job.
The flow it belongs in
The README's recommended route is:
SAM 3 or Florence selector -> mask -> Smart Object Isolate Crop
-> isolated_image -> image_1
-> info -> region_info
-> Seedream 4.5 Edit -> Smart Mask Stitch
For two independent garment passes (say bra and pants), run two selectors and two Seedream calls, then combine with SmartMaskMultiStitch. The pack ships a ready example: 07_florence_garment_detail_seedream45_multistitch.json.
Install and keys
Same as every node in this pack - it's one clone, fifteen nodes. Search comfyui-inpaint-cropstitch-nb2 in ComfyUI Manager, or:
cd ComfyUI/custom_nodes
git clone https://github.com/amortegui84/comfyui-inpaint-cropstitch-nb2
Dependencies install on first startup (fal-client, requests, pillow, numpy, scipy). There are no model downloads - Seedream runs on FAL's servers, so you need a FAL key in the api_key field or in FAL_KEY (set it before launching ComfyUI and fully restart; the key looks like key_id:key_secret from fal.ai/dashboard/keys).
The gotcha people actually hit: a 401 Unauthorized from storage/auth/token on the first call. That's almost always the key not reaching the process - paste it directly into the node's api_key for a quick test, then move to the env var once it works.
Inputs (22)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | Enhance only the visible garment area in Image 1. Use reference images only for garment detail. Preserve the crop, pose, skin, background, and visible cut-off edges. | — |
| image_1 | IMAGE | — | |
| api_key | STRING | — | |
| api_key_env_var | STRING | FAL_KEY | — |
| image_2opt | IMAGE | — | |
| image_3opt | IMAGE | — | |
| image_4opt | IMAGE | — | |
| image_5opt | IMAGE | — | |
| image_6opt | IMAGE | — | |
| image_7opt | IMAGE | — | |
| image_8opt | IMAGE | — | |
| image_9opt | IMAGE | — | |
| image_10opt | IMAGE | — | |
| region_infoopt | STRING | — | |
| image_size_modeopt | COMBO | auto_from_region | 4 options: auto_2K, auto_4K, custom, auto_from_region |
| widthopt | INT | 20481920–4096 | — |
| heightopt | INT | 20481920–4096 | — |
| num_imagesopt | INT | 11–6 | — |
| max_imagesopt | INT | 11–6 | — |
| seedopt | INT | -1-1–2147483647 | — |
| enable_safety_checkeropt | BOOLEAN | true | — |
| sync_modeopt | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| info | STRING | — |