Nodes/BV Node Pack/πŸŒ€ BV Detailer Loop End
ComfyUI Node

πŸŒ€ BV Detailer Loop End

The loop's exit door β€” wire your finished image here

By BlackVortexAIΒ·Created 9 months agoΒ·Updated 3 days agoΒ· 7
πŸŒ€ BV Detailer Loop End
  • flow
  • processed_image
  • final_image

BV Detailer Loop End is the quiet bookend to the BV Detailer Loop. Start opens the loop, the Job Resolver and Detect-to-SEGS do the work, and End does two jobs at once: it feeds the processed image back into the loop for the next job, and it hands you the final accumulated image when every job is done. It's the only node you wire the detailer's output into, and the one whose output is the thing you actually save.

If Start is the front door, End is where the loop closes. You won't tune anything on it - there are no settings, just a flow wire, an image in, and an image out. The interest is entirely in what you connect to it.

How it works

At queue time, End expands into three hidden (internal) nodes that do the mechanical work: BV Detailer Loop Advance (internal) bumps the job index and carries the processed image forward, BV Detailer While End (internal) decides whether to loop again or exit, and BV Detailer Loop Result (internal) extracts the accumulated image. That whole dance is ComfyUI's recursive graph expansion - the way you build a real while loop without a frontend plugin. You never see it working; you just get the image.

The loop's continuity rule is simple and worth internalizing: each job starts from the previous job's output. Your processed_image here becomes the current_image of the next iteration, so every region's fixes compound across the canvas. That's the whole reason to use a loop instead of five independent detailers.

Inputs and outputs

  • flow (FLOW_CONTROL) - the same flow output from BV Detailer Loop Start. This is what tells End where the loop body closes. Wire them and forget it.
  • processed_image (IMAGE) - the output of your Impact Detailer (SEGS/pipe) (or MaskDetailer (pipe)). The image that just got this iteration's detail pass.
  • final_image (IMAGE) - the accumulated result after the last job. Send it to a Save Image / Preview node. Done.
BV Detailer Loop Start.flow + Impact Detailer.image
    --> BV Detailer Loop End.final_image --> Save

Installing it

This node ships with BV Node Pack, same install as the rest of the loop family. ComfyUI Manager, search BV Node Pack; or:

cd ComfyUI/custom_nodes
git clone https://github.com/BlackVortexAI/bv_nodepack.git

Restart ComfyUI and hard-refresh the browser (Ctrl+F5) - the pack includes frontend extensions, so a stale tab can show a missing-node error after install. Update with git pull in the bv_nodepack directory.

Downstream, the loop's detector path needs ComfyUI-Impact-Pack. If every job is mask-only you can technically skip it, but the moment you assign a detector in the plan, Impact is required for the SEGS detailer consumer.

Common issues

  • Wired final_image straight from the raw render and got the un-detailed image. That's the classic miswire: final_image is only correct if you connected your detailer's output to processed_image. Check the loop closes on the Impact node, not on the initial render.
  • The (internal) nodes appear during execution. Normal. They're created by graph expansion and shouldn't be placed or edited by hand.
  • Loop exits after the first job. If the plan holds one job, that's not a bug - it's a one-job loop. More jobs than you expected usually means regions with Usage set to Detailer only you forgot about; check the plan's plan_summary output.

End is the node you'll stop thinking about the fastest - which is exactly what a good exit door should be. Wire flow and the detailer's image in, take final_image out, and the loop runs itself to completion.

CategoryπŸŒ€ BV Node Pack/regional/detailer

Inputs (2)

NameTypeDefaultDescription
flowFLOW_CONTROLβ€”
processed_imageIMAGEβ€”

Outputs (1)

NameTypeDescription
final_imageIMAGEβ€”