SAM 3D Body: Full-Body 3D Human Mesh Tracking, Now Native in ComfyUI
Meta's SAM 3D Body human mesh recovery is now built into ComfyUI core: video pose tracking, facial expression driving, and GLB/BVH export via new SAM3DBody nodes.
Overview
SAM 3D Body (3DB), developed by Meta Superintelligence Labs, reconstructs a full-body 3D human mesh (body, feet, and hands) from a single image, with strong generalization across in-the-wild conditions. It uses the Momentum Human Rig (MHR) parametric representation, which decouples skeletal structure from surface shape, and supports auxiliary prompts such as 2D keypoints and masks for user-guided inference, similar to the SAM family.
SAM 3D Body encoder-decoder architecture built on the Momentum Human Rig (source: Meta)
Native ComfyUI Support
The ComfyUI integration adds a dependency-free implementation of SAM 3D Body with new SAM3DBody_Loader, SAM3DBody_Predict, SAM3DBody_Render, SAM3DBody_Smooth, and SAM3DBody_FaceExpression nodes, plus video-oriented extras:
- Temporal smoothing for stable video pose detection across frames
- Facial expression driving through MediaPipe blendshapes
- Pose rendering as a mesh or in OpenPose / SCAIL-pose formats, using only PyTorch
- 3D animation export (GLB) as a body mesh or as OpenPose/SCAIL-pose custom meshes
- BVH animation export, tested with Blender import
- MoGe support for camera FoV detection (
LoadMoGeModel/MoGeGeometryToFOV) - SAM 3.1 video tracks for multiperson detection (
SAM3_VideoTrack)
SAM 3D Body test workflow inside ComfyUI (source: Comfy-Org/ComfyUI PR #14370)
Because the nodes can render pose in SCAIL-pose format, SAM 3D Body also pairs with SCAIL-2 character animation workflows, which already support SAM3D-Body mesh rendering as a zero-shot control input.
Workflow
The official test workflow from the integration PR covers detection, pose prediction, smoothing, face expression driving, MoGe-based FoV estimation, and 3D preview:
Model Download
Comfy-Org repackaged weights provide ready-to-use checkpoints in bf16 and INT8 ConvRot precision. Place them in ComfyUI/models/detection/:
sam_3d_body_dinov3_bf16.safetensors
sam_3d_body_dinov3_int8_convrot.safetensors
Comments
Sign in with GitHub to join the discussion.