Nodes/ComfyUI_RopeWrapper/RopeWrapper_LoadSwapInfo
ComfyUI Node

RopeWrapper_LoadSwapInfo

Reload a saved face map instead

By fssorc·Created 2 years ago·Updated 2 years ago· 26
RopeWrapper_LoadSwapInfo
    • DETECTRESULT
    fileNameTEMP_PKL

    RopeWrapper_LoadSwapInfo is the reload half of the pack's "detect once, use many times" trick. DetectNode produces a DETECTRESULT - a per-frame map of every face in your video and which identity each one belongs to. That map is the slow, deterministic part of a face swap: it doesn't change run to run, but re-running detection on a long clip costs real time every single time. This node loads a saved map straight off disk and hands it to SwapNode as a DETECTRESULT output, so you can iterate on swap settings without ever re-detecting.

    It has one input: fileName, defaulting to TEMP_PKL. That's it. The node reads the file from ComfyUI/models/rope/ - note that's ComfyUI's models directory, not the plugin's own models/ folder where the swap models live. Easy to mix up; the SaveSwapInfo node writes to the same place, so the two are a matched pair.

    When you'd actually use it

    If you're swapping one video over and over while tuning settings - adjusting the source face, tweaking source_target_matching, dialing in the OptionNode sliders - the detection pass is pure waste on every run after the first. Detect once, hit SaveSwapInfo, then feed this node's output into the SwapNode on every iteration. On a long clip that can turn minutes of waiting into seconds.

    It also comes in handy when you've already tuned the swap and just want to re-run it after a ComfyUI restart or on a fresh machine (same install, same video).

    Gotchas

    • The filename must be exact. No extension is added or assumed - you type what SaveSwapInfo saved, and it's case-sensitive. Mismatch and the node prints an error and returns None, which the SwapNode doesn't handle gracefully.
    • It's only as valid as your video. If you re-encode, crop, or re-extract the frames so the frame order or resolution changes, the per-frame indices in the saved map won't line up with your new input. When in doubt, re-detect.
    • Not portable as a concept. The map is tied to that specific video's faces and indices, so don't reuse it across different footage.

    Install

    Same as the whole pack - ComfyUI Manager → search "ComfyUI_RopeWrapper", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/fssorc/ComfyUI_RopeWrapper
    

    Restart, make sure ComfyUI-VideoHelperSuite and ComfyUI-KJNodes are installed, and keep the swap models in the plugin's models/ folder. The saved maps, again, go to ComfyUI/models/rope/.

    CategoryRopeWrapper

    Inputs (1)

    NameTypeDefaultDescription
    fileNameSTRINGTEMP_PKL

    Outputs (1)

    NameTypeDescription
    DETECTRESULTDETECTRESULT