Nodes/ComfyUI-Magos-Nodes/Magos DWP Renderer
ComfyUI Node

Magos DWP Renderer

Magos DWP Renderer

By MagosDigitalStudio·Created 5 months ago·Updated 4 months ago· 22
Magos DWP Renderer
  • pose_data
  • keyframe_data
  • nlf_poses
  • pose_images
  • face_images
  • pose_keypoints
  • nlf_images
nlf_render_modefalse
draw_face_on_posefalse
pose_drawfalse
debug_logfalse

The Magos DWP Renderer is the last node in the pack's extract → edit → render chain, and it does exactly what its name says: takes skeleton data and draws the pose image that your downstream model actually conditions on. You've edited the skeleton in the Magos DWP Editor, maybe reshaped it in the Magos Pose Retargeter - this is what turns all that geometry back into an image tensor WanAnimate, SCAIL, LTX-Video, or a ControlNet will accept.

Think of it as a drop-in replacement for DrawViTPose from Kijai's WanAnimatePreprocess, with a few upgrades. It only requires pose_data (the POSEDATA output from the Extractor, Editor, or Retargeter) and renders a colored skeleton on black, ready to feed straight into your pose-conditioned model.

How it works

It draws body bones plus hands (right = orange, left = green) on a black background, and - the trick it's proud of - Z-depth sorts the bones. If you've got Z-depth data in your keyframe_data (from NLF 3D baking or the Editor's 3D view), nearer bones draw on top of farther ones, which fixes the flat, always-wrong-overlap look of naive pose renderers. Keypoints below 0.5 confidence aren't drawn at all, matching DrawViTPose's behavior so your pose image doesn't sprout phantom limbs.

Settings worth knowing:

  • pose_draw - when on, uses WanAnimatePreprocess's ellipse-style bone rendering (identical output to DrawViTPose) if that pack is available; off defaults to Magos' own line-style bones. If you're A/B-ing against an existing workflow, matching the old renderer exactly is the point of this toggle.
  • draw_face_on_pose - composites face landmarks onto the main pose image. Off by default; faces go to their own output.
  • nlf_render_mode - if you wired in NLF 3D data (nlf_poses), this replaces the DWPose body bones with the NLF skeleton (purple) while keeping DWPose hands/face. For NLF-first pipelines.

Outputs: pose_images (the IMAGE tensor - wire into WanAnimate, SCAIL's pose embeds node, LTX, UniAnimate), face_images (face landmarks alone), pose_keypoints (a POSE_KEYPOINT in ControlNet-aux format - the one to feed the DWPose Preprocessor Visualizer / ControlNet), and nlf_images (NLF skeleton on its own output, always, regardless of the toggle).

Install

Part of the ComfyUI-Magos-Nodes pack:

cd ComfyUI/custom_nodes
git clone https://github.com/MagosDigitalStudio/ComfyUI-Magos-Nodes

Restart ComfyUI; find it under MAGOS Nodes → Temporal Editor. It needs the POSEDATA type from Kijai's ComfyUI-WanAnimatePreprocess installed, so don't skip that.

Common issues

  • Black / empty output - you're feeding in pose data with keypoints below the 0.5 draw threshold (e.g. raw extractor output with a high confidence cutoff), or the skeleton genuinely has nothing confident. Lower the confidence settings upstream or check detection.
  • Pose looks wrong after camera work - if you used the Editor's animated camera, make sure you picked the matching render mode on the Editor so the projection the Renderer draws is the one you intended.
  • pose_draw does nothing - that toggle only takes effect when WanAnimatePreprocess is available to provide the ellipse renderer; if it's missing, you silently get the line-style bones. Check the pack's load log.

For ControlNet specifically, remember to use pose_keypoints (not pose_images) when the target node expects POSE_KEYPOINT - a ControlNet pose input usually wants the aux-format keypoints, not a rendered image.

CategoryMAGOS Nodes/Temporal Editor

Inputs (7)

NameTypeDefaultDescription
pose_dataPOSEDATA
keyframe_dataoptKEYFRAME_DATA
nlf_posesoptNLFPRED
nlf_render_modeoptBOOLEANfalseDWPose Render: body+hands+face from DWPose. NLF Render: NLF body skeleton replaces DWPose body bones (hands/face kept).
draw_face_on_poseoptBOOLEANfalse
pose_drawoptBOOLEANfalseUse WanAnimatePreprocess ellipse-style bone rendering when available.
debug_logoptBOOLEANfalseWrite full trace to CMD + logs/session_*.log

Outputs (4)

NameTypeDescription
pose_imagesIMAGE
face_imagesIMAGE
pose_keypointsPOSE_KEYPOINT
nlf_imagesIMAGE