Nodes/ComfyUI-FunPack/FunPack Load Media
ComfyUI Node

FunPack Load Media

Load Image, except the id comes from FunPack's media bin

By digital-garbage·Created about a year ago·Updated about 13 hours ago· 20
FunPack Load Media
    • image
    ◄media_id►
    ◄blank_width0►
    ◄blank_height0►

    Pick this node up cold and the first thing you notice is the thing that isn't there: no upload button, no filename dropdown, no preview. Just a text field called media_id. That's not a half-finished node - it's a node that keeps FunPack's own media library honest, and once you understand where the id comes from it's more convenient than dragging files into ComfyUI/input forever.

    What's going on

    FunPack 5 has a media bin in the browser studio at /funpack/. When you drop a picture in there, it's written into the pack's own media folder with a thumbnail and an index entry, and it gets an id. That id is what this node is for. The app fills media_id in for you when you pick a picture for a scene; the node resolves the id to a file path, checks the entry actually exists and that its kind is image, and hands you a tensor.

    The reason it works by id rather than filename is that a project needs its pictures to survive being renamed, moved and re-rendered. An id keeps pointing at the thing you picked. The trade is that the library is local to this install - ids aren't portable.

    There's also the odd-looking pair at the bottom: blank_width and blank_height. If nothing is picked and both are above zero, the node doesn't refuse - it hands you a plain 50% grey picture of that size. On the H3 preset that's deliberate: a text-only scene still needs a picture on the graph to set the video's shape, and a grey placeholder does that without pretending to be content. Set them to 0 and an empty pick becomes an error instead.

    Inputs and output

    media_id is the only required input and it's a plain string - "picked in the Media bin", per the tooltip. Optionally blank_width / blank_height, both defaulting to 0, meaning refuse.

    One output: image, which is exactly what you'd feed a VAE Encode, a start-frame input, or an identity transfer reference. No mask, no batch handling, no metadata - it's a plumbing node and it behaves like one.

    Installing

    cd ComfyUI/custom_nodes
    git clone https://github.com/olivv-cs/ComfyUI-FunPack
    pip install -r ComfyUI-FunPack/requirements.txt
    

    Restart ComfyUI afterwards. ComfyUI Manager's version is the same thing - search ComfyUI-FunPack - but Manager installs from the Registry, which trails the repo; confirm which release you got in Settings ▸ About FunPack. FunPack leans on your existing PyTorch install and only pulls comfy-kitchen and gguf itself.

    You don't strictly need the browser studio to use this node, but you do need the library to have something in it, which means opening /funpack/ and dropping a file into the bin. That's the honest workflow: bin first, then graph.

    Where it bites

    "Nothing is picked for this input. Choose an image in the Media bin." Either media_id is empty and no blank size was set, or the app hasn't written the id yet. Boring, and usually the answer.

    "media … is not in the library any more - it may have been deleted." This is the one that gets people who share workflows. The library drops entries whose file has vanished from disk (the index is filtered against the folder on load), and an id from someone else's FunPack simply doesn't exist here. There's no lookup-by-filename fallback and no warning at import - the graph looks fine until you hit Generate. If you're distributing a workflow, pair it with the images.

    "… is not an image." The bin stores video clips too, and this node only reads pictures. It says so rather than handing you a tensor of nonsense.

    And the grey placeholder quietly becoming your start frame. blank_width/blank_height exist to give a text-only scene a shape. If your pipeline treats that picture as pixels rather than dimensions, you've just asked the model to animate a grey rectangle. Check what's downstream before you leave blanks set.

    CategoryFunPack/Media

    Inputs (3)

    NameTypeDefaultDescription
    media_idSTRINGA media library id, picked in the Media bin.
    blank_widthoptINT00–16384With nothing picked, make a plain grey picture this wide instead of refusing. 0 = refuse.
    blank_heightoptINT00–16384With nothing picked, make a plain grey picture this tall instead of refusing. 0 = refuse.

    Outputs (1)

    NameTypeDescription
    imageIMAGE—