Integrate image-to-vector conversion into your apps with a single POST request.
curl -X POST "https://image2vector.app/api/convert?api_key=YOUR_API_KEY" \ -F "file=@image.png" \ -F "color_mode=color" \ -F "filter_speckle=4" \ -F "corner_threshold=60" \ -F "path_precision=8" \ -o output.svg
The SVG is returned directly as the response body (Content-Type: image/svg+xml) — save it straight to a file, no parsing. Metadata rides in the response headers:
HTTP/1.1 200 OK Content-Type: image/svg+xml Content-Disposition: inline; filename="vectorized.svg" X-Remaining-Free: 0 X-Processing-Time-Ms: 312 <svg xmlns="http://www.w3.org/2000/svg" ...>...</svg>
Prefer a JSON envelope? Send Accept: application/json and you'll get { "svg": "…", "remaining_free": 0 } instead.
| Parameter | Type | Default | Description |
|---|---|---|---|
| file | File | Required | Image file (PNG, JPG, WebP, GIF) |
| api_key | String | - | Your API key (Pro required) |
| color_mode | String | color | "color" or "bw" |
| filter_speckle | Integer | 4 | 0-100, removes small artifacts |
| corner_threshold | Integer | 60 | 0-180, corner detection sensitivity |
| path_precision | Integer | 8 | 1-10, path coordinate precision (decimal places) |
| format | String | svg | svg, pdf, eps, dxf — pdf/eps/dxf require Pro |
| blur_radius | Float | 0 | 0-10, blur before tracing |