How do I convert PNG to SVG with an API?
Send the image in a POST to https://api.svgproof.com/v1/vectorize with your API key; the response body is the SVG, with node and color counts in the headers. No polling, no SDK. Batches of up to 100 images return a zip. Test keys return free 512 px PNG previews (10 per account); live calls cost one credit per image.
What does a request look like?
curl: curl https://api.svgproof.com/v1/vectorize -H "Authorization: Bearer $SVGPROOF_KEY" -F [email protected] -o logo.svg
Python: requests.post('https://api.svgproof.com/v1/vectorize', headers={'Authorization': f'Bearer {key}'}, files={'image': open('logo.png', 'rb')}).text
Node: fetch with method: "POST", the same Authorization header and a FormData body holding image; await res.text() is the SVG.
Full parameters, errors and examples: API documentation. Machine-readable contract: https://api.svgproof.com/v1/openapi.json.
Which options matter for logos?
| Parameter | Effect |
|---|---|
background=remove | Transparent background, or pass a hex color |
palette=141155,03517b | Snap every color to your brand colors |
max_colors=4 | Limit the palette, e.g. for screen printing |
format=png&scale=4 | A raster at any size from the same vector |
What does it cost?
Plans from $29 / month for 1,500 images ($0.019 each) to $299 / month for 30,000 ($0.01). Refused images and timeouts are refunded automatically. Details on pricing.
When is SVGProof the wrong tool?
- Photo-to-vector or centerline (single-stroke) tracing for engraving: not supported, by design.
Questions
Is there a free tier?
Yes: 10 free test previews per account (a 512 px PNG), unlimited while you have any subscription.
How fast is it?
Logos typically trace in tens to a few hundred milliseconds on our server; each response carries the measured time in the Vz-Ms header.
Checked against the product on 2026-10-19. Numbers are measured by the engine, prices come from the checkout. This page as Markdown · Facts with sources