ComfyUI Extension: Vectorizer API
A collection of ComfyUI nodes for interfacing with the Vectorizer.ai API. Manipulate the results with options for scaling the SVG result back to raster image with increased resolution. Includes a background remover node to remove a prevalent background color from raster images. Enter credentials in config.json or directly within the node.
Custom Nodes (0)
README
ComfyUI Vectorizer.ai API Node Pack
This repository contains a pack of useful nodes for ComfyUI designed to simplify a professional vector-based image processing pipeline. Convert raster images to clean, scalable vectors using the Vectorizer.AI API, and then remove the background with a background removal node for compositing and further creative work. There are options to scale the vector graphic to a user defined value, this can allow for higher resolution raster graphics without quality loss.
✨ Core Features
- High-Quality Vectorization: Integrates with the powerful Vectorizer.AI API to convert PNGs into clean, editable SVGs.
- Infinite Scalability: Includes a
scaled_png
option to render the resulting SVG at any resolution (e.g., 4x, 8x) for crisp, high-resolution raster images without quality loss. - Background Removal Nodes: Node options for two different methods that detect and remove a solid color background from a raster image or the largest shape from a returned SVG file.
- Mask Output for Advanced Workflows: The background remover provides a perfect black and white silhouette mask, ideal for inpainting, compositing, sticker effects, and driving ControlNets.
- Secure & Convenient: Supports API key management via an optional
config.json
file, so you don't have to enter your credentials in the workflow.
📦 Nodes Included
1. Vectorizer.ai API
This node is the bridge to the Vectorizer.AI service. It takes an image and sends it for vectorization.
- Inputs:
image
, API credentials,output_format
(svg
,png
,scaled_png
),mode
(production
ortest
), and other vectorization parameters. - Output: Returns the original or processed
IMAGE
back into the workflow. - Functionality: Saves the final vector (
.svg
) or raster (.png
) file to your ComfyUIoutput
directory, respecting yourfilename_prefix
and numbering.
2. Background Remover (Shape)
A node to remove the single largest shape from the background of the returned SVG file with an option to save the edited SVG or pass through an RGBA PNG.
3. Background Remover (Color) [WIP]
A fast chroma keyer designed for images with a solid color background.
- Inputs:
image
,threshold
(to control the edge softness/fuzziness). - Outputs:
image_rgba
(the subject on a transparent background) andmask
(the black and white silhouette). - Functionality: Detects the background color by analyzing the image borders.
⚙️ Installation
Automatic Install: Search for Vectorizer API
in ComfyUI Manager and click Install
.
Manual Install:
Activate your venv
then proceed by following these instructions:
-
Clone the Repository
Navigate to your ComfyUI
custom_nodes
directory and clone this repository:cd ComfyUI/custom_nodes/ git clone https://github.com/rickrender/ComfyUI-Vectorizer-API.git
-
Install Python Dependencies
Install the required Python packages using the included
requirements.txt
file.cd ComfyUI-Vectorizer-API pip install -r requirements.txt
-
Install System Dependencies (for CairoSVG)
The
scaled_png
feature relies on the Cairo graphics library. You must install it on your system.- For Debian/Ubuntu:
sudo apt-get update && sudo apt-get install libcairo2-dev pkg-config
- For other operating systems, please consult their package manager to install the "Cairo" library.
- For Debian/Ubuntu:
-
Set Up API Credentials (Recommended)
Create an account at vectorizer.ai and get your keys from your account page. For convenience, create a file named
config.json
inside theComfyUI-Vectorizer-Pack
folder. Add your API keys to this file:{ "api_id": "YOUR_REAL_API_ID", "api_secret": "YOUR_REAL_API_SECRET" }
The node will automatically use these credentials if the fields in the UI are left blank. You can also enter them in the UI if you wish instead.
-
Restart ComfyUI
Completely restart your ComfyUI instance. The new nodes will appear in the "Conversion" category.
Dependencies
- Python:
requests
,lxml
,CairoSVG
- System:
libcairo2
or equivalent
License
This project is licensed under the MIT License.
Acknowledgements
This node pack utilizes the powerful Vectorizer.AI service.