Draw Image On Path (QQ)
Animate a real image along your spline path — the upgrade from test shapes
- bg_image
- ref_images
- ref_masks
- image
- mask
If DrawShapeOnPath is the motion-preview with a placeholder dot, DrawImageOnPath is the version where the placeholder is your actual subject. It takes reference images and moves them along a coordinate path across a background, frame by frame - with rotation, scaling, shadows, and a mask output. It's how the pack's TTM example workflows preview what a character or object will look like following a spline before the real Wan generation runs. The category says it plainly: this one is marked depr (deprecated) in the pack, so treat it as "works, but superseded in the author's own roadmap."
The inputs are the honest version of "paste an image and move it." bg_image is the backdrop, coordinates the path (the STRING format from PowerSplineEditor), ref_images the subject(s) to draw, and frames the animation length. Add ref_masks if your subject has cut-out masks to composite cleanly. The toggles that matter for realism: use_box_rotation and use_box_scale_size let each box follow rotation/scaling baked into the path (so a "driver" path in the spline editor can make the subject spin or grow as it moves), and fallback_scale gives a safe default when path scale data is missing. overlay_opacity (0–1) fades the whole composite, add_shadows drops a soft shadow for grounding, and mask_fill controls how the mask output is painted.
The dials that bite
- use_gpu (default on) and gpu_batch (1–64, default 8) - it composites in batches on the GPU for speed. If you're on a low-VRAM card and see OOMs on big
framescounts, turnuse_gpuoff and it falls back to CPU. - frames of 0 means a single static composite, not "all frames" - set it explicitly.
Outputs are image (the composite) and mask (the subject as a mask over the background). The mask output is the underrated one: it gives you an animated matte you can feed straight into VACE/control/masking nodes, which is often exactly what a region-limited generation needs.
Why use it when it's deprecated?
Because it still does the thing: previsualize a character's trajectory and scale on the actual backdrop, produce an animated mask, and validate whether a path reads well before committing to a Wan pass. If the author's deprecation notice ever removes it, the natural successor pattern is DrawShapeOnPath for the path + a proper compositing node for the subject - but as of the pack's current version this node works and is in the shipped example workflows (the ttm example wires PowerSplineEditor → DrawImageOnPath).
Installing it
Part of siraxe/ComfyUI-WanVideoWrapper_QQ via ComfyUI Manager (search WanVideoWrapper_QQ/SA-Nodes-QQ), or:
cd ComfyUI/custom_nodes
git clone https://github.com/siraxe/ComfyUI-WanVideoWrapper_QQ.git
Restart ComfyUI. No extra deps beyond standard ComfyUI.
Gotchas
- Coordinate scale mismatch with the background is the #1 failure - path coordinates live in the spline editor's canvas space, and the composite renders against
bg_image. Cross-check the coordinates against the background's actual size before running. - GPU OOM on long frame counts → disable
use_gpu. - Pack note: repo renamed to ComfyUI-SA-Nodes-QQ in v1.3.4; delete any stale
wanwrapper_qqfolder incustom_nodesif old workflows reference it.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| bg_image | IMAGE | — | |
| coordinates | STRING | — | |
| frames | INT | 00–10000 | — |
| ref_images | IMAGE | — | |
| ref_masksopt | MASK | — | |
| use_box_rotationopt | BOOLEAN | true | — |
| use_box_scale_sizeopt | BOOLEAN | true | — |
| fallback_scaleopt | FLOAT | 1.000–100 | — |
| overlay_opacityopt | FLOAT | 1.000–1 | — |
| add_shadowsopt | BOOLEAN | false | — |
| mask_fillopt | FLOAT | 0.000–1 | — |
| use_gpuopt | BOOLEAN | true | — |
| gpu_batchopt | INT | 81–64 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |