Nodes/civitai-comfy-nodes/Civitai 3D Model Preview
ComfyUI Node

Civitai 3D Model Preview

Turn a 3D model into an image without a 3D viewer

By civitai·Created 3 months ago·Updated 2 days ago· 44
Civitai 3D Model Preview
  • model
  • api_config
  • images
  • workflow_id
  • raw_json
camera_poses_json
width1024
height1024
output_format
format
background#D9D9D9

Every polyGen node in this pack hands you a mesh URL and a thumbnail, and the thumbnail is usually the part you actually look at. This node is that idea made standalone: it renders a 3D model into images, on Civitai's cloud, so you can preview, check, and turn a model into assets without ever opening a 3D viewer. It's the least glamorous node in the pack and genuinely the most useful glue.

What it is

Civitai 3D Model Preview from civitai/civitai-comfy-nodes - a model3DPreview recipe. You give it a model and a set of camera poses, it renders stills, and returns them as a native IMAGE tensor. That's the whole job: cloud rendering of a 3D model into ComfyUI images. It's how you look at a mesh inside your graph, and how you grab a turntable of shots for documentation or model cards.

The model travels as a CIVITAI_AIR input - you pick it by wiring a Civitai Model Selector node (Browse button, pick your model) rather than typing a path. This is the same socket type the recipe nodes use for their model/vae/mesh inputs, so a mesh you generated with a polyGen node can flow into it the same way.

The inputs

  • model - required, CIVITAI_AIR. The model to render. Wire a Model Selector.
  • camera_poses_json - required STRING (multiline). A JSON list of camera poses; this is what determines the angles rendered. Leave it empty (the default) and you get whatever the service's default camera does; fill it in and you control the orbit. This is the field that turns the node into a turntable renderer.
  • width / height - render size, default 1024×1024, up to 4096.
  • output_format - jpeg, png, or webP (empty = service default).
  • background - a hex color, default #D9D9D9. Set it to match your presentation or set it transparent-friendly if your downstream expects a clean backdrop.

The outputs

  • images - an IMAGE tensor. Wire it into Preview Image, Save Image, or anything that eats an image.
  • workflow_id and raw_json - the pack's standard debugging/cost outputs.

Installing it

ComfyUI Manager → Civitai Comfy Nodes → Install → restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt

Only requests and python-socketio; no local 3D engine, no model files.

Gotchas

  • The model comes from a Selector, not a file path. If you're hunting for a "load model" text box, there isn't one. Wire a Civitai Model Selector and pick the model there.
  • Camera poses are JSON. If you're getting the default single angle every time, that's the empty camera_poses_json doing its thing - that's expected, not a bug. Fill in poses to control the render.
  • It bills Buzz. Rendering is cheaper than generating, but it's metered. raw_json has the cost.
  • Credentials - Civitai Auth node, CIVITAI_API_TOKEN, or the sidebar OAuth login. No token, no preview.
  • This node renders; it doesn't edit. For rotating or animating the model, the polyGen nodes are the ones with rigged/animated outputs.
CategoryCivitai/Misc

Inputs (8)

NameTypeDefaultDescription
modelCIVITAI_AIR
camera_poses_jsonSTRING
widthoptINT1024256–4096
heightoptINT1024256–4096
output_formatoptCOMBO4 options: , jpeg, png, webP
formatoptSTRING
backgroundoptSTRING#D9D9D9
api_configoptCIVITAI_CONFIGOptional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login.

Outputs (3)

NameTypeDescription
imagesIMAGE
workflow_idSTRING
raw_jsonSTRING