Nodes/ComfyUI MiniMax H3 Myang/沐阳 H3 · 帧数转秒(内部)
ComfyUI Node

沐阳 H3 · 帧数转秒(内部)

Fps divided into frames — and why H3 needs a node for it

By civilcoco·Created 27 days ago·Updated 4 days ago· 4
沐阳 H3 · 帧数转秒(内部)
    • seconds
    frames
    fps24.00

    This node computes frames / fps and returns a float. That's it. There is no hidden intelligence, no frame grid snapping, no rounding policy to argue about. If you've been staring at it wondering what you're missing: nothing.

    The interesting question is why a pack would ship it, and the answer is ComfyUI's type system.

    Why a two-line node exists

    ComfyUI validates socket types before a graph runs. An INT output can't be wired into an input declared as FLOAT, even when the values are numerically compatible - the engine refuses the connection rather than coercing it. That's usually the right call, but it creates a dead end the moment one part of a pipeline speaks in frames and another speaks in seconds.

    H3's timeline is frames. Its durations, at the Graph level, are sometimes seconds. The Director's internal expansion has a node expecting seconds while a sibling produces a frame count from a dynamic input - and the frame count comes from MAINodes' optional enhancement path, where the value arrives as a linked INT rather than a typed-in widget. Rather than sprinkle casts through the fitters, the pack provides one honest node whose whole job is the conversation. The source comment says it exactly: keep dynamic MAINodes frame counts type-safe for H3Condition.

    Inputs and output

    • frames (INT, forced input) - note forceInput. You can't type a number into this widget; it has to be wired. That's deliberate, because the point of the node is bridging a link.
    • fps (FLOAT, default 24, 1-120). H3's timeline is 24fps, so 24 is the value you almost always want. Change it only if you've genuinely moved the timeline, not to fudge a duration.

    Output seconds (FLOAT) - the division, with fps floored at 1.0 so a zero can't produce an infinity and poison the rest of the graph.

    When you'd touch it

    Honestly, rarely. It's category 沐阳 H3/导演台/内部 - one of the nodes the Director arranges for you. You'll encounter it when you load an exported Director graph, see a node doing an arithmetic operation you could do in your head, and wonder whether it's vestigial. It isn't; it's there because a wire couldn't be made without it.

    It is worth knowing about if you're hand-building a graph and hit "required input is missing" or a refused connection on a duration socket. The fix is often this kind of node, and the pack's own plumbing follows the same convention as the rest of the ecosystem - the node plumbing layer has the general version of the story, including the always-rerun IS_CHANGED idiom and the typed-primitive nodes core ships for exactly this purpose.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/civilcoco/ComfyUI-MiniMaxH3-Myang
    

    Restart ComfyUI and hard-refresh the browser. Search "ComfyUI MiniMax H3 Myang" in Manager if you'd rather not clone. The pack declares no Python dependencies at all, which is unusual for a video pack of this size and worth appreciating.

    For a setup with different frame-rate assumptions - interpolation, a different model family, an imported clip - remember that H3 itself is 24fps and this node's default assumes it. Feed it a 16fps assumption and every duration downstream will be wrong by 50%, quietly, with no error.

    Category沐阳 H3/导演台/内部

    Inputs (2)

    NameTypeDefaultDescription
    framesINT
    fpsFLOAT24.001–120

    Outputs (1)

    NameTypeDescription
    secondsFLOAT