Nodes/Dustin ComfyUI Nodes/Dustin Marble Preview Thumbnail
ComfyUI Node

Dustin Marble Preview Thumbnail

See what Marble built without leaving ComfyUI

By zihualiu1997·Created 4 months ago·Updated 4 months ago· 1
Dustin Marble Preview Thumbnail
    • image
    asset_urls_json
    image_url

    Five minutes of waiting for Marble to generate a world, and the first thing you want is proof it worked. That's this node. It takes the asset_urls_json that every generate node in this pack spits out, extracts the thumbnail_url, downloads the thumbnail, and drops it into the ComfyUI preview panel. No more opening Marble's web viewer to check - the result shows up in your graph like a local generation would.

    What it does

    Under the hood it's deliberately simple: resolve the thumbnail URL from your inputs, fetch it over HTTP, convert to an IMAGE tensor, and save a temp file for the preview panel. It accepts either of two inputs - asset_urls_json from a generate node, or image_url with a direct thumbnail URL - and if you provide a direct image_url it wins over the JSON. The README's recommended wiring is:

    Dustin Marble Generate World → asset_urls_json → Dustin Marble Preview Thumbnail
    

    The output

    image is a real ComfyUI IMAGE tensor, which is the sneaky-good part of this node. It's marked as an output node (so it renders the preview), but it also returns the image so you can wire it onward - into a Save Image node, a compare node, or anything else that wants an IMAGE. So it's not just a viewer; it's a "preview and pass along" node. If the thumbnail isn't in your asset_urls_json - say you fed it a hand-built JSON that only has mesh URLs - you get a clear error: "asset_urls_json does not contain 'thumbnail_url'."

    When you'd use it

    Honestly, every time you generate a world and want to glance at the result without a browser tab. That's the whole job. The thumbnail is a quick sanity check - a proper look at the actual environment means the panorama path instead (Preview Panorama, or the interactive Pano 360 Viewer if you want to look around). This one answers "did it work and is it roughly what I asked for," which is a surprisingly useful question to answer cheaply.

    Notes and install

    The download runs server-side, which sidesteps CORS entirely - the node fetches the image with requests and hands ComfyUI a local temp file, so Marble's CDN URLs don't trip browser restrictions. It needs requests (auto-installed) and no API key - this node doesn't call the API, it just downloads a public URL. So the key requirement is really that whatever asset_urls_json you feed it came from a generation that actually completed.

    cd ComfyUI/custom_nodes
    git clone https://github.com/zihualiu1997/dustin-comfyui-nodes
    

    Restart ComfyUI, or install "dustin-comfyui-nodes" from ComfyUI Manager. Search "Dustin" in the node menu. No models, no key, no GPU - the whole thing is one HTTP GET and a tensor conversion.

    CategoryDustin Nodes/Marble

    Inputs (2)

    NameTypeDefaultDescription
    asset_urls_jsonoptSTRING
    image_urloptSTRING

    Outputs (1)

    NameTypeDescription
    imageIMAGE