Nodes/ComfyUI/Preview 3D & Animation
ComfyUI Node Runs on cloud

Preview 3D & Animation

The zero-effort way to actually see your model

By Comfy-Org·Created 4 years ago·Updated about an hour ago· 129,800
Preview 3D & Animation
  • model_file
  • camera_info
  • bg_image

    Preview 3D is the "just let me look at it" node. One input, one job: you hand it a 3D model - either as a file object from another node or as a plain path string - and it opens that model in the interactive 3D viewer so you can orbit it, zoom it, and inspect it before you save anything. It's the equivalent of a Preview Image node, but for meshes, and it does exactly what its search aliases promise: "view mesh", "3d viewer".

    It ships with ComfyUI core in the "3d" category, no install. It's the oldest of the preview nodes - it landed back in December 2024, right alongside the original Load 3D - and it's the one with the simplest wiring.

    What makes it different from the other previews

    There are actually three preview nodes now, and it's worth knowing which is which. Preview 3D (Advanced) takes a model_3d file from an upstream 3D node and passes it back out, so it slots in the middle of a graph. Preview Splat and Preview Point Cloud are specialized for those formats. This one, the plain Preview 3D, is the beginner's version: it accepts a model file or a bare path string (just type a path, or wire one in), and it has no outputs at all. It's a terminal node. It sits at the end of your graph and says "here's the model, admire it."

    That path-string flexibility is quietly useful. If a loader somewhere upstream hands you a mesh_path string - like Load 3D's output - you can wire that string straight in here and get a preview without any file-object plumbing.

    The optional inputs worth knowing

    • camera_info - a LOAD3D_CAMERA object (from Create Camera Info, or from a loader's camera output). Wire one in and the viewer opens at that camera instead of a default angle. Useful if you want to verify a specific framing before rendering.
    • bg_image - an IMAGE to use as the backdrop. This one's underrated: drop in the source photo you generated the model from and you can eyeball whether the mesh actually lines up with the reference.

    Where it shows the file

    Two paths, depending on what you feed it. Give it a real file object and it copies the model to a scratch file and points the viewer at it. Give it a path string and it points the viewer straight at that path. Either way you're not committing anything to your output folder permanently - this is a look, not an export. When you're happy, the actual save is Save 3D Model's job.

    The gotcha

    The gotcha is scope. Because this node takes any mesh format ComfyUI knows - GLB, GLTF, OBJ, FBX, STL, USDZ, and raw 3D files - it won't catch a wrong-format file for you. Feed it a gaussian splat and you'll get a blank or broken viewer, because splats need the dedicated Preview Splat node (and point clouds need Preview Point Cloud). The node can't hold your hand on that one, and neither can I: check the file extension before you assume the viewer is broken.

    Otherwise, there's not much to break here. That's the point. It's the lowest-friction node in the whole 3D category, and honestly the one you'll reach for when you just want to confirm the thing you generated isn't a nightmare before you export it.

    Category3d

    Inputs (3)

    NameTypeDefaultDescription
    model_fileSTRING,FILE_3D_GLB,FILE_3D_GLTF,FILE_3D_FBX,FILE_3D_OBJ,FILE_3D_STL,FILE_3D_USDZ,FILE_3D3D model file or path string
    camera_infooptLOAD3D_CAMERA
    bg_imageoptIMAGE

    Outputs (0)

    No outputs