Load Video From Bucket
The dropdown picker for your S3 video library
- video
- manifest
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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| key | COMBO | Select a video asset key from the bucket. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| video | VIDEO | Video loaded from the asset bucket. |
| manifest | BUCKET_MANIFEST | Asset metadata. Derived from the video if no manifest is stored. |