Nodes/SparkDiffusion for ComfyUI/SparkDiffusion Profile
ComfyUI Node

SparkDiffusion Profile

Pick a checkpoint and stop guessing the step count

By hiroki-abe-58·Created 24 days ago·Updated 24 days ago· 4
SparkDiffusion Profile
    • profile
    • profile_info
    ◄presetwan2.1-t2v-1.3b-480p-s90-4step►
    ◄topk_ratio_override0.00►

    If you've spent any time with distilled video models, you know the drill: the checkpoint is trained for a specific number of steps at a specific CFG, and if you feed it 25 steps and CFG 7 because that's what you do for everything else, you get noise or mush. The Profile node exists to delete that entire class of mistake. Each preset is a bundle of settings - resolution, step count, the CrossDistill timestep schedule, and the RoLA top-k ratio - matched to one specific released checkpoint.

    The preset field

    Six choices, and they line up with real weights on Hugging Face under Alibaba's collection:

    • wan2.1-t2v-1.3b-480p-s90-4step - the light one, 480P, 4 steps, 90% sparsity
    • wan2.1-t2v-14b-480p-s90-4step
    • wan2.1-t2v-14b-720p-s95-3step - the flagship, 3 steps, 95%
    • wan2.1-t2v-14b-720p-s97-4step - 97% sparsity, 4 steps
    • wan2.1-i2v-14b-720p-s97-4step - the only I2V preset
    • wan2.2-t2v-a14b-480p-s95-4step - Wan 2.2's two-expert MoE, 2+2 steps

    Read the preset name as a spec sheet. The number after s is the RoLA sparsity - how much of the attention matrix each query block skips. Higher sparsity, fewer compute, more chance of artefacts. The digit before step is how many denoising steps the checkpoint was distilled for. You don't get to change those; they're properties of the weights.

    The one you might actually touch

    topk_ratio_override (default 0.0, range 0–1) is the only adjustable knob, and it defaults to leaving things alone. Set it and you're overriding RoLA's keep ratio: 0.1 = 90% sparsity, 0.05 = 95%, 0.03 = 97%. The catch is in the tooltip - the value has to sit inside the range the checkpoint supports, which is 90–95% or 90–97% depending on the model card. This is for players, not beginners. The reason the ranges are capped is that the sparse-attention weights were trained at those ratios; RoLA with the wrong top-k is guessing.

    Outputs

    Two of them. profile is an opaque SPARKDIFFUSION_PROFILE handle you wire into Text To Video or Image To Video - that's the real connection. profile_info is a plain STRING dump of the JSON the node picked, resolution and schedule and all, which is genuinely useful wired into a Note or a save-text node so you can see after the fact what actually ran.

    Also worth knowing: this node checks the task. Feed an I2V preset to Text To Video and it raises instead of quietly producing garbage.

    Install and first run

    cd ComfyUI/custom_nodes
    git clone https://github.com/hiroki-abe-58/ComfyUI-SparkDiffusion
    

    or Manager → search SparkDiffusion → restart. The node itself installs nothing. What the preset needs is the matching SparkWan checkpoint on disk (the pack ships scripts/download_models.py --profile <preset>) plus the shared Wan assets - VAE, umT5-XXL encoder, tokenizer, and for I2V the CLIP encoder. The dense Wan DiT weights are not needed; the Spark checkpoints replace them.

    Where people get burned

    Choosing wan2.1-t2v-14b-720p-s95-3step on a 16 GB card. The 14B profiles want about 24 GiB of free VRAM, 28 for I2V at 720P, and the pack's own testing stopped at 32 GB cards. On a smaller card you want the 1.3B 480P preset, which the author measured at 1.78 s of warm denoise - orders of magnitude from the 14B number, but it actually runs. Second trap: a checkpoint that isn't a SparkWan RoLA checkpoint gets rejected outright with "RoLA parameters are missing," which is the pack being honest rather than running random-init sparse attention and handing you a pretty video that means nothing.

    CategorySparkDiffusion

    Inputs (2)

    NameTypeDefaultDescription
    presetCOMBOwan2.1-t2v-1.3b-480p-s90-4stepReleased SparkDiffusion checkpoint. Each preset pins resolution, step count, CrossDistill schedule and RoLA top-k ratio.
    topk_ratio_overrideoptFLOAT0.000–10 = profile default. RoLA keep ratio (0.1 = 90% sparsity, 0.05 = 95%, 0.03 = 97%); must lie in the range the checkpoint supports.

    Outputs (2)

    NameTypeDescription
    profileSPARKDIFFUSION_PROFILE—
    profile_infoSTRING—