Nodes/FlowPath/FlowPath
ComfyUI Node

FlowPath

Never stare at ComfyUI_00353.png again

By maartenharmsΒ·Created 7 months agoΒ·Updated 7 months agoΒ· 41
FlowPath
    • path
    • filename
    β—„widget_data{}β–Ί

    The name is a lie, in a good way. FlowPath doesn't route anything - it's a string builder that lives between your sampler and your Save Image node, and it exists to solve the exact problem you're probably ignoring right now: your ComfyUI/output/ folder is a landfill of ComfyUI_00353.png, ComfyUI_00354.png, and no way to tell which one is the character you're iterating on. It's the kind of utility you don't think you need until you've spent ten minutes scrolling for one image. Then it's the only node you reach for.

    Here's the pitch in one line: you stack "segments" (Category, Name, Date, Model, LoRA, Resolution, Seed…) into a folder path, and FlowPath builds the filename_prefix for your save node so everything lands in Characters/Umbrael/2026-01-30/ instead of one giant pile. Built by Maarten Harms (Mern), the same person behind the PromptFlow prompt-builder pack - they share the same theme system, so if you run both they feel like one family. It's free, MIT-licensed, and brand new (launched January 2026), so treat the details as moving targets, but the core idea is dead simple.

    How it works

    Under the hood it's embarrassingly simple, which is why it's reliable. The node itself is a thin Python wrapper - its only real input is a hidden widget_data string carrying the whole segment stack from the frontend - and it emits two strings: path and filename. All the cleverness lives in the browser widget: you drag segments up and down to reorder them, and it renders a live preview of what your path will look like before you generate.

    Auto-detection is where it earns its keep. Model, LoRA, and Resolution are detected by scanning your graph for the loader nodes (CheckpointLoaderSimple, LoraLoader, EmptyLatentImage, and friends) and clicking the ↻ button fills them in. Seed is different: it's captured dynamically at generation time from the actual sampler, so your seed segment is never stale. And the {counter} variable scans the output folder for existing files and auto-increments - 0001, 0002, 0003 - which is why the node forces itself to re-run on every execution rather than caching its result. No session tracking, so counters survive restarts. That's the whole magic, and it's solid.

    The two outputs, and the mode toggle

    The inputs you actually touch are zero; everything is widget-driven. The outputs matter:

    • path - the folder structure, e.g. Characters/Umbrael/2026-01-30
    • filename - a separate filename pattern (mostly for Image Saver)

    The SI | IS toggle in the preview header decides how they get used. SI mode (default, for ComfyUI's built-in Save Image): wire path into filename_prefix, ignore the filename output, and Save Image appends its _00001 counter. IS mode (for the popular Image Saver custom node): path is just the folder, filename is the pattern ({name}_%seed), and you wire both in. Two save systems, one node, a toggle instead of a separate pack - that's genuinely thoughtful.

    Install and the good news

    cd ComfyUI/custom_nodes
    git clone https://github.com/maartenharms/comfyui-flowpath
    

    Then restart ComfyUI. ComfyUI Manager works too - search "FlowPath" and install. The genuinely good news: there are no dependencies, no model downloads, no pip packages. It's pure frontend JavaScript plus Python stdlib. That's the whole install. Want a clean wireless hookup? Install cg-use-everywhere and connect FlowPath's path to an Anything Everywhere node instead of dragging a wire.

    Where people get burned

    • Auto-detect finds nothing - the loader nodes have to actually exist in the workflow. Add the checkpoint first, then hit ↻. Browser console (F12, search [FlowPath]) shows what it found.
    • Node not appearing - restart ComfyUI fully and check the console for "flowpath" errors; this pack is young, so edge cases happen.
    • Wrong seed - it prioritizes Image Saver's Seed Generator nodes over KSampler; if you have both, that's expected behavior.
    • Empty path - with no segments enabled it defaults to ComfyUI in SI mode (saving to output/ComfyUI_00001.png) rather than dumping to root. Annoying if you forgot to set segments, useful as a safety rail.

    One honest caveat: it's a niche, brand-new pack, so don't expect a huge community behind it yet. But the mechanism is boring-in-a-good-way, the {counter} persistence is the killer feature, and at 0 dependencies it costs nothing to try. Your output folder will thank you.

    Category🌊 FlowPath

    Inputs (1)

    NameTypeDefaultDescription
    widget_dataoptSTRING{}β€”

    Outputs (2)

    NameTypeDescription
    pathSTRINGβ€”
    filenameSTRINGβ€”