π± Gemini Markdown
A pretty viewer for the pack's markdown outputs
- response
Gemini Markdown is the pack's display node, and it does exactly one thing well: it renders markdown text nicely in the ComfyUI UI. It's an output node - the kind you attach at the end of a workflow to actually see something - and it's aimed at the markdown reference sheets the pack produces.
Where does that markdown come from? The pack's settings nodes generate them. Gemini Light and Gemini Scenery both return a markdown output alongside their typed result - a nicely formatted reference sheet listing every lighting option or every scene category with descriptions. Feed that into Gemini Markdown and you get a readable, styled panel in your UI instead of a wall of raw text. It's the pack's way of giving you a built-in cheat sheet for what the dropdowns mean.
How it works
There's nothing clever under the hood, and that's the point. The node takes a single response input (forced, meaning it must be connected to something - you can't type into it), renders it as markdown in the UI, and passes the same string through as its output. Because it's an output node, it draws a panel in the UI when the workflow runs, and the markdown gets displayed formatted rather than as raw # and - characters.
The input type is plain STRING (with forceInput, so it expects a connection). That's a deliberate design choice: it means you can feed it markdown from any text-producing node, not just the pack's own markdown outputs - including Gemini Vision's structured headers, if you feel like pretty-printing a caption.
Inputs and outputs
- response - a forced STRING input; wire any markdown-capable text here.
- Output:
response(STRING) - the same text, passed through so it can still feed a downstream node if you ever need the raw string.
That's the entire interface. No API block, no key, no cost.
Installing it
Via ComfyUI Manager (search Artha-Gemini) or:
cd ComfyUI/custom_nodes
git clone https://github.com/Cyrostar/ComfyUI-Artha-Gemini
cd ComfyUI-Artha-Gemini
pip install -r requirements.txt
No model downloads, no API key. This node is purely local - it just formats and displays text.
Where people get burned
The most common confusion is expecting it to generate markdown. It doesn't - it displays it. If you feed it plain prose, you get plain prose back. The markdown formatting only appears if the incoming text actually contains markdown syntax, which is why it shines with the pack's Scenery and Light reference sheets and falls flat with a raw caption.
Second, because the input is forced, you can't just type text into the node and hit run - it needs a connection from something. And while it passes the text through as an output, that's a passthrough convenience, not a real feature; if you're building a pipeline you'll usually want the original text source instead of routing through a display node. Attach it where you want to see something, not where you want to transform something, and it'll never let you down.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| response | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| response | STRING | β |