# How do I convert PNG to SVG with an API?

Source: https://svgproof.com/guides/vectorize-api · Checked 2026-10-19 · Published by SVGProof

> 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 image=@logo.png -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](https://svgproof.com/docs/api). 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](https://svgproof.com/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.

## Related

- https://svgproof.com/docs/api
- https://svgproof.com/ai-logo-to-svg
- https://svgproof.com/guides/why-image-refused
