Nodes/ComfyUI-DLSS5-Enhancer-v15/DLSS5 Video Path Selector
ComfyUI Node

DLSS5 Video Path Selector

Stop typing file paths into a text box

By Strix-3D·Created 18 days ago·Updated 5 days ago· 4
DLSS5 Video Path Selector
    • video_path
    • images
    • audio
    ◄Video Path►
    ◄frame_load_cap0►

    What it is

    The front door for every video workflow in this pack. DLSS5 Enhance (Video) wants a path to a file sitting in ComfyUI's input/ folder, and the pack has no IMAGE-tensor video loader, so out of the box you'd be typing myclip_final_v3.mp4 into a string widget and guessing whether you got the folder right.

    This node replaces that: an upload button, a live video preview, and a linkable video_path output. That's the whole node. It's small, and it removes the single most tedious part of using the pack.

    How it works

    The Video Path widget is the real input - you can type into it directly, and it accepts a linked string from elsewhere. On execution the node validates the path against ComfyUI's input/ and output/ directories, rejects .., rejects absolute paths that escape those folders, then fires a dlss5_preview event carrying the path and its own node id. The frontend extension in web/ catches that event and sets the preview <video> source to /dlss5/view?path=…, a route the pack registers on ComfyUI's aiohttp server.

    The upload button is a DOM widget added by that same JS file. It POSTs the file to /dlss5/upload, which streams it to a temp file while computing a SHA-1 in the same pass. Before moving it into place, it walks the entire input/ tree, size-checks candidates first, hashes only the ones that match, and reuses an existing identical file if it finds one. So re-uploading the same clip gives you back the existing filename instead of clip_1.mp4, clip_2.mp4. That dedup landed in v1.3.0 and it's the difference between a clean input folder and a landfill.

    Empty string is handled gracefully - the node returns "" rather than crashing, and the downstream Enhance node raises the "path cannot be empty" complaint instead.

    The one input and the one output

    • Video Path (STRING) - relative path within input/. Type it, upload it, or link it.
    • video_path (STRING) - the resolved relative path. Wire it into DLSS5 Enhance (Video)'s Video Path input.

    That's it. If you were expecting a metadata readout, it moved: metadata lives on DLSS5 Video Info now, so this node is honestly one socket wide.

    Using it without pain

    Two habits that make this node pleasant:

    Uploads land in input/, so keep the folder shallow. The dedup scan runs over the whole tree and hashes every same-size candidate it finds. Point a few hundred clips at it and the first upload gets noticeably slow. That's the cost of never having duplicate files, and it's a fair trade once, not a fair trade repeatedly.

    Preview is refreshed on execution, not on keystroke. Type a path by hand and the preview may keep showing the previous clip until you hit Run. If it's stale even then, hard-refresh the browser - the URL is timestamped to defeat caching, but the extension itself is a static JS file the browser will happily hold onto across a pack update.

    And note what the preview actually proves: the file is readable and the path resolves. It says nothing about whether the video is the one you meant. For that, use DLSS5 Video Info and check the frame count.

    Install

    Ships with the pack; the frontend half needs WEB_DIRECTORY to be served, which __init__.py does for you, so a restart after install is mandatory - reloading the page alone won't pick up the new JS.

    cd ComfyUI/custom_nodes
    git clone https://github.com/Strix-3D/ComfyUI-DLSS5-Enhancer-v15
    .\python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-DLSS5-Enhancer-v15\requirements.txt
    .\python_embeded\python.exe ComfyUI\custom_nodes\ComfyUI-DLSS5-Enhancer-v15\install.py
    

    The runtime step is the ~700MB download; you need it for the Enhance nodes, not for this one. Windows, RTX 20-series or newer.

    If you've installed via ComfyUI Manager, search the pack title instead and skip the clone - same result, and Manager will run the requirements for you.

    Where it falls over

    "Unsupported file type. Video files only." The upload route accepts mp4, mkv, mov, webm, avi, m4v and nothing else. An image sequence or an .mxf straight off a camera gets rejected at the door - remux first.

    A path that works in another node gets rejected here. The validator only trusts input/ and output/; a relative path that climbs out with .. is refused outright. That's the intended behaviour, not a bug to route around.

    Uploaded but nothing happens. Check Video Path got filled by the widget. On the v1.3.0 rename from video_path to Video Path, the JS looks for both names, but a graph carried forward from v1.1.x is still a graph that needs rebuilding.

    CategoryDLSS5_v17

    Inputs (2)

    NameTypeDefaultDescription
    Video PathSTRINGRelative path within the input folder. Use the button to upload.
    frame_load_capINT00–100000 = load all frames. Limit this to prevent memory crashes on long videos.

    Outputs (3)

    NameTypeDescription
    video_pathSTRING—
    imagesIMAGE—
    audioAUDIO—