Nodes/ComfyUI-MorphGS/MorphGS: Setup SV4D
ComfyUI Node

MorphGS: Setup SV4D

SV4D Never Got a ComfyUI Node, So This One Does It by Hand

By Yuvaraj0739X·Created 3 days ago·Updated about 21 hours ago· 0
MorphGS: Setup SV4D
    • log
    sv4d_modesv4d
    force_reinstallfalse

    Quick test of whether SV4D lives in ComfyUI: it doesn't. In November 2024 somebody on r/comfyui asked flat out "Did SV4D ever get an implementation on comfy or other UIs?" and the thread collected zero replies. Two years on, that's still the answer - ComfyUI has native Stable Video Diffusion and SV3D support, and no native architecture for SV4D or SP4D at all. So there's no checkpoint you can point Load Checkpoint at, no sampler, no graph.

    This node is the workaround, and calling it a node is generous: it's a one-time installer you run once, read the log, and forget about. If you're not using MorphGS: Preprocess Video, you don't need it at all.

    What it actually does

    Three things, in order, all inside the MorphGS environment:

    1. Clones Stability's generative-models repo into $MORPHGS_HOME/src/extlibs/generative-models on the sp4d branch (which carries both the SP4D and SV4D2.0 code paths), shallow and forced.
    2. Installs it - pip install -r requirements/pt2.txt, then pip install -e ., then Stability's datapipelines for the sdata package.
    3. Downloads the checkpoint for your chosen mode into ComfyUI's own models/checkpoints/ folder, then copies it into the pipeline environment where generative-models' inference code actually looks for it.

    No login, no Hugging Face token, no gated repo clickthrough. It's plain anonymous HTTPS for both the clone and the weights.

    That third step is why the file lands in ComfyUI's model folder first: you get to see it in ComfyUI's model listings and manage it with extra_model_paths.yaml like any other checkpoint. It just isn't loadable through ComfyUI's own loader, because nothing in ComfyUI can run an SV4D checkpoint.

    What you pick

    sv4d_mode maps to three real weights:

    • sv4dsv4d2.safetensors from stabilityai/sv4d2.0
    • sv4d2_8viewssv4d2_8views.safetensors from the same repo
    • sp4dsp4d.safetensors from stabilityai/sp4d

    For context on what these are: SV4D shipped in July 2024 as a novel-view video model, sv4d2.0 followed in February 2025, and SP4D landed in November 2025 - the whole lineage is Stability's 4D research thread, and the pack uses whichever of the three you pick. Expect roughly a gigabyte of code plus about 12GB of checkpoint. force_reinstall nukes the clone and redoes the install and the copies if you pass true.

    The single output is log, and here it isn't optional reading - the node raises on a failed verification, so the log is often the only place the actual reason appears.

    Install

    Same pack either way - Manager, search ComfyUI-MorphGS and restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Yuvaraj0739X/ComfyUI-MorphGS
    

    Then make sure the pack knows where MorphGS lives, before you launch ComfyUI:

    export MORPHGS_HOME=/workspace/MorphGS
    export MORPHGS_CONDA_ENV=morphgs
    export MORPHGS_CONDA_BASE=/opt/conda
    

    One documentation nit worth knowing: the README describes MORPHGS_CONDA_BASE as a path to the conda activate script, but the code builds source <MORPHGS_CONDA_BASE>/bin/activate <env>, so it wants the conda root directory. /opt/conda, not /opt/conda/bin/activate.

    The nasty bit it saves you from

    generative-models' requirements/pt2.txt pins numpy==2.1, and that quietly breaks torch.from_numpy and pytorch3d in the MorphGS environment - you'd get a working install, then a bewildering crash somewhere unrelated later. So this node re-pins numpy<2 straight after the install and then verifies it: it imports torch, calls torch.from_numpy on a dummy array, imports pytorch3d.renderer.look_at_view_transform, and only reports success if all of that passes. If it doesn't, it raises instead of leaving you with a half-broken env. Given how many packs install dependencies and walk away, that's unusually conscientious.

    Where people get burned

    A dead download leaves a file that looks finished. The download is a plain urlretrieve, and the skip check is just "does this path exist". Kill a 12GB download at 4GB and the next run cheerfully reports already exists, skipping download. Delete the partial file - or tick force_reinstall - before retrying.

    force_reinstall is a real hammer. It rm -rfs the whole generative-models directory first. Fine if you're recovering a broken install, wasteful if you only meant "download the other checkpoint".

    Disk, times three modes. Different modes mean different checkpoints, and nothing deduplicates them. Pick one mode and stay with it unless you have a reason.

    This is a brand-new, one-person pack. The current version is 1.4.1 and the whole repo is essentially one commit from September 2026, with no community footprint I could find anywhere - no threads, no discussion. The code is more careful than that footprint suggests, but nobody has stress-tested its edges for you, so read the log and don't run it for the first time an hour before you need the output.

    CategoryMorphGS

    Inputs (2)

    NameTypeDefaultDescription
    sv4d_modeCOMBOsv4d3 options: sv4d, sp4d, sv4d2_8views
    force_reinstallBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    logSTRING