Skip to content

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

  1. Create a free account on vectosolve.com, then a key on the API keys page. It starts with vs_.
  2. 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).

SettingValue
URLhttps://vectosolve.com/api/v1/vectorize
MethodPOST
HeadersName 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 typeMultipart/form-data
Field 1Key file, Field type File, Data and File name mapped from the previous module
Field 2Key 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 responseYes
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).

FieldContentMapping in the next module
data.svgThe SVG markupData: data.svg, File name: logo.svg
data.dxfThe DXF, when output_format=dxfData: data.dxf, File name: logo.dxf
data.files.pdf.content_base64The PDF, when exports includes pdfData: toBinary(data.files.pdf.content_base64; "base64"), File name: logo.pdf
data.files.png.content_base64A high-resolution PNG, when exports includes pngData: toBinary(data.files.png.content_base64; "base64"), File name: logo.png
data.files.eps.contentThe EPS (text), when exports includes epsData: data.files.eps.content, File name: logo.eps
data.files.ai.contentThe AI file (text), when exports includes aiData: data.files.ai.content, File name: logo.ai
data.source_qualityA report on the source image: flags files a person should check before productionRouter filter, to send doubtful files to a human
credits.used, credits.remainingWhat the call used and what is leftFilter, 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

HTTPMeaningCharged
400A 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
401The API key is missing or wrong. Check the Authorization header: Bearer, a space, then the key.No
402No credits left, or the free trial calls are used up. The response carries top_up_url.No
409The same Idempotency-Key is already being processed. Retry a few seconds later.No
422The image produced an empty result. refunded: true confirms the refund.No, refunded
429Rate 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/credits returns 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.