Nodes/ComfyUI-JNodes/Upload Visual Media
ComfyUI Node

Upload Visual Media

One upload node for images and video, with metadata attached

By JaredTherriault·Created 3 years ago·Updated about a month ago· 91
Upload Visual Media
    • media_path
    media
    upload_to_directory

    Think of this as ComfyUI's stock LoadImage node, except it doesn't care whether you're feeding it a still image or a video, and it shows you the file's metadata right below the preview. It's JNodes' answer to needing two separate upload paths for two media types when, functionally, you just want "get this file into ComfyUI and give me a path to it."

    How it fits into a workflow

    This node doesn't decode frames itself - its whole job is getting a file onto disk (into ComfyUI's input or temp folder) and handing you back the path as a string. From there you plug that path into JNodes_LoadVisualMediaFromPath, which is what actually reads the file and outputs frames as an IMAGE pin, with controls for where in the clip to start and how many frames or seconds to pull. Splitting upload from decode this way means the upload step stays simple and the same uploaded file can be re-read multiple ways downstream without re-uploading it.

    You can get media into this node two ways: drag a file straight from your file explorer, or - if you've got JNodes' ImageDrawer open - drag an image or video directly out of the drawer and drop it onto the node. That second path is one of the nicer JNodes touches: browse your output history in the drawer, drag the one you want onto an Upload Visual Media node, and you're rerunning a pipeline on a previous result without ever touching your OS's file picker.

    Inputs and outputs

    • media - the file itself, attached via drag-and-drop or the upload picker. Once uploaded, ComfyUI shows a preview plus formatted metadata read out of the file (prompt data, generation parameters, etc. if the file carries them).
    • upload_to_directory - a choice between input and temp, controlling which ComfyUI folder the file is copied into.
    • media_path (output) - a STRING, the resolved path to the uploaded file. Wire this into JNodes_LoadVisualMediaFromPath (or anywhere else that just needs a file path) to actually use the media.

    Note it only outputs a path, not image data directly - you still need a loader node downstream to get pixels or frames out of it.

    Installing it

    Standard JNodes install:

    • ComfyUI Manager - search "JNodes", install, restart.
    • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/JaredTherriault/ComfyUI-JNodes, then pip install -r requirements.txt, then restart ComfyUI.

    No extra model download for this node - it's pure I/O.

    Common issues

    If a workflow you downloaded has this node and the upload picker shows nothing to select, that's expected on a fresh install - media starts empty until you attach something, so a shared workflow JSON referencing someone else's uploaded file won't carry the file itself along with it; you'll need to re-upload your own. If dragging from the ImageDrawer onto this node doesn't work, double check the drawer is actually enabled (Settings > JNodes > Image Drawer Enabled requires a page refresh after toggling) - a disabled drawer just won't respond to drag targets.

    As with every JNodes node, remember the pack changes ComfyUI's UI globally on install (floating status bar, docked drawer). If something in your interface looks unfamiliar after adding this pack, check ComfyUI Settings > JNodes before assuming it's this specific node's fault.

    Categorysd

    Inputs (2)

    NameTypeDefaultDescription
    mediaCOMBO1 options: input/example.png
    upload_to_directoryCOMBO2 options: input, temp

    Outputs (1)

    NameTypeDescription
    media_pathSTRING