Nodes/ComfyUI Assistant Node/PVL FAL Nano-Banana Edit
ComfyUI Node

PVL FAL Nano-Banana Edit

Nano Banana editing without renting a 24GB card

By pvlprk·Created about a year ago·Updated 8 months ago· 1
PVL FAL Nano-Banana Edit
  • image
  • images
  • description
prompt
num_images1
output_formatjpeg
sync_modefalse

Google's Nano Banana - the Gemini 2.5 Flash Image model - is the poster child for "great model, closed weights." You can't run it locally, full stop. This node reaches it the honest way: through fal.ai's hosted nano-banana/edit endpoint. Give it a prompt and a source image, and it rewrites that image the way Google's editor does, which for character work, relighting, and subject swaps is startlingly good at following plain-English instructions.

If you've seen Nano Banana output on socials and wondered how to get it inside a ComfyUI graph, this is the node. You stay in ComfyUI, the heavy lifting happens on fal's servers, and the edited image comes back as a normal IMAGE tensor that feeds the rest of your graph.

How it works

The node takes your IMAGE tensor, base64-encodes it, and sends it to fal-ai/nano-banana/edit with your prompt. Batch inputs are split into per-frame requests. It then grabs whatever the endpoint returns - hosted image URLs or data URIs depending on sync_mode - and packs them back into a ComfyUI batch.

The second output, description, is worth knowing about: Nano Banana's edit endpoint can return a short text explanation alongside the image. Wire it to a text node if you want a record of what it actually did, or ignore it.

The inputs that matter

  • prompt - the edit instruction. This is the whole game. "Make the sky a sunset" and "turn the cat into a robot" both work; vague prompts give you the classic "everything moved" Nano Banana wobble.
  • image - what you're editing. One image or a whole batch.
  • num_images - 1 to 8. Nano Banana edits aren't perfectly deterministic, so generating a few and picking is the normal workflow.
  • output_format - jpeg (the default, oddly) or png. Pick png if you're going to composite the result against transparency or do further editing; jpeg artifacts compound fast.
  • sync_mode - false normally. True forces the API to wait synchronously, which can change latency characteristics but isn't something you need to touch.

Installing it

Same pack as everything else in "ComfyUI Assistant Node":

cd ComfyUI/custom_nodes
git clone https://github.com/pvlprk/comfyui-pvl-api-nodes

Restart ComfyUI. It needs a fal.ai key - the node reads FAL_KEY from the environment. export FAL_KEY="..." before launching, and you're set. No models download; the model never touches your machine.

Common issues

The first thing people hit is the safety filter. Nano Banana is a heavily moderated model - the corpus is full of people calling it "powerful but unimaginative" precisely because the hidden biasing is aggressive. If your edit comes back refused or heavily sanitized, it's the model, not the node; route that particular prompt elsewhere. Second, remember the cost model: every request bills against your fal account, and an 8-image batch is 8 generations. Finally, if you see FAL_KEY environment variable not set, that's the classic startup miss - double-check the env var is visible to the ComfyUI process (a .env file loaded by your shell does not always reach the server it spawned).

CategoryPVL_tools

Inputs (5)

NameTypeDefaultDescription
promptSTRING
imageIMAGE
num_imagesINT11–8
output_formatCOMBOjpeg2 options: jpeg, png
sync_modeBOOLEANfalse

Outputs (2)

NameTypeDescription
imagesIMAGE
descriptionSTRING