starvector
Adobe's generative image-to-SVG, hosted on Civitai
- image
- api_config
- svg_audio
- svg_video
- workflow_id
- raw_json
StarVector is Adobe's research line for image-to-SVG: instead of tracing pixels, a generative model produces the vector markup directly. This node runs it on Civitai's orchestration layer - raster image in, SVG out, no local model and no GPU. Of the three image-to-SVG nodes in this pack, StarVector is the middle option: generative like OmniSVG, but a simpler control surface (model size, precision, max length) with no sampling knobs.
It's the right pick when you want the quality of a model-based vectorization without the parameter roulette of OmniSVG's temperature/top-p stack, and you don't need VTracer's exact geometric trace. Logos, icons, and clean illustrations are the sweet spot.
How it works
Standard civitai-comfy-nodes mechanics: upload your image to the Civitai Orchestration API as an imageToSvg recipe (engine comfy, ecosystem starvector), long-poll, return the result. The model generates SVG text from the image, so the knobs are about model size and how much SVG output to allow - not about tracing geometry.
The inputs that matter
- image - required (
IMAGE, or a URL/DataURL/Base64 string per the tooltip). - model -
starvector-1b(default) orstarvector-8b. The 8B is the quality upgrade; 1B is faster/cheaper. - precision -
fp16(default) orbf16for the cloud run. Not something you normally need to touch - Civitai's fleet runs it. - max_length - 100–16000 (default 4000): the cap on generated SVG text. Raise it for complex, detail-heavy source images; lower it to keep output compact.
That's the whole surface. No temperature, no seed, no prompt - StarVector is the "point it at an image" option.
Outputs
Same generated naming as the other SVG nodes: svg_audio and svg_video media slots (a codegen artifact - don't read "audio"/"video" literally), plus workflow_id and raw_json. The SVG result comes back in one of the media slots; raw_json holds the full workflow JSON when you need the raw SVG text.
Installing and authenticating
Pack-wide install:
cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt
or ComfyUI Manager → "Civitai Comfy Nodes" → Install → restart. Dependencies: requests + python-socketio[client].
Auth: Civitai Auth node → CIVITAI_API_TOKEN → stored key/OAuth → browser login. Headless:
export CIVITAI_API_TOKEN=your_token
Where people get burned
- Generative, not geometric. StarVector produces a generated SVG, not a pixel-perfect trace. If you need exact path reproduction of a raster, use the VTracer node.
- No sampling controls. You can't tune determinism or creativity - the two levers are model size and max_length. If output feels off, that's all you have.
- Billed per job; 8B costs more. Start on
starvector-1band upgrade only if quality demands it. max_lengthmatters for complex images. If SVG output gets truncated or loses detail, raise it - a busy source image can exceed the 4000-token default.- Odd output names (
svg_audio/svg_video) are just the pack's generated naming; the SVG is what comes back. And the source image leaves your machine for the cloud job.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | Either A URL, A DataURL or a Base64 string | |
| modelopt | COMBO | starvector-1b | 2 options: starvector-1b, starvector-8b |
| precisionopt | COMBO | fp16 | 2 options: fp16, bf16 |
| max_lengthopt | INT | 4000100–16000 | — |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| svg_audio | AUDIO | — |
| svg_video | VIDEO | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |