Nodes/ComfyUI-NL_Nodes/🎞️ NL FPS
ComfyUI Node

🎞️ NL FPS

Your shot's frame rate, as a node

By NOLABEL-VFXΒ·Created 9 months agoΒ·Updated 2 months agoΒ· 0
🎞️ NL FPS
    • fps
    • fps_int

    NL FPS is one of those nodes that looks almost too trivial to exist - no inputs, two outputs, done. But it earns its place in this pack's workflow-context system, and once you're building for a studio pipeline you'll stop hardcoding numbers and start asking for them.

    The idea is simple: this pack keeps a "shot context" in the top-bar NL Workflow panel - project, scene, shot, resolution, frame range, and the frame rate your shot is supposed to run at. NL FPS reads the FPS value from that cached context and exposes it as a node so other nodes in your graph can consume it. Set the frame rate once in the panel; every downstream node that needs it just plugs into this.

    Outputs are fps as a FLOAT and fps_int as the integer version. Wire fps into anything that wants a frame-rate number - a video writer computing durations, a node that generates timecode, or a sampler that needs frames-per-second to reason about motion. The integer output exists because some nodes are picky about getting whole numbers.

    Why you'd bother

    If you're a solo user generating one-off clips, this is close to useless - type 24 where you need it and move on. It starts paying rent in two situations. First, consistency: if your whole pipeline reads FPS from context, changing the shot's frame rate in one place updates every dependent node, and you can't accidentally render a 25fps shot into a 24fps project because you misremembered. Second, reusable workflows: share a template with a colleague and it picks up their context instead of carrying your hardcoded values around.

    Install and the gotcha

    Standard pack install - ComfyUI Manager β†’ "ComfyUI-NL_Nodes", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/NOLABEL-VFX/ComfyUI-NL_Nodes
    

    Restart. Then the one thing that trips people: this node has nothing to read until you've opened the NL Workflow panel and applied a context. Until then the output reflects defaults (which is to say, an unset frame rate). If fps comes back wrong or zero, that's not the node being broken - it's the context being empty. Set your project and frame rate in the panel first, and remember the pack persists that to ComfyUI/user/default/nl_workflow.json, so a restart won't wipe it.

    CategoryNOLABEL/Workflow

    Inputs (0)

    No inputs

    Outputs (2)

    NameTypeDescription
    fpsFLOATβ€”
    fps_intINTβ€”