Nodes/ComfyUI-UML/Diagram Viewer URL
ComfyUI Node

Diagram Viewer URL

The node that doesn't render anything — it hands you a URL to open your diagram in a zoomable viewer

By antoinebou12·Created 6 months ago·Updated 17 days ago· 3
Diagram Viewer URL
    • viewer_url
    • viewer_url_iframe
    kroki_url

    Diagram Viewer URL is the pack's quiet utility node, and it does exactly what the name says: it builds a URL. No rendering, no API calls, no models - you feed it a kroki_url and it hands back viewer links. It exists because UML Render's kroki_url output is a compact deflate-encoded GET URL that a browser can open directly, but raw Kroki URLs render as a bare page with no zoom, no save button, no nothing. This node wraps that URL in the pack's built-in viewer.html page, which gives you fit-to-view, wheel zoom, pan, a Save button, and a copy-link action.

    It's a small job, and the node is honest about being a thin utility - probably 300 words of explanation is all it deserves. But it has two outputs that each serve a different purpose, and confusing them is the only real way to misuse it.

    The two outputs

    • viewer_url - the full viewer page. Open it in a new tab or right-click the node → Open in viewer. This is your "look at the diagram properly" link.
    • viewer_url_iframe - the same viewer in embed mode (?embed=1), a stripped-down version with just fit-to-view and zoom, no save or crop chrome. This is the one you hand to an iframe - e.g. a ComfyUI_Viewer node or anything that displays a URL in a frame.

    The nicest touch: when kroku_url is connected, the node shows a live preview of the diagram right inside itself after you run. That turns it into a poor man's diagram inspector - you see what UML Render produced without a separate browser tab. Feed it a kroki_url from UML Render, and the wiring is one connection.

    It's also more tolerant than you'd expect about what you feed it. _viewer_query sniffs the input: a raw SVG string gets base64'd into a data URL, a local file path from output/uml/ gets converted to ComfyUI's /view? endpoint, and a web URL gets its format guessed from the path. So kroki_url isn't the only thing it accepts - content_for_viewer from UML Render works too. If you leave the input empty, it just returns the bare viewer paths.

    When you'd actually use it

    Honestly: when you want to look at what you generated, or when you're embedding diagrams into a custom dashboard. If you just want the image in your outputs, you can ignore this node entirely - UML Render's IMAGE output and saved files cover that. It earns its place in the pack's example workflows (uml_single_node.json, uml_mermaid.json, uml_plantuml.json) because those show the rendered diagram in the viewer as a nicer "result" than a silent save to disk.

    Installing

    It's one of the five nodes in antoinebou12/ComfyUI-UML:

    comfy node install comfyui-uml
    # or manually:
    cd ComfyUI/custom_nodes && git clone https://github.com/antoinebou12/ComfyUI-UML
    pip install -r requirements.txt
    

    Restart ComfyUI, and it'll be under the UML category. No extra dependencies, no model files, nothing to configure - about the lowest-friction node in the whole pack. The only way to trip it up is to expect it to do more than build a URL.

    CategoryUML

    Inputs (1)

    NameTypeDefaultDescription
    kroki_urloptSTRING

    Outputs (2)

    NameTypeDescription
    viewer_urlSTRING
    viewer_url_iframeSTRING