API

PixelToPath API

Vectoriseer afbeeldingen programmatisch met één REST-call. Upload een PNG-, JPG-, BMP- of WebP-bestand, en je krijgt een strakke, productieklare SVG terug. Zwart-wit lijntekeningen worden overgetrokken door Potrace, kleurenafbeeldingen door VTracer — dezelfde engines als de gratis online converter.

10 gratis conversies elke maand · Geen creditcard vereist

10 gratis conversies / maand • 1 REST-call • Potrace + VTracer engines • Credits vervallen nooit

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-RemainingBetaalde credits die over zijn op het account, na afschrijving voor deze call.
X-Free-RemainingGratis conversies die deze maand over zijn.
X-Detected-TypeGedetecteerd afbeeldingstype (info): line_art, logo, photo of illustration.
X-Processing-TimeVerwerkingstijd 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
401invalid_api_keyOntbrekende, onjuiste, onbekende of ingetrokken API-sleutel.
402quota_exceededMaandelijks gratis quotum verbruikt en geen credits meer over.
403account_bannedHet account is verbannen — al zijn sleutels worden geweigerd.
403ip_blockedHet IP-adres van de aanroeper staat op een blokkeerlijst (blocklist).
413file_too_largeBestand groter dan 20 MB.
422invalid_image / image_too_small / invalid_paramsOngeldige afbeelding, afbeelding te klein of ongeldige parameterwaarde.
429rate_limitedSnelheidslimiet per sleutel overschreden (zie hieronder). Bevat een Retry-After header.
500internal_errorConversie 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 sleutel60
Verzoeken per dag, per sleutel2 000
Gelijktijdige conversies, per sleutel2 (extra calls wachten, daarna 429)
Max bestandsgrootte / resolutie20 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
Maak een account aan

Prepaid afbeeldingen

€ 0,050/ afbeelding

Volumeprijzen — hoe meer afbeeldingen je koopt, hoe goedkoper ze per stuk worden
Afbeeldingen50–450500–2 4502 500–9 95010 000–49 95050 000+
€/image0.0500.0400.0300.0200.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
Koop afbeeldingen

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 tool
💻

Desktop App

Gratis & open source

De volledige converter op je computer, voor Windows & Linux.

Gratis downloaden
⌨️

Desktopapp Pro

€ 39 eenmalig

Hot folder, batchconversie en CLI voor zware workloads.

Koop Pro
🔌

API

Gratis niveau + creditpakketten

Één REST-call: stuur een afbeelding, krijg een strakke SVG. 10 gratis/maand.

Haal een API-sleutel op

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