Nodes/ComfyUI-N-Nodes/SetMetadataForSaveVideo [πŸ…-πŸ…’πŸ…€πŸ…˜πŸ…£πŸ…”]
ComfyUI Node Runs on cloud

SetMetadataForSaveVideo [πŸ…-πŸ…’πŸ…€πŸ…˜πŸ…£πŸ…”]

Build a METADATA object by hand when you didn't load a video

By Nuked88Β·Created 3 years agoΒ·Updated 2 years agoΒ· 237
SetMetadataForSaveVideo [πŸ…-πŸ…’πŸ…€πŸ…˜πŸ…£πŸ…”]
    • METADATA
    β—„number_of_frames1β–Ί
    β—„fps30β–Ί
    β—„VideoNamemanualβ–Ί

    N-Nodes' video pipeline runs on a METADATA object - a little bundle carrying fps and frame count that gets passed from a loader through to SaveVideo [n-suite]. Normally you get that object for free: LoadVideo [n-suite] or LoadFramesFromFolder [n-suite] produce it as a side effect of reading your source. But SaveVideo [n-suite] requires one, and not every frame batch comes with metadata attached - maybe your frames came out of FrameInterpolator, a batch you built manually, or generation output that never touched an N-Nodes loader. This node exists for exactly that gap: it lets you fabricate a valid METADATA object from scratch so SaveVideo [n-suite] has something to consume.

    The README's own description is a single line - "allows setting metadata for the SaveVideo node" - and the schema backs that up: it's not analyzing anything, it's just packaging the three numbers you give it into the shape the rest of the pipeline expects. Even the default value of VideoName ("manual") tells you what this node is for: a manually-assembled metadata stand-in, for when the automatic path doesn't apply.

    The inputs and output

    • number_of_frames (default 1, min 1) - how many frames are in your batch.
    • fps (default 30, min 1) - the frame rate to tag them with.
    • VideoName (default "manual") - a label carried along inside the metadata; useful if you're building filenames or logging downstream.

    Out: METADATA, the same string-packaged object LoadVideo [n-suite] and LoadFramesFromFolder [n-suite] produce. Wire it straight into SaveVideo [n-suite]'s METADATA input.

    Installing the pack

    • ComfyUI Manager - search "ComfyUI-N-Nodes," install, restart.
    • Manual - cd ComfyUI/custom_nodes && git clone https://github.com/Nuked88/ComfyUI-N-Nodes.git, then restart ComfyUI.

    No models, no heavy dependencies - this is bookkeeping, not media processing.

    Common issues & troubleshooting

    You don't actually need this node. If your frame batch came from LoadVideo [n-suite] or LoadFramesFromFolder [n-suite], you already have a real METADATA output - wire that directly into SaveVideo [n-suite] instead. This node is specifically for the case where no upstream node in your graph produced one.

    Your output video plays at the wrong speed. fps here is a label, not a measurement - the node has no way to know your actual frame rate, it just tags whatever number you type in. If frames were generated at, say, 24 fps but you left this at the default 30, the video will play back too fast. Match it to whatever rate your frames were actually meant to represent.

    A workflow built around this node's plain-named counterpart doesn't load cleanly. There's also a SetMetadataForSaveVideo without the [n-suite] suffix still catalogued, left over from before the pack's February 2024 class-name rewrite - the same rewrite that broke old workflow JSON across the whole pack and is why Nuked88 ships a migrate.bat / libs/migrate.py tool to auto-convert saved graphs. Both nodes take the same three inputs and produce the same output, so if you land on the wrong one, just swap it - nothing about your values needs to change.

    CategoryN-Suite/Video

    Inputs (3)

    NameTypeDefaultDescription
    number_of_framesINT1β€”
    fpsINT30β€”
    VideoNameSTRINGmanualβ€”

    Outputs (1)

    NameTypeDescription
    METADATASTRINGβ€”