Kling Fast Video Saver
Save a Kling video without turning your GPU into a RAM-based video player
- file_path
- filename
Most of this pack's video nodes hand you the result as an IMAGE tensor and a video_file path, which means the whole clip gets decoded into memory before it's ever written to disk. That's fine for a 5-second 720p clip and a slow-motion disaster for a long 2K render - ComfyUI's video output can eat a gigabyte or more of RAM just holding frames. This node is the escape hatch. Give it a video url, and it streams the file straight from the network to your output folder in chunks, never materializing the frames as tensors at all. The class docstring says it plainly: "Avoids OOM for large/long videos."
Two required inputs:
url- the URL of the video to download and save. This is where you'd wire theurloutput from a Kling Text to Video or Image to Video node instead of (or in addition to) itsvideotensor output.filename_prefix- defaultkling_fast, the prefix for the saved filename. A random suffix gets appended so you don't clobber previous saves.
It's an output node (marked is_output_node: true), so it's the end of a branch - the sort of thing you tack onto the end of a workflow to land a file on disk. Outputs are file_path and filename as strings, which is handy if you're scripting downstream steps. The file extension is detected from the URL (defaulting to .mp4 if the URL gives nothing away), and it reports the final size in megabytes to your console.
Installing it
Ships inside ComfyUI-API-Toolkit. Manager: search "API Toolkit". Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/IxMxAMAR/ComfyUI-API-Toolkit
pip install -r requirements.txt
Restart ComfyUI. It only needs requests - no audio or Gemini deps required.
Gotchas
It will refuse to run with an empty url (raises a ValueError), so wire the URL in properly - this bites people who expect it to auto-magic a URL out of nothing. And since it's a plain requests.get, a flaky host or an expired Kling asset URL (tasks expire after ~72 hours on Kling's side) means a failed download; just re-queue, the pack's retry logic doesn't cover file downloads. One more thing worth knowing: this node overlaps with the pack's Kling Raw File Saver. Use FastVideoSaver when you know you've got a video URL and you want it on disk quickly; Raw File Saver is the general-purpose "save a URL or copy a local file" version with explicit format control.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| url | STRING | URL of the video to download and save. | |
| filename_prefix | STRING | kling_fast | Prefix for the saved filename. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| file_path | STRING | — |
| filename | STRING | — |