Nodes/Endless ️🌊✨ Nodes/FLUX Kontext Batch Prompts
ComfyUI Node

FLUX Kontext Batch Prompts

Editing One Image With Many Ideas, in One Batch

By tusharbhuttΒ·Created 3 years agoΒ·Updated about a year agoΒ· 68
FLUX Kontext Batch Prompts
  • clip
  • CONDITIONING
  • PROMPT_LIST
  • PROMPT_COUNT
β—„promptschange sky to sunset add rainbow make it nightβ–Ί
β—„guidance3.5β–Ί
β—„print_outputtrueβ–Ί
β—„max_batch_size0β–Ί

FLUX Kontext is BFL's 12B instruction-based editor: give it an image plus a sentence ("make it night," "swap the shirt to red") and it edits the image to match. It's great at it - strong character consistency, and it's famous for watermark removal. The annoyance is that it's one edit at a time. FLUX Kontext Batch Prompts fixes that: one image in, a list of edit prompts, and each prompt becomes its own simultaneous edit pass. If you've ever wanted to see "sunset," "rainbow," and "night" applied to the same base shot without queuing three runs, this is the node.

What it's actually for (and what it isn't)

This is the Kontext-flavored sibling of the pack's batch prompt nodes, and the workflow shape is different. With the SDXL/Flux text-to-image batchers you feed a list of prompts and get a list of fresh images. Kontext is an editor, so here the prompts are instructions that modify your source image - and the README is explicit about a limitation: it's not for iterating a sequence of changes on top of each other. Prompt 1 doesn't chain into prompt 2. It's "run all these scenarios at once," not "do these in order." If you want a storyboard of edits, keep them independent.

How it works

Same batching backbone as the rest of the pack, with two Kontext-specific twists:

  1. Prompts are split on newlines, each tokenized and encoded through the clip input with pooled output.
  2. The result gets concatenated into one conditioning batch.
  3. Critically, the node stuffs your guidance value into the conditioning as both guidance and guidance_scale - Flux-family models expect their guidance baked into the conditioning, not handed over as a separate CFG slider, and Kontext inherits that. Get this wrong and your edits come out mushy, so the node handling it for you is genuinely useful.

max_batch_size behaves like the rest of the pack: 0 means "process everything I typed," a larger number cycles your prompts to fill the batch.

Inputs and outputs

  • prompts (multiline STRING) - one edit instruction per line. The default is change sky to sunset / add rainbow / make it night, which is honestly a decent template to learn on.
  • clip (CLIP) - the Flux Kontext model's clip (T5 + CLIP pair from your loader).
  • guidance (FLOAT, default 3.5) - Flux guidance strength, tuned into the conditioning. Leave at default to start.
  • max_batch_size and print_output - as above.

Outputs: CONDITIONING (into the KSampler), PROMPT_LIST (pipe-joined, for downstream filenames), PROMPT_COUNT (INT).

Practical notes

Kontext Dev is a guidance-distilled model, which per the KB means CFG-style thinking doesn't map cleanly onto it - that's exactly why this node hard-codes guidance into the conditioning instead of expecting you to. Also remember Kontext's licensing baggage: BFL's anti-circumvention clause makes NSFW edits a license violation, so keep your edit prompts within the use policy. And the same VRAM warning from the pack's other batchers applies: simultaneous batch means simultaneous memory.

Installing

ComfyUI Manager (search Endless Nodes) or:

cd ComfyUI/custom_nodes
git clone https://github.com/tusharbhutt/Endless-Nodes

Restart, look under Endless 🌊✨ β†’ BatchProcessing. The repo includes a Kontext workflow JSON to get you started. Single-author hobby pack, GPL v3 - good utility, just don't treat it as supported software.

CategoryEndless 🌊✨/BatchProcessing

Inputs (5)

NameTypeDefaultDescription
promptsSTRINGchange sky to sunset add rainbow make it nightβ€”
clipCLIPβ€”
guidanceFLOAT3.50–100β€”
print_outputBOOLEANtrueβ€”
max_batch_sizeINT00–64β€”

Outputs (3)

NameTypeDescription
CONDITIONINGCONDITIONINGβ€”
PROMPT_LISTSTRINGβ€”
PROMPT_COUNTINTβ€”