MVNT Image to T-Pose
The Boring Pose That Makes Character Dance Retargeting Actually Work
- 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 savedmvnt_tpose_<id>.pngon 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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| source_image | IMAGE | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| tpose_image | IMAGE | — |
| tpose_image_file | STRING | — |
| tpose_info | STRING | — |