Nodes/ComfyUI-MVNT/MVNT Image to T-Pose
ComfyUI Node

MVNT Image to T-Pose

The Boring Pose That Makes Character Dance Retargeting Actually Work

By mvnt-app·Created 5 months ago·Updated 3 months ago· 3
MVNT Image to T-Pose
  • source_image
  • tpose_image
  • tpose_image_file
  • tpose_info

Every dancer in an MVNT character pipeline starts from the same pose: arms out, standing like a scarecrow that gave up. That's a T-pose, and it's the reference point MVNT and Tripo-style generators use to rig your character so dance motion can be retargeted onto it later. MVNT Image to T-Pose is the node that produces that pose from a plain character picture, so you never have to hunt down or model a T-pose image yourself.

It sits at the front of the optional character flow in ComfyUI-MVNT: character image → T-pose → a rigged character GLB (Tripo or similar) → MVNT Generate Dance with the GLB wired into character_glb. Without this step you're stuck with the built-in mannequin dancer. With it, the dance comes out wearing your character.

How it works

Under the hood this is the pack's one purely server-side image call. The node saves your source_image to a temp PNG, uploads it to MVNT's image preprocessing endpoint (/image/tpose-regenerate), and the service does the pose conversion and sends back an image. The node writes it to ComfyUI/output/ as mvnt_tpose_<id>.png and hands you three things back.

Notable detail: this node has no API key widget and the client code doesn't send one - the T-pose preprocessing call goes out unauthenticated. It's effectively the free on-ramp of the pack; you'll need your MVNT key later, at the dance generation step, not here.

Inputs and outputs

One input, three outputs. The only thing you set:

  • source_image (IMAGE) - your character image. Front-facing and reasonably clean works best; the service has to figure out where the limbs go.

Outputs:

  • tpose_image (IMAGE) - the T-pose image as a tensor, ready to view or wire onward.
  • tpose_image_file (STRING) - the path to the saved mvnt_tpose_<id>.png on disk.
  • tpose_info (STRING) - a small JSON blob (output path, content type, byte size) that's mostly for debugging.

Installing it

This ships inside ComfyUI-MVNT, so you get it with the whole pack. Easiest route: open ComfyUI Manager, search MVNT, install, restart. Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/mvnt-app/ComfyUI-MVNT.git comfyui-mvnt
cd comfyui-mvnt
pip install -r requirements.txt

Then restart ComfyUI. The requirements are light - requests, numpy, soundfile, Pillow - because there are no local model downloads anywhere in this pack; the heavy lifting happens on MVNT's servers.

Gotchas

If you see an error about a non-image content type coming back from the endpoint, that's the server hiccupping, not you - queue again and check the ComfyUI console for the real error text. And one classic trap from the README: if you've used this pack before, old versions of the nodes (MVNT Dance Generate, MVNT Dance (All-in-One)) can linger and show up alongside the new ones. Delete or rename the old custom node folder and restart. You want one set of MVNT nodes, not a museum.

CategoryMVNT

Inputs (1)

NameTypeDefaultDescription
source_imageIMAGE

Outputs (3)

NameTypeDescription
tpose_imageIMAGE
tpose_image_fileSTRING
tpose_infoSTRING