Nodes/ComfyUI In-N-Out Bucket/Load Video From Bucket
ComfyUI Node

Load Video From Bucket

The dropdown picker for your S3 video library

By littleowl·Created 3 months ago·Updated 3 months ago· 2
Load Video From Bucket
    • video
    • manifest
    key

    If Input Video Bucket is the "I have a key, load it" node, Load Video From Bucket is the "let me see what I've got" node. Same underlying loader, same outputs - video (VIDEO) and manifest (BUCKET_MANIFEST) - but the key arrives via a dropdown of every video asset in your bucket rather than a typed UUID.

    It's the video tier's answer to a real workflow need: ComfyUI generates clips, you stash them in the bucket, and later you want to grab one without running a script to fetch its key. This node is the human interface to that library.

    How the dropdown works

    With S3_ALLOW_KEY_LISTING=true (the default), the key input is a COMBO populated live from the /in_n_out/video/keys route, with a refresh button. It recognizes video extensions like mp4, webm, mkv, mov, avi, and m4v, collapsing each asset to its clean <subfolder>/<uuid> key. Set S3_ALLOW_KEY_LISTING=false and it degrades to a plain text input - functionally the Input node.

    The usual conveniences apply: pick a key and the video previews immediately (it downloads from S3 on demand and caches in temp, no workflow run), and there's a "choose file to upload" button that uploads a local video into the bucket, sets the key, and adds it to the dropdown.

    Where it fits

    Interactive selection and verification. If you're chaining video passes - generate a clip, review it in the bucket, feed it into an upscale or frame-processing pass - this is how you pick the input by eye. It also works as a lightweight way to confirm exactly what keys exist before you hard-code them into an API workflow. When you're ready to automate, switch to Input Video Bucket and feed the key from data.

    Note the distinction: this node hands you the whole VIDEO. If you need frames, fps, and audio as separate outputs with skip/cap/every-Nth controls, that's Load Video From Bucket (Advanced) - a different node that's worth reaching for when you're doing per-frame work.

    Install

    ComfyUI Manager (search In-N-Out Bucket) or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/littleowl/ComfyUI_In-N-Out_Bucket.git
    pip install -r ComfyUI_In-N-Out_Bucket/requirements.txt
    cp ComfyUI_In-N-Out_Bucket/.env.example ComfyUI_In-N-Out_Bucket/.env
    

    Restart, under buckets/video. Deps: boto3 + python-dotenv; PyAV ships with ComfyUI.

    Troubleshooting

    Empty dropdown: check S3_ALLOW_KEY_LISTING (false = text box instead), and check the bucket connection - the node registers with empty options if S3 is unreachable, so a dead endpoint reads as "no videos." Fix the endpoint, hit refresh. Large buckets: the key list is fetched on load, so there's a real cost if you've accumulated thousands of clips; that's the documented reason the listing flag exists. Refresh after uploading from another machine - the dropdown is a snapshot, not a live view.

    Categorybuckets/video

    Inputs (1)

    NameTypeDefaultDescription
    keyCOMBOSelect a video asset key from the bucket.

    Outputs (2)

    NameTypeDescription
    videoVIDEOVideo loaded from the asset bucket.
    manifestBUCKET_MANIFESTAsset metadata. Derived from the video if no manifest is stored.