Kling Video Loader
The boring Kling node you didn't know you needed (no API key required)
- video
- video_path
- audio
Here's the thing about this one: it's called Kling Video Loader and lives in an API pack, but it doesn't call Kling, doesn't need a key, doesn't cost a credit, and doesn't touch the network at all. It's just a local video loader with an audio output bolted on - the boring utility that makes the flashy API nodes usable. The name is a lie in the best way.
What it does: pick a video file from your ComfyUI input folder and it hands you three things - the frames as an IMAGE batch, the file path as a string, and the video's audio track. It's what you reach for when a Kling node (or any workflow) needs a local clip but only accepts image frames, or when you want the audio off a video you already have.
Where you'll actually use it
The most common pattern is feeding the frames into a Kling image-based node. Kling's image-to-video and motion-control nodes accept IMAGE input directly, so a typical chain is: Kling Video Loader → pick your clip → feed video into a Kling node's image input, then let the API do its thing. It's also handy as a plain frame extractor - load a video, then run the IMAGE output through whatever local post-processing you like without ever touching Kling's API.
What comes out
- video - the frames as a standard IMAGE tensor. You can preview it, save it, or wire it into other nodes.
- video_path - the absolute path on disk. Some Kling nodes and saver utilities want a path string rather than frames; this saves you from re-finding the file by hand.
- audio - the soundtrack as an AUDIO tensor, if the file has one.
A word on that audio output: the pack loads it with torchaudio, and if torchaudio isn't importable it silently returns a silent placeholder rather than erroring. So if you load a video with audio and your downstream audio nodes produce nothing, check your console for the warning - it usually means torchaudio is missing from your environment, and pip install torchaudio (matching your PyTorch version) fixes it.
Installing
Same as the rest of the pack - ComfyUI Manager, search "API Toolkit", install, restart:
cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-API-Toolkit
cd ComfyUI-API-Toolkit
pip install -r requirements.txt
It accepts .mp4, .mov, .avi, and .webm from the input directory, and you can drag a file into the node's picker to upload it there. No auth node needed - skip Kling AI Authentication entirely for this one.
Gotchas worth knowing
Big videos get subsampled: if the clip has more than ~600 frames, the loader keeps every Nth frame to avoid OOM, and if it still blows up, it returns a single-frame placeholder and logs a warning while the real file stays safely saved on disk. So a long clip may come out choppier in the graph than it is on disk - that's a memory guard, not a bug. And as always with this pack, this is the "leave the machine" caveat in reverse: the loader is local, but whatever Kling node you feed the frames into afterward will send them to Kling's servers, so the privacy math of your workflow is set by the API node, not this one.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| video | COMBO | Select a video file from the ComfyUI input directory. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| video | IMAGE | — |
| video_path | STRING | — |
| audio | AUDIO | — |