Nodes/NanoBanana FaceSwap/Nano Banana - Painted Edit
ComfyUI Node

Nano Banana - Painted Edit

A ComfyUI node in NanoBanana FaceSwap with 31 inputs and 4 outputs.

By IxMxAMAR·Created 3 months ago·Updated 2 months ago· 2
Nano Banana - Painted Edit
  • target_image
  • mask
  • identity_1
  • identity_2
  • identity_3
  • identity_4
  • identity_5
  • identity_6
  • network
  • image
  • status
  • mask
  • debug_sheet
api_key
modelgemini-3.1-flash-image-preview
edit_promptAdd a small rose tattoo to the painted region.
seed0
thinking_levelNONE
edit_modeblend
crop_tightness_pct100
obscure_outside_maskoff
obscure_blur_px40
composite_dilate_px0
composite_feather_px24
image_size2K
color_matchtrue
grain_matchtrue
sharpness_matchtrue
composite_methodlaplacian
lab_strength0.60
grain_strength1.00
dry_runfalse
timeout_ms180000
ref_cap_px1024
auto_relax_on_refusedfalse
CategoryNanoBanana FaceSwap

Inputs (31)

NameTypeDefaultDescription
api_keySTRING
modelCOMBOgemini-3.1-flash-image-preview3 options: gemini-3.1-flash-image-preview, gemini-3-pro-image-preview, gemini-2.5-flash-image
target_imageIMAGE
maskMASK
edit_promptSTRINGAdd a small rose tattoo to the painted region.
seedINT00–2147483647
thinking_levelCOMBONONE4 options: NONE, LOW, MEDIUM, HIGH
edit_modeCOMBOblendblend = tuned for face-swap / refining a region to look native (LAB+sharpness on, Laplacian composite). additive = tuned for tattoos / logos / objects you WANT to stand out crisply (LAB off, sharpness off, feather composite, grain still on).
crop_tightness_pctINT1000–200Padding around the painted mask bbox before cropping. 0 = mask bbox only (tightest, best for evading safety filters on revealing content). 100% = bbox-sized padding per side (more scene context for the model).
obscure_outside_maskCOMBOoffFill the crop's non-painted area before sending. 'blur' = heavy Gaussian (model gets skin tone + lighting but no NSFW shapes). 'mosaic' = pixelate. 'neutral' = solid skin tone. Use when editing near revealing content that trips IMAGE_SAFETY.
obscure_blur_pxINT404–200Blur radius (or mosaic block size) for obscure_outside_mask. Bigger = more hidden.
composite_dilate_pxINT00–40Expand the painted mask outward before feather. 0 = composite exactly inside the painted region.
composite_feather_pxINT240–128
image_sizeCOMBO2K3 options: 1K, 2K, 4K
color_matchBOOLEANtrue
grain_matchBOOLEANtrue
sharpness_matchBOOLEANtrue
composite_methodCOMBOlaplacian2 options: laplacian, feather
lab_strengthFLOAT0.600–1
grain_strengthFLOAT1.000–2
identity_1optIMAGE
identity_2optIMAGE
identity_3optIMAGE
identity_4optIMAGE
identity_5optIMAGE
identity_6optIMAGE
dry_runoptBOOLEANfalse
timeout_msoptINT1800005000–600000
ref_cap_pxoptINT10240–4096
auto_relax_on_refusedoptBOOLEANfalse
networkoptNB_NETWORKOptional. Wire a NanoBanana - Network Route node here to route this swap's API call through that proxy (e.g. US egress).

Outputs (4)

NameTypeDescription
imageIMAGE
statusSTRING
maskMASK
debug_sheetIMAGE