Video utility nodes for ComfyUI by IO-AtelierTech
Provides utility nodes for video operations, particularly for FFmpeg integration and workflow connectivity.
- Save Video with Path Output: Save video and get file path for FFmpeg integration
- Extract Video Path: Get file path from loaded videos
- FFmpeg Bridge: Seamlessly connect video generation to FFmpeg processing
This plugin is included in the comfyui-bundle Docker image.
docker pull ioateliertech/comfyui-bundle:latestcd ComfyUI/custom_nodes
git clone https://github.com/io-ateliertech/comfyui-video-utils.git
# No additional dependencies requiredSave a VIDEO to disk and output both the video object and the file path.
Use Case: Connect video generation nodes to FFmpeg nodes that require STRING paths.
Inputs:
video(VIDEO) - The video to savefilename_prefix(STRING) - Output path prefix (default:video/ComfyUI)format(COMBO) - Video format:auto,mp4(default:mp4)codec(COMBO) - Video codec:auto,h264(default:h264)
Outputs:
video(VIDEO) - Passthrough of the video objectvideo_path(STRING) - Absolute file path to the saved video
Extract the file path from a VIDEO that was loaded from disk.
Use Case: Get the path from videos loaded via LoadVideo node.
Note: Only works with videos loaded from files, not generated videos. For generated videos, use SaveVideoGetPath.
Inputs:
video(VIDEO) - The video to get path from
Outputs:
video_path(STRING) - File path of the video
LumaImageToVideo_fal → SaveVideoGetPath → FFmpeg Node
↓ (video_path)
(saves & outputs path)
# Generate video with fal.ai
luma_node = LumaImageToVideo(...)
# Save and get path for FFmpeg
save_node = SaveVideoGetPath(
video=luma_node.output,
filename_prefix="video/generated",
format="mp4"
)
# Use path in FFmpeg node
ffmpeg_node = FFmpegProcess(
input_path=save_node.video_path, # STRING path
# ... other parameters
)ComfyUI's VIDEO type is an object that may contain:
VideoFromFile- Loaded from disk (has__fileattribute)- Generated videos - No file path until saved
This plugin bridges the gap by:
- SaveVideoGetPath: Saves generated videos and returns the path
- GetVideoPath: Extracts path from already-loaded videos
Videos are saved to ComfyUI's output directory structure:
- Base:
ComfyUI/output/ - Videos:
ComfyUI/output/video/ - Filename format:
{prefix}_{counter:05}_.{ext}
Example: video/generated_00001_.mp4
Works seamlessly with:
- genai-connectors - Video generation
- ComfyUI-FFmpeg - Video processing
This is a lightweight utility plugin with no external dependencies beyond ComfyUI core.
comfyui-video-utils/
├── __init__.py # Node definitions and registration
└── README.md # This file
To add new video utility nodes:
class MyVideoUtility:
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"video": ("VIDEO", {}),
},
}
RETURN_TYPES = ("STRING",)
FUNCTION = "process"
CATEGORY = "video/utils"
def process(self, video):
# Your logic here
return (result,)
# Register
NODE_CLASS_MAPPINGS["MyVideoUtility"] = MyVideoUtilityMIT License
Part of the IO-AtelierTech ComfyUI ecosystem.
- comfyui-bundle - Docker image
- comfyui-mcp - MCP server
- comfyui-genai-connectors - AI connectors