ComfyUI Extension: ComfyUI_VideoCutter

Authored by benjamin-bertram

Created

Updated

0 stars

Run ComfyUI workflows without the setup

No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.

Lightweight custom node that trims a native ComfyUI VIDEO object by timestamps or frame numbers.

Looking for a different extension?

Custom Nodes (0)

    README

    ComfyUI Video Trimmer

    ComfyUI Video Trimmer is a lightweight custom node that trims a native ComfyUI VIDEO object by either timestamps or frame numbers.

    It is designed to fit directly into standard video workflows:

    Load Video -> Video Trimmer -> Save Video

    Features

    • Accepts native VIDEO input from ComfyUI video loader nodes
    • Outputs native VIDEO for downstream save/encode nodes
    • Supports trimming by time in seconds or by frame range
    • Preserves audio alignment when an audio track is present
    • Returns useful metadata about the trimmed clip

    Installation

    1. Place this folder inside your ComfyUI custom_nodes directory:
    ComfyUI/custom_nodes/ComfyUI_VideoCutter_CodexAPP
    
    1. Restart ComfyUI.

    2. Search for the node named Video Trimmer in the Video Editing category.

    Node Overview

    Node Name

    Video Trimmer

    Category

    Video Editing

    Inputs

    • video Native ComfyUI VIDEO input.
    • trim_mode Choose time or frames.
    • start_time Trim start time in seconds when trim_mode = time.
    • end_time Trim end time in seconds when trim_mode = time. Use 0 to trim from start_time to the end of the video.
    • start_frame Trim start frame when trim_mode = frames.
    • end_frame Trim end frame when trim_mode = frames. Use 0 to trim from start_frame to the end of the video.

    Outputs

    • trimmed_video Native ComfyUI VIDEO output.
    • duration_seconds Duration of the trimmed result.
    • frame_count Number of frames in the trimmed result.
    • resolved_start_frame Actual start frame used after validation.
    • resolved_end_frame Actual end frame used after validation.

    How To Use

    Trim By Time

    1. Add Load Video.
    2. Add Video Trimmer.
    3. Connect the VIDEO output from Load Video to Video Trimmer.
    4. Set trim_mode to time.
    5. Enter start_time and end_time.
    6. Connect trimmed_video to your preferred Save Video node.

    Example:

    • start_time = 2.50
    • end_time = 7.75

    This keeps the section from 2.50 seconds up to 7.75 seconds.

    Trim By Frame

    1. Set trim_mode to frames.
    2. Enter start_frame and end_frame.
    3. Use 0 for end_frame to keep everything from the start frame to the video end.

    Example:

    • start_frame = 48
    • end_frame = 192

    This keeps frames 48 through 191.

    Example Workflow

    Load Video
      -> Video Trimmer
      -> Save Video
    

    Recommended setup:

    • Use Load Video to import a source clip.
    • Use Video Trimmer to isolate the section you want.
    • Use Save Video to encode/export the trimmed result.

    Notes

    • The node trims in memory from the decoded VIDEO object supplied by upstream nodes.
    • Because ComfyUI video workflows often operate on decoded frames, this node focuses on workflow compatibility and frame accuracy.
    • Audio is trimmed to stay synchronized with the selected frame range when audio data is available on the incoming VIDEO.

    Error Handling

    The node raises clear errors for:

    • empty videos
    • invalid frame rate metadata
    • malformed frame tensors
    • start or end positions outside valid bounds
    • invalid trim ranges where start is not before end

    Developer Notes

    Implementation lives in:

    • /Users/benjaminbertram/ComfyUI/custom_nodes/ComfyUI_VideoCutter_CodexAPP/nodes.py

    Registration entry point:

    • /Users/benjaminbertram/ComfyUI/custom_nodes/ComfyUI_VideoCutter_CodexAPP/__init__.py

    Run ComfyUI workflows without the setup

    No installs, no CUDA version roulette, no GPU sitting idle on your bill. Bring a workflow and run it in the browser.

    Learn more