HTMLServerLink
Serve the HTML an LLM made, and hand you a link to open it
- STRING
HTMLRenderer shows you the HTML an LLM wrote, but it shows it to you, inside ComfyUI. HTMLServerLink is the sibling with a bigger audience: it takes that HTML, stores it on your ComfyUI server, and hands back a URL anyone with access to your instance can open in a normal browser tab.
This is the node you want when the end result of an LLM writing HTML is something other people (or another tool) will actually visit. Think: the model drafts a landing page, a report, a dashboard - and instead of eyeballing it in a canvas iframe, you get a live link served by your own ComfyUI.
How it works
When the node runs, it stores the html_content as a file on disk (in the pack's HTML storage under your ComfyUI data directory) and returns a relative URL like /lite-html/<page_id>. The pack's JS adds a route to the ComfyUI server so that URL actually serves your page. The node's UI, courtesy of the pack's frontend, turns that into a clickable button and shows the absolute URL - point it at your ComfyUI host and the page opens.
The storage is pruned, so old pages don't accumulate forever - it's meant for live previews, not archival.
The inputs and output
html_content(multiline) - the HTML to serve.- Output:
STRING- the relative URL (/lite-html/<id>). It's an output node, so it renders in the UI too, but the string is real and usable.
Installing
Part of ComfyUI_LiteLLM. ComfyUI Manager, search "ComfyUI_LiteLLM", or:
cd ComfyUI/custom_nodes
git clone https://github.com/Hopping-Mad-Games/ComfyUI_LiteLLM
cd ComfyUI_LiteLLM
pip install -r requirements.txt
Restart. The server route is registered by the pack's code when it loads inside ComfyUI - the node explicitly checks for that and returns a "server endpoint unavailable" message if it's running somewhere the route couldn't be installed. Under ETK/LLM/LiteLLM. No API keys.
Where people get burned
The big one is security, and it's worth saying plainly: this node makes ComfyUI a web server for whatever HTML you feed it. If your ComfyUI is exposed to the internet (which it shouldn't be - the community has been through this with the LLMVISION incident), those URLs are public and so is the content. Keep this for local or trusted-network use. Second, the URL is relative - you get /lite-html/abc, and the JS display resolves it against your ComfyUI origin. If you copy the raw string into a chat message or another machine, it won't work unless you prepend the right host. Third, the served page is static HTML; scripts in it will run in the browser of whoever opens it, so same untrusted-content caution as HTMLRenderer. And don't treat it as permanent hosting - the storage is pruned, so a link you shared last month may 404 today.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| html_content | STRING | <h1>Hello, ComfyUI!</h1> | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |