Nodes/ComfyUI HiTem3D Integration/๐Ÿ‘๏ธ HiTem3D 3D Preview
ComfyUI Node

๐Ÿ‘๏ธ HiTem3D 3D Preview

Spin your GLB around in the browser before you even open Blender

By GeekatplayStudioยทCreated 10 months agoยทUpdated 8 months agoยท 22
๐Ÿ‘๏ธ HiTem3D 3D Preview
    • preview_html
    • preview_file_path
    • preview_url
    โ—„model_pathโ–บ
    โ—„width512โ–บ
    โ—„height512โ–บ
    โ—„background_color#808080โ–บ
    โ—„auto_rotatetrueโ–บ
    โ—„show_wireframefalseโ–บ
    โ—„show_gridtrueโ–บ

    You just spent credits generating a 3D model and don't want to open a heavyweight DCC tool just to check whether the back of it looks like a melted candle. The HiTem3D 3D Preview node builds an interactive HTML viewer - a Three.js scene with orbit controls - from your downloaded model file, so you can spin, zoom, and eyeball the mesh in a browser tab before committing to anything.

    It's the payoff node of the pack: Generator โ†’ Downloader โ†’ Preview is the whole loop, and this is where you actually see what you paid for. It takes a model_path (the string from the HiTem3D Downloader) and produces a self-contained HTML preview.

    How it works

    The node reads your model file and embeds it into an HTML page that loads Three.js from a CDN, with a loader picked to match the file type (GLTF/OBJ/STL/FBX loaders all included). For files under ~10MB it base64-embeds the model directly into the HTML for a fully interactive preview. Bigger files get a smarter tier of handling - medium files get an "optimized" preview, large ones (25โ€“100MB) a lighter "large file" preview, and anything over 100MB a placeholder page that tells you the file's too big to preview inline.

    The viewer itself has a dark, clean panel with width/height dimensions, a background_color picker (four presets), auto_rotate on by default, and toggles for show_wireframe and show_grid. Great for a quick turntable look at your mesh.

    The three outputs

    • preview_html - the full HTML string. Feed it into the HTML Previewer node if you want it inside ComfyUI's floating panel, or write it out to open directly.
    • preview_file_path - the saved .html file, tucked under ComfyUI's output directory in hitem3d/previews/. Note it's returned as a friendly message string, not a plain path.
    • preview_url - a file:// URL pointing at that saved page, for opening in your default browser.

    Wiring it up

    HiTem3DDownloaderNode โ†’ model_path โ†’ HiTem3DPreviewNode โ†’ preview_html โ†’ HTMLPreviewer
    

    That last hop is what the pack's more polished example workflows do - it gets the preview into the live HTML panel with auto-refresh, which is nicer than juggling browser tabs. The examples/ folder has a complete version with history tracking too.

    Installing

    Via ComfyUI Manager (search "ComfyUI HiTem3D Integration"), or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/GeekatplayStudio/comfyui-hitem3d
    cd comfyui-hitem3d
    pip install -r requirements.txt
    

    Restart ComfyUI. No extra models or heavy dependencies.

    Where people get burned

    • Preview looks blank. The Three.js scripts load from cdnjs/jsdelivr, so you need an internet connection when you open the page. Fully offline machines get an empty scene.
    • preview_url is file://, not http://. Opening it loads the page from disk, which is exactly why the browser needs internet for the CDN scripts - and why the HTML Previewer route exists if you'd rather serve it over ComfyUI's HTTP server.
    • Huge models. Anything over ~100MB gets a placeholder rather than an interactive preview. Remesh or decimate first; this is a preview tool, not a viewer for 2-million-face monsters.
    • Unsupported format. The node accepts .obj, .glb, .gltf, .stl, and .fbx - a .usdz from the Generator's format dropdown won't preview here.

    It's the fastest way to sanity-check a generation before you commit it to disk and load it into a real 3D app. Not a replacement for Blender - just a much quicker way to find out whether the model's worth opening Blender for.

    CategoryHiTem3D

    Inputs (7)

    NameTypeDefaultDescription
    model_pathSTRINGโ€”
    widthoptINT512256โ€“2048โ€”
    heightoptINT512256โ€“2048โ€”
    background_coloroptCOMBO#8080804 options: #000000, #FFFFFF, #808080, #f0f0f0
    auto_rotateoptBOOLEANtrueโ€”
    show_wireframeoptBOOLEANfalseโ€”
    show_gridoptBOOLEANtrueโ€”

    Outputs (3)

    NameTypeDescription
    preview_htmlSTRINGโ€”
    preview_file_pathSTRINGโ€”
    preview_urlSTRINGโ€”