Nodes/ComfyUI_StreamingT2V/StreamingT2VLoaderAnimateDiff
ComfyUI Node

StreamingT2VLoaderAnimateDiff

The all-in-one loader that crams an entire long-video pipeline into one node

By chaojie·Created 2 years ago·Updated 2 years ago· 36
StreamingT2VLoaderAnimateDiff
    • StreamingT2VModel
    ckpt_namestreaming_t2v.ckpt
    devicecuda
    vram_not_enoughtrue

    StreamingT2VLoaderAnimateDiff is one of the pack's "everything in one box" loaders: it loads the StreamingT2V long-video model, an AnimateDiff-based short-video generator, and the final video enhancer, all at once, and hands you a single StreamingT2VModel to feed the run node. If you're using the pack's wf_ad.json workflow, this is the node at the top of the graph.

    To understand what it's doing, you need the pack's three-stage shape. StreamingT2V (from Picsart AI Research, arXiv 2403.14773) doesn't generate long videos directly. It first needs a short 16-frame seed at 256×256 - in this loader's case produced by AnimateDiff, the SD 1.5 temporal motion module that still gets pulled out for exactly this kind of seed-generation job. Then the autoregressive StreamingT2V model extends that seed chunk by chunk, and the enhancer upscales the result. The loader stands up all three pieces so one workflow can run end to end.

    What it loads

    Three models, behind the scenes:

    • The StreamingT2V long model, from a checkpoint in ComfyUI/models/checkpoints (default streaming_t2v.ckpt - the original 25.6GB download from the PAIR/StreamingT2V HuggingFace page).
    • The AnimateDiff short generator: guoyww/animatediff-motion-adapter-v1-5-2 plus the Realistic_Vision_V5.1_noVAE checkpoint, both pulled automatically from HuggingFace in fp16 with CPU offload.
    • The damo/Video-to-Video enhancer from modelscope.

    That's a lot of resident memory, which is the tradeoff to know about before you reach for this node.

    Inputs that matter

    Only three, and one of them is doing real work:

    • ckpt_name - which StreamingT2V checkpoint to load, chosen from the checkpoints folder. Default streaming_t2v.ckpt.
    • device - cuda or cpu, default cuda.
    • vram_not_enough - default True. When true, the StreamingT2V weights are loaded to CPU instead of being moved to the GPU, which is the difference between this running on a big-ish card and OOMing. Leave it on unless you know your VRAM headroom.

    The single output is the StreamingT2VModel object that wires into the pack's run node.

    Installing it

    Install the pack, not the loader:

    cd ComfyUI/custom_nodes
    git clone https://github.com/chaojie/ComfyUI_StreamingT2V
    

    or ComfyUI Manager → search StreamingT2V → install, restart. Two things will then bite you: requirements.txt is a long haul (pytorch-lightning, diffusers, modelscope, xformers, bitsandbytes, open-clip-torch...), and the model downloads are big. If you use this loader you must drop streaming_t2v.ckpt (~25.6GB) into models/checkpoints first, because this path is the original model, not the lighter VidXTend one.

    The take

    Honest opinion: the all-in-one loaders are the "more VRAM" path in the README for a reason. If your card is under ~15GB, loading the full stack and the 25.6GB checkpoint at once is a recipe for pain - the README itself points the <10GB crowd at the VidXTend route instead. The staged workflow (separate short, long, and enhance loaders) keeps only what's needed resident. This node is the shortcut when you have the hardware and want one clean graph.

    CategoryStreamingT2V

    Inputs (3)

    NameTypeDefaultDescription
    ckpt_nameCOMBOstreaming_t2v.ckpt0 options:
    deviceCOMBOcuda2 options: cuda, cpu
    vram_not_enoughBOOLEANtrue

    Outputs (1)

    NameTypeDescription
    StreamingT2VModelStreamingT2VModel