πΎ SVG Saver
The node that turns your SVG string into a file you can actually open
- svg_code
- file_path
The OmniSVG generators hand you an SVG string; this node writes it to disk as a real .svg file. That's the whole job, and it's worth having because a string sitting in the graph isn't useful yet - a file you can open in a browser, drag into Inkscape or Figma, or send to a designer is. Think of it as the pack's version of Save Image, but for vector markup. It's also the simplest node in the pack: no model, no VRAM, no Qwen download, just a few lines of file writing that run on CPU happily.
Inputs
- svg_code (SVG_STRING) - the markup to save, from OmniSVG Text to SVG or Image to SVG.
- filename (default
generated_svg) - the file name. You don't need to include the extension;.svgis appended automatically if it's missing, and if you typelogo.svgit stays as-is. - output_dir (optional, default
"") - leave it empty and the file lands in ComfyUI's output folder, the same one Save Image uses. Type an absolute path to write somewhere else.
Outputs
- file_path (STRING) - the absolute path of the written file. Handy if you want to display it, log it, or pass it to another node.
How it works
It's honest-to-goodness file writing. The node joins output_dir and filename, makes sure the directory exists, ensures the .svg extension, and writes the string as UTF-8. It's marked as an output node (is_output_node: true), so it's a terminal step in your workflow - nothing meaningful feeds off it except that returned path string, which you can show with a text display node.
Gotchas
- No overwrite protection. Run it twice with filename
logoand the second run silently clobbers the first. There's no timestamp magic. For batch or repeat runs, vary the filename yourself (or point each run at its ownoutput_dir). - It writes whatever's in
svg_code, valid or not. If the generator errored, you'll get a.svgfile whose contents start with "Error:". Glance at the preview before you save, or you'll be opening failure artifacts in Inkscape. - Wrong type won't plug in.
svg_codeis the pack's customSVG_STRINGtype, so a generic text node won't connect - the input has to come from a node emittingSVG_STRING, i.e. one of the OmniSVG generators (or a compatible pack).
Install
Same one-liner as the rest of the pack - this node needs nothing beyond it:
cd ComfyUI/custom_nodes
git clone https://github.com/A043-studios/ComfyUI-OmniSVG
cd ComfyUI-OmniSVG
python install.py
Or use ComfyUI Manager and search "OmniSVG". No model download required for this node - if you only wanted to save SVGs someone else generated, you can use it without ever touching the 17GB OmniSVG model. That said, for a full text-to-SVG round trip you'll still need the model, the loader, and the patience the quality caveats in the Text-to-SVG article describe.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| svg_code | SVG_STRING | β | |
| filename | STRING | generated_svg | β |
| output_diropt | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| file_path | STRING | β |