Integrations / Make
Vectorize images in Make
Send a PNG or JPG from any Make scenario and get back a clean SVG, plus a DXF for laser and CNC machines or PDF and EPS files for print, in the same call. It works today with the built-in HTTP module: nothing to install.
1. Get an API key
- Create a free account on vectosolve.com, then a key on the API keys page. It starts with
vs_. - New accounts include 10 free API calls, enough to build and test the scenario. After that, each call uses credits from your account.
2. Configure the HTTP module
Add HTTP, Make a request after the module that provides the image file (Google Drive: Download a file, Gmail attachments, Dropbox, HTTP: Get a file).
| Setting | Value |
|---|---|
| URL | https://vectosolve.com/api/v1/vectorize |
| Method | POST |
| Headers | Name Authorization, Value Bearer vs_your_key |
| Header (recommended) | Name Idempotency-Key, Value a value unique to the image, such as the file ID from the previous module |
| Body type | Multipart/form-data |
| Field 1 | Key file, Field type File, Data and File name mapped from the previous module |
| Field 2 | Key mode, Field type Text, Value standard, laser, cricut, embroidery or centerline |
| Field 3 (optional) | Key output_format, Value dxf to also get a DXF file (default svg) |
| Field 4 (optional) | Key exports, Value pdf,eps (any of pdf, eps, ai, png) |
| Parse response | Yes |
| Timeout (advanced) | 120 seconds |
Already have a public link to the image? Replace the file field with a Text field image_url: VectoSolve downloads the image itself.
The Idempotency-Key header makes retries safe: if a call succeeded but the answer was lost, the retry returns the stored result instead of converting and charging a second time.
3. Turn the response into files
With Parse response on, the result fields can be mapped straight into the next module, for example Google Drive: Upload a file or Email: Send an email (attachments).
| Field | Content | Mapping in the next module |
|---|---|---|
| data.svg | The SVG markup | Data: data.svg, File name: logo.svg |
| data.dxf | The DXF, when output_format=dxf | Data: data.dxf, File name: logo.dxf |
| data.files.pdf.content_base64 | The PDF, when exports includes pdf | Data: toBinary(data.files.pdf.content_base64; "base64"), File name: logo.pdf |
| data.files.png.content_base64 | A high-resolution PNG, when exports includes png | Data: toBinary(data.files.png.content_base64; "base64"), File name: logo.png |
| data.files.eps.content | The EPS (text), when exports includes eps | Data: data.files.eps.content, File name: logo.eps |
| data.files.ai.content | The AI file (text), when exports includes ai | Data: data.files.ai.content, File name: logo.ai |
| data.source_quality | A report on the source image: flags files a person should check before production | Router filter, to send doubtful files to a human |
| credits.used, credits.remaining | What the call used and what is left | Filter, to alert you before the balance runs out |
Each print file is billed on its own. If one fails, it is refunded and its entry carries an error field instead of content; the SVG is still returned.
Scenarios people build with it
Artwork intake for a print or sign shop
Gmail: Watch emails, Iterator over attachments, HTTP to VectoSolve with exports=pdf,eps, Google Drive: Upload a file into the job folder.
Laser and CNC files from online orders
Shopify or WooCommerce: Watch orders, HTTP to VectoSolve with mode laser and output_format dxf, Email the DXF to the workshop.
Cut files for a Cricut or sticker store
Google Drive: Watch files in a folder, Download a file, HTTP to VectoSolve in cricut mode, Upload the SVG next to the original.
Errors
| HTTP | Meaning | Charged |
|---|---|---|
| 400 | A field is missing or invalid (no file or image_url, an output_format other than svg or dxf, a file over the limit). The message names the problem. | No |
| 401 | The API key is missing or wrong. Check the Authorization header: Bearer, a space, then the key. | No |
| 402 | No credits left, or the free trial calls are used up. The response carries top_up_url. | No |
| 409 | The same Idempotency-Key is already being processed. Retry a few seconds later. | No |
| 422 | The image produced an empty result. refunded: true confirms the refund. | No, refunded |
| 429 | Rate limit. A Break error handler with automatic retries handles it. | No |
Every error body has the same shape: { "success": false, "error": "..." }. Right-click the HTTP module and add an error handler: Break with automatic retries for 429, Ignore or a notification for 402.
Limits
- Input: PNG, JPG, WebP or GIF. Uploaded files up to 10 MB; image links up to 25 MB, public http(s) only.
- 60 requests per minute per key by default.
GET https://vectosolve.com/api/v1/creditsreturns your balance and your key's limits, free of charge. - A vectorization usually takes a few seconds; keep the 120-second timeout for large images with print files.
More
Full reference for every endpoint and parameter: API documentation and the OpenAPI spec. Using n8n instead? See the n8n guide. Questions: support@vectosolve.com.