Nodes/ErosDiffusion-ControlnetMaps/ControlNet Map Browser (ErosDiffusion)
ComfyUI Node

ControlNet Map Browser (ErosDiffusion)

A visual library for your ControlNet maps

By erosDiffusion·Created 9 months ago·Updated 8 months ago· 3
ControlNet Map Browser (ErosDiffusion)
    • image
    • mask
    cache_path
    extra_path
    filename

    ControlNet maps are the worst part of the workflow to keep straight. You end up with a folder full of canny and depth PNGs and no way to tell which is which without opening each one - or you re-run the preprocessor because remembering a filename is harder than just clicking Run. The ControlNet Map Browser node turns that folder into an actual library: a sidebar with a grid of your cached maps, searchable, filterable by type and tag, with the one you click flowing straight into your graph.

    The name is a lie in the good way - it doesn't generate anything and needs no model downloads. It's the visual companion to the pack's Cache node. Generate maps once, cache them, then pick from a browsable shelf instead of hunting through input/maps by hand. For anyone who works from a fixed set of source images - a character you keep returning to, a batch of products, a pose library - that browsing layer is the difference between a workflow you use and a workflow you dread.

    How it works

    The node carries an "Open/Connect to map browser" button. Click it and a drawer opens in the ComfyUI sidebar (it's a Web Components frontend talking to the pack's own /eros/cache/* and /eros/tags/* API routes, with tags and favorites stored in a local SQLite DB). You get a responsive grid of cached maps with badges for tags, a search box that filters by name or tag, per-type tabs, and favorites. Select a map and the node's filename field is populated; on the next run it loads that file and hands it downstream.

    It also has an overlay mode: if a matching "original" image exists, you can blend it over the map at adjustable opacity to eyeball whether the canny map actually lines up with the photo. That's a genuinely useful QA trick when you're reusing maps from someone else's download.

    The inputs and outputs

    Only three inputs, and you barely touch two of them:

    • cache_path - root directory for the cache. Leave empty and it defaults to Comfy's input/maps folder. This is the one you set if your maps live elsewhere.
    • extra_path - an additional directory to browse, on top of the cache root. Handy if you keep map packs in a separate folder.
    • filename - set by the UI when you select something. It's readout, not a field you type into, and it's relative to the cache/extra path.

    The outputs are what you wire onward:

    • image (IMAGE) - the selected map, ready to feed a ControlNet apply node. This is the whole point.
    • mask (MASK) - the alpha channel of the selected PNG if it has one; an empty mask otherwise. Only matters if your maps carry transparency.

    The intended loop is to feed the browser's image into the Cache node's lazy source_browser input, which passes it through untouched - browser picks, cache caches, ControlNet conditions.

    Installing it

    Via ComfyUI Manager, search "ControlnetMaps". Manual route:

    cd <your ComfyUI>/custom_nodes
    git clone https://github.com/erosDiffusion/ErosDiffusion-ControlnetMaps.git
    

    Restart, and it's under the ErosDiffusion category (the useCachedMaps template workflow shows the whole browser loop wired up). There's no dependency install needed - the changelog promises a fresh install works out of the box. Want to play before generating anything? The README links a starter import zip with two pre-generated maps and tags; import it via the browser and you have an instant library.

    Where people get burned

    • The preview doesn't render in the node under ComfyUI's Nodes 2.0 frontend. The README's known-issues section says it plainly: to see previews in the node, use the legacy canvas (tested on ComfyUI v0.4). The sidebar itself still works, but expect this quirk.
    • It shows what's on disk - it won't invent maps. If you already have maps, drop them in input/maps/<type>/ and refresh. The browser is a file browser first, a manager second.
    • Overlay needs an "original". Maps whose basename has no matching image in another type's folder won't show the original overlay, and switching type won't match anything. Keep basenames consistent across folders.

    It's beta software from a small author and it shows in the edges - but as a way to actually see what you've got, it beats every "remember which PNG is which" workflow I've tried. Worth the install.

    CategoryErosDiffusion

    Inputs (3)

    NameTypeDefaultDescription
    cache_pathSTRINGRoot directory for the cache. Leave empty to use the Comfy input/maps folder.
    extra_pathoptSTRINGAdditional path to browse.
    filenameoptSTRINGSelected filename (relative to cache/extra path).

    Outputs (2)

    NameTypeDescription
    imageIMAGE
    maskMASK