Nodes/ComfyUI-Batch-Process/3D Model Batch Preview
ComfyUI Node

3D Model Batch Preview

Preview a Whole Batch of 3D Models Without Trashing Your Output Folder

By Zar4X·Created about a year ago·Updated 10 days ago· 16
3D Model Batch Preview
  • models

    ComfyUI's native Preview3D shows you one model in an orbitable viewport. That's great until your generator hands you a batch - twenty Hunyuan3D or TRELLIS outputs sitting in one MESH object - and you want to eyeball all of them before committing anything to disk. Model3DBatchPreview is that eyeball: the batch version of a preview, letting you click through every model in the group right in the canvas without permanently writing a thing.

    It's the cheapest node in this part of the pack, and that's its whole appeal. Think of it as the 3D equivalent of a contact sheet - or, more precisely, of PreviewImage but for meshes. No save, no naming decisions, no sidecar files. Just "show me what I got."

    How it works

    Model3DBatchPreview is an output node with exactly one optional input: models. The tooltip is the spec - "MESH batch, File3D, or list of either / paths." You can feed it a whole MESH batch, a single loaded File3D, a list of several, or plain paths to 3D files. Internally it flattens whatever arrives into individual models (a MESH batch is split per-model, File3D items and paths pass through), writes each one as a temporary .glb into a fresh output/preview3d_batch_<random>/ subfolder, and hands the list to the frontend's native 3D viewer through the same ui result channel that Preview3D uses. Each model becomes an item in that viewport; you orbit and click through them all.

    One implementation detail that explains a lot of behavior: the node returns IS_CHANGED as the current time, which means it re-runs on every queue, every time. That's deliberate - a preview that skips a run because ComfyUI's cache thought nothing changed would show you stale models. The flip side is the standard cost of that trick: it can't be skipped, so it adds a little overhead to every run it sits in. Keep it as a final preview node, not buried mid-graph.

    There are no outputs and nothing to wire downstream - it's a terminal node. models in, models eyeballed.

    How it fits the workflow

    This is the "look before you save" step that pairs with Model3DBatchSaver from the same pack: preview the whole batch, note which ones you like, then let the saver write the keepers to a real folder with proper names and captions. Because the preview writes to a random temp subfolder, your main output directory stays clean - which is more than you can say for the equivalent of dumping twenty GLBs into output/ and sorting it out later.

    It's also a genuinely useful sanity check on generated 3D, and the honest framing matters here: the KB's verdict on this corner of the ecosystem is that generated meshes are impressive silhouettes over rough topology - fine for static props and printing, not for rigging. A batch preview is exactly how you find the two good silhouettes out of twenty before you bother saving them.

    Installing it

    Part of the ComfyUI-Batch-Process pack, so the usual:

    • ComfyUI Manager: search "ComfyUI-Batch-Process".
    • Manual:
    cd ComfyUI/custom_nodes
    git clone https://github.com/Zar4X/ComfyUI-Batch-Process
    

    Restart after. Dependencies are just Pillow and torch, no model downloads. And the one real dependency to watch: like the batch saver, this node uses ComfyUI's native 3D helpers (comfy_extras.nodes_save_3d), so it needs a recent ComfyUI. On an older build it errors with "MESH support requires comfy_extras.nodes_save_3d" - update ComfyUI, not the pack.

    Common issues

    • Nothing shows in the preview - an empty or unconnected models input just produces an empty preview, no error. Check what's feeding it.
    • "requires comfy_extras.nodes_save_3d" - stale ComfyUI. Update.
    • Temp GLBs accumulating in output/preview3d_batch_* - expected. That's scratch space; the saver is the permanent path. Purge the folders occasionally if you run a lot of previews.
    • It runs every single queue, even when nothing changed - by design, so you never see stale models. It's a preview; that's the job.

    Small, terminal, and exactly as useful as it sounds. If you generate 3D in batches, you'll wonder how you checked them before this.

    CategoryBatch Process

    Inputs (1)

    NameTypeDefaultDescription
    modelsopt*MESH batch, File3D, or list of either / paths

    Outputs (0)

    No outputs