Snel aan de slag
Drie stappen en je converteert afbeeldingen naar SVG vanuit je terminal, je scripts of je app.
1 · Maak je account aan
Registreer je in het klantenportaal met je e-mailadres en een wachtwoord (10+ tekens). Geen creditcard vereist.
2 · Maak een API-sleutel aan
Maak in het portaal een sleutel aan. Deze wordt één keer getoond — bewaar hem veilig. Sleutels zien eruit als ptp_live_… en kunnen op elk moment worden ingetrokken.
3 · Roep /v1/convert aan
Stuur je afbeelding als multipart/form-data met je sleutel in de Authorization-header. De SVG komt terug in de response body.
Je eerste conversie
curl -sS -f -X POST https://api.pixel-to-path.com/v1/convert \
-H "Authorization: Bearer ptp_live_YOUR_KEY" \
-F "[email protected]" \
-F "colormode=binary" \
-o logo.svg
Interactieve referentie: pixel-to-path.com/v1/docs (OpenAPI/Swagger).
Authenticatie
Elk verzoek wordt geauthenticeerd met een Bearer-token in de Authorization header:
Authorization: Bearer ptp_live_0123abc…
- Sleutels zijn geheimen: ze worden gehasht opgeslagen op de server en slechts één keer getoond bij creatie. Sleutel kwijt? Trek hem in en maak een nieuwe aan.
- Eén account, meerdere sleutels: maak tot 5 actieve sleutels aan om je projecten te scheiden. Je maandelijkse gratis quotum wordt per account geteld, niet per sleutel.
- Directe intrekking: een ingetrokken sleutel stopt onmiddellijk met werken, vanuit het portaal of de API-respons van een verbannen account.
POST /v1/convert
Uploaden + conversie in een enkele stateless call. Eén succesvolle call kost maximaal 1 credit — mislukte, ongeldige of snelheidsbeperkte (rate-limited) calls kosten niets.
Verzoek (multipart/form-data)
| Veld | Type | Standaard | Beschrijving |
|---|---|---|---|
file |
file | — | De te converteren afbeelding. PNG, JPEG, BMP of WebP · max 20 MB · max 50 Mpx · min 64×64 px. |
colormode |
string | color |
<code>color</code> gebruikt de VTracer-engine, <code>binary</code> gebruikt Potrace (zwart-wit). |
mode |
string | spline |
Alleen Color (VTracer) — genegeerd in binaire modus. spline | polygon | none |
hierarchical |
string | stacked |
Alleen Color (VTracer) — genegeerd in binaire modus. stacked | cutout |
filter_speckle |
int | 4 |
Alleen Color (VTracer) — genegeerd in binaire modus. 0–16 — verwijdert kleine ruisvlekken. |
color_precision |
int | 6 |
Alleen Color (VTracer) — genegeerd in binaire modus. 1–8 — aantal significante bits per kleurkanaal. |
layer_difference |
int | 16 |
Alleen Color (VTracer) — genegeerd in binaire modus. 0–64 — afstand tussen kleurlagen. |
corner_threshold |
int | 60 |
0–180 — hoek voor hoekdetectie (beide engines). |
length_threshold |
float | 4.0 |
3.5–10 — minimale segmentlengte (beide engines). |
splice_threshold |
int | 45 |
0–180 — hoek voor padsplitsing (beide engines). |
path_precision |
int | 3 |
0–8 — decimalen in padcoördinaten. |
invert |
bool | false |
Alleen Binary (Potrace) — genegeerd in kleurmodus. Trek de lichte gebieden over in plaats van de donkere. |
turdsize |
int | 2 |
Alleen Binary (Potrace) — genegeerd in kleurmodus. 0–20 — onderdrukt vlekken tot deze grootte. |
alphamax |
float | 1.0 |
Alleen Binary (Potrace) — genegeerd in kleurmodus. 0–1.334 — drempel voor hoekafvlakking. |
opttolerance |
float | 0.2 |
Alleen Binary (Potrace) — genegeerd in kleurmodus. 0–10 — tolerantie voor krommingsoptimalisatie. |
Twee engines, gekozen door "colormode"
De API draait precies dezelfde engines als de gratis online converter en de desktop-app:
binary — Potrace
Zwart-wit overtrekken van lijntekeningen, scans, schetsen en logo's. Het donkere deel van de afbeelding (grijswaarden < 50%) wordt overgetrokken op een witte achtergrond. Verfijn de uitvoer met turdsize (ruisverwijdering), alphamax (hoekafronding) en opttolerance (padoptimalisatie).
color — VTracer
Gelaagde kleurenvectorisatie voor illustraties, cartoons en foto's. Bepaal het detailniveau met filter_speckle, color_precision, layer_difference en de curve-aanpassing met mode (spline, polygon, none).
Afbeeldingen worden precies zo voorbewerkt als op de website: de langste zijde wordt voor de conversie verkleind naar 1500 px, en de API retourneert het gedetecteerde afbeeldingstype (line_art, logo, photo of illustration) in de X-Detected-Type header.
Respons
Bij succes: 200 OK met image/svg+xml — de body is het SVG-bestand zelf. Informatieve headers:
| Header | Beschrijving |
|---|---|
X-Credits-Remaining | Betaalde credits die over zijn op het account, na afschrijving voor deze call. |
X-Free-Remaining | Gratis conversies die deze maand over zijn. |
X-Detected-Type | Gedetecteerd afbeeldingstype (info): line_art, logo, photo of illustration. |
X-Processing-Time | Verwerkingstijd van de server in seconden. |
GET /v1/me
Accountstatus voor de sleutel die gebruikt is om het aan te roepen. Gratis — wordt nooit meegeteld voor je quotum, wordt nooit in rekening gebracht.
Voorbeeldrespons
GET /v1/me
Authorization: Bearer ptp_live_…
{
"key": { "name": "prod", "prefix": "ptp_live_0123abc", … },
"usage": {
"month": "2026-09", "free_used": 7, "free_limit": 10,
"free_remaining": 3, "resets_at": "2026-10-01T00:00:00+00:00"
},
"credits": { "balance": 120 }
}
Fouten
Elke fout retourneert een consistente JSON-envelop. Mislukte calls verbruiken nooit credits.
HTTP/1.1 402 Payment Required
{
"error": {
"code": "quota_exceeded",
"message": "Monthly free quota used and no credits left.",
"usage": { "free_used": 10, "free_limit": 10, "credits": 0 }
}
}
| HTTP | Code | Wanneer |
|---|---|---|
| 401 | invalid_api_key | Ontbrekende, onjuiste, onbekende of ingetrokken API-sleutel. |
| 402 | quota_exceeded | Maandelijks gratis quotum verbruikt en geen credits meer over. |
| 403 | account_banned | Het account is verbannen — al zijn sleutels worden geweigerd. |
| 403 | ip_blocked | Het IP-adres van de aanroeper staat op een blokkeerlijst (blocklist). |
| 413 | file_too_large | Bestand groter dan 20 MB. |
| 422 | invalid_image / image_too_small / invalid_params | Ongeldige afbeelding, afbeelding te klein of ongeldige parameterwaarde. |
| 429 | rate_limited | Snelheidslimiet per sleutel overschreden (zie hieronder). Bevat een Retry-After header. |
| 500 | internal_error | Conversie mislukt aan de serverkant — er wordt geen credit in rekening gebracht. |
Snelheidslimieten
Limieten gelden per API-sleutel, niet per IP, dus een gedeeld kantoor of CI-runner wordt nooit benadeeld door het verkeer van iemand anders.
| Limiet | Waarde |
|---|---|
| Verzoeken per minuut, per sleutel | 60 |
| Verzoeken per dag, per sleutel | 2 000 |
| Gelijktijdige conversies, per sleutel | 2 (extra calls wachten, daarna 429) |
| Max bestandsgrootte / resolutie | 20 MB / 50 Mpx |
Prijzen
Elk nieuw account krijgt 10 gratis conversies elke maand, geen creditcard vereist. Heb je meer nodig? Koop prepaid afbeeldingen — elke hoeveelheid (in bundels van 50), met volumekortingen. Ze vervallen nooit en stapelen op met je maandelijkse gratis quotum (gratis conversies worden eerst verbruikt).
Gratis
€ 0/maand
- 10 conversies / maand
- Beide engines (Potrace + VTracer)
- Tot 5 API-sleutels
Prepaid afbeeldingen
€ 0,050/ afbeelding
| Afbeeldingen | 50–450 | 500–2 450 | 2 500–9 950 | 10 000–49 950 | 50 000+ |
|---|---|---|---|---|---|
| €/image | 0.050 | 0.040 | 0.030 | 0.020 | 0.010 |
- 1 gekochte afbeelding = 1 conversie (credits vervallen nooit)
- Vervalt nooit, stapelt op met het gratis niveau
- Elke hoeveelheid: € 0,040/afbeelding vanaf 500, tot € 0,010/afbeelding
Automatisch tegoed: je saldo wordt binnen enkele seconden na de betaling bijgewerkt, via de betalingswebhook. Terugbetalingen verminderen de gekochte credits, gemaximeerd op het huidige saldo. Veilig afrekenen via Lemon Squeezy (btw wordt automatisch verwerkt).
Codevoorbeelden
Kopieer, plak en pas aan. De API spreekt plain multipart/form-data, dus elke HTTP-client werkt.
cURL
curl -sS -f -X POST https://api.pixel-to-path.com/v1/convert \
-H "Authorization: Bearer ptp_live_YOUR_KEY" \
-F "[email protected]" \
-F "colormode=color" \
-F "filter_speckle=4" \
-o photo.svg
Python
import requests
resp = requests.post(
"https://api.pixel-to-path.com/v1/convert",
headers={"Authorization": "Bearer ptp_live_YOUR_KEY"},
files={"file": open("photo.jpg", "rb")},
data={"colormode": "color", "filter_speckle": 4},
)
resp.raise_for_status()
print(resp.headers["X-Credits-Remaining"], "credits left")
with open("photo.svg", "wb") as f:
f.write(resp.content)
JavaScript
const form = new FormData();
form.append("file", new Blob([imageBytes]), "photo.jpg");
form.append("colormode", "color");
const resp = await fetch("https://api.pixel-to-path.com/v1/convert", {
method: "POST",
headers: { "Authorization": "Bearer ptp_live_YOUR_KEY" },
body: form,
});
if (!resp.ok) {
const { error } = await resp.json();
throw new Error(`${error.code}: ${error.message}`);
}
const svg = await resp.text();
console.log(resp.headers.get("X-Credits-Remaining"), "credits left");
Veelgestelde vragen
Wat telt als één conversie?
Eén succesvolle POST /v1/convert call die een SVG retourneert. Mislukte calls (ongeldige afbeelding, verkeerde parameters, snelheidslimiet, serverfout) en GET /v1/me calls worden nooit in rekening gebracht.
Hoe wordt het maandelijkse gratis quotum berekend?
Per account, op basis van de UTC-kalendermaand — het wordt gereset op de 1e van de maand om 00:00 UTC. Het aanmaken van meerdere API-sleutels vermenigvuldigt het gratis quotum niet: alle sleutels van een account delen dezelfde 10 gratis conversies.
Vervallen credits?
Nee. Gekochte credits blijven op je account staan totdat je ze gebruikt. Ze worden pas verbruikt nadat je 10 gratis maandelijkse conversies zijn opgebruikt.
Hoe krijg ik meer conversies in een maand?
Koop prepaid afbeeldingen via het klantenportaal — elke hoeveelheid, in bundels van 50. Je ziet altijd precies hoeveel afbeeldingen je krijgt: 50 afbeeldingen voor € 2,50, 500 afbeeldingen voor € 20, 2.500 voor € 75, 10.000 voor € 200, 50.000 voor € 500. Credits worden binnen enkele seconden na betaling automatisch aan je account toegevoegd — geen licentiesleutel, niets in te voeren.
Wat gebeurt er als ik mijn API-sleutel kwijtraak?
Sleutels worden gehasht opgeslagen, waardoor ze niet hersteld kunnen worden. Trek de verloren sleutel in via het portaal en maak een nieuwe aan — dit is direct van kracht.
Welke afbeeldingsformaten worden ondersteund?
PNG, JPEG, BMP en WebP, tot 20 MB en 50 megapixels, minimaal 64×64 pixels. Afbeeldingen groter dan 1500 px aan de langste zijde worden voor de conversie verkleind, precies zoals op de gratis website.
Kies Uw Versie
Dezelfde krachtige engine - kies het formaat dat bij uw workflow past.
Online Tool
Gratis
Converteer afbeeldingen direct in je browser. Geen installatie, geen account.
Open de toolDesktop App
Gratis & open source
De volledige converter op je computer, voor Windows & Linux.
Gratis downloadenDesktopapp Pro
€ 39 eenmalig
Hot folder, batchconversie en CLI voor zware workloads.
Koop ProAPI
Gratis niveau + creditpakketten
Één REST-call: stuur een afbeelding, krijg een strakke SVG. 10 gratis/maand.
Haal een API-sleutel opVergelijk alle versies & prijzen →
Heb je al een account? Inloggen op het klantenportaal →
Klaar om op schaal te vectoriseren?
Maak je account aan, haal een sleutel op en voer je eerste call uit in minder dan twee minuten.
Haal je gratis API-sleutel op