MVNT Preview Dance 3D
See Your Dancer (and Hear the Track) Without Leaving ComfyUI
- model_file
- audio
- camera_info
- bg_image
You just generated a GLB of a dancer and you want to know if it's any good before you spend a server render on an MP4. That's exactly what MVNT Preview Dance 3D is for: it plays the animated GLB inside ComfyUI's native 3D viewer, with the source audio running alongside it so you can watch the choreography hit the beat in real time. It's the pack's fast, free review step - zero cloud cost, zero waiting, just you and a tiny spinning dancer in your browser.
It sits right after MVNT Generate Dance in the main flow. The core loop is: generate motion → preview in 3D → decide whether it's a keeper → only then call MVNT Render Dance Video for the MP4. Skip the preview and you'll render videos of dances you don't want.
How it works
This node is a viewer, so it leans on ComfyUI's newer preview machinery: PreviewUI3D for the model and PreviewAudio for the track, both surfaced through the recent IO/UI APIs. Nothing goes to MVNT's servers and nothing is generated here - it reads the GLB path you feed it and hands it straight to the browser. The one prerequisite is a ComfyUI build recent enough to have those preview UIs; on an old install this node refuses to start with a clear "PreviewUI3D/PreviewAudio API is unavailable" error.
The inputs
model_file(required) - an animated GLB. The author's tooltip says it plainly: "Animated GLB/model path from MVNT Generate Dance." You can wire thedance_3dstring output straight in, or drop any GLB/GLTF/FBX file on disk. It's typed asSTRING, FILE_3D_GLB, FILE_3D_GLTF, FILE_3D_FBX, FILE_3D, so other 3D nodes that produce files can connect too.audio(optional) - wire the same audio you generated from and the preview plays it in sync with the dance. Worth doing; watching the GLB mute loses half the point.camera_info(LOAD3D_CAMERA, advanced) - a saved camera view to frame the preview. Ignore it until you want one.bg_image(IMAGE, advanced) - a backdrop image for the viewer. Cosmetic.
No outputs - it's an output node, the end of its branch.
Installing it
It ships inside ComfyUI-MVNT. ComfyUI Manager → search MVNT → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/mvnt-app/ComfyUI-MVNT.git comfyui-mvnt
cd comfyui-mvnt
pip install -r requirements.txt
Restart ComfyUI. No extra dependencies beyond the pack's usual requests / numpy / soundfile / Pillow, and no API key required - previewing is free and local. The only "install" concern is your ComfyUI version, since the node needs the modern 3D preview APIs.
Gotchas
The README calls out the main one: the 3D preview looks different across ComfyUI versions because it's ComfyUI's own viewer doing the rendering. Don't chase it - a different camera orbit or lighting isn't your workflow being broken. If the model doesn't appear at all, check that the model_file path still exists (clearing your output folder deletes old GLBs) and that your ComfyUI is up to date. And if you connected audio and hear nothing, make sure the audio input is actually connected rather than the original file - the node only plays what you wire in.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model_file | STRING,FILE_3D_GLB,FILE_3D_GLTF,FILE_3D_FBX,FILE_3D | Animated GLB/model path from MVNT Generate Dance | |
| audioopt | AUDIO | — | |
| camera_infoopt | LOAD3D_CAMERA | — | |
| bg_imageopt | IMAGE | — |
Outputs (0)
No outputs