Snabbstart
Tre steg och du konverterar bilder till SVG från din terminal, dina skript eller din app.
1 · Skapa ditt konto
Registrera dig på kundportalen med din e-post och ett lösenord (10+ tecken). Inget kreditkort krävs.
2 · Skapa en API-nyckel
I portalen skapar du en nyckel. Den visas en gång — förvara den säkert. Nycklar ser ut som ptp_live_… och kan återkallas när som helst.
3 · Anropa /v1/convert
Skicka din bild som multipart/form-data med din nyckel i Authorization-huvudet. SVG-filen kommer tillbaka i svarskroppen.
Din första konvertering
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
Interaktiv referens: pixel-to-path.com/v1/docs (OpenAPI/Swagger).
Autentisering
Varje begäran autentiseras med en Bearer-token i Authorization-huvudet:
Authorization: Bearer ptp_live_0123abc…
- Nycklar är hemligheter: de lagras hashade på serversidan och visas bara en gång vid skapandet. Tappat bort nyckeln? Återkalla den och skapa en ny.
- Ett konto, flera nycklar: skapa upp till 5 aktiva nycklar för att separera dina projekt. Din månatliga gratiskvot räknas per konto, inte per nyckel.
- Omedelbar återkallelse: en återkallad nyckel slutar fungera omedelbart, från portalen eller API-svaret för ett bannlyst konto.
POST /v1/convert
Uppladdning + konvertering i ett enda tillståndslöst anrop. Ett framgångsrikt anrop kostar högst 1 kredit — misslyckade, ogiltiga eller hastighetsbegränsade anrop kostar ingenting.
Begäran (multipart/form-data)
| Fält | Typ | Standard | Beskrivning |
|---|---|---|---|
file |
file | — | Bilden som ska konverteras. PNG, JPEG, BMP eller WebP · max 20 MB · max 50 Mpx · min 64×64 px. |
colormode |
string | color |
<code>color</code> använder VTracer-motorn, <code>binary</code> använder Potrace (svartvitt). |
mode |
string | spline |
Endast Color (VTracer) — ignoreras i binärt läge. spline | polygon | none |
hierarchical |
string | stacked |
Endast Color (VTracer) — ignoreras i binärt läge. stacked | cutout |
filter_speckle |
int | 4 |
Endast Color (VTracer) — ignoreras i binärt läge. 0–16 — ta bort små brusfläckar. |
color_precision |
int | 6 |
Endast Color (VTracer) — ignoreras i binärt läge. 1–8 — antal signifikanta bitar per färgkanal. |
layer_difference |
int | 16 |
Endast Color (VTracer) — ignoreras i binärt läge. 0–64 — avstånd mellan färglager. |
corner_threshold |
int | 60 |
0–180 — vinkel för hörndetektion (båda motorerna). |
length_threshold |
float | 4.0 |
3,5–10 — minsta segmentlängd (båda motorerna). |
splice_threshold |
int | 45 |
0–180 — vinkel för banfogning (båda motorerna). |
path_precision |
int | 3 |
0–8 — decimaler i bankoordinater. |
invert |
bool | false |
Endast Binary (Potrace) — ignoreras i färgläge. Spåra de ljusa områdena istället för de mörka. |
turdsize |
int | 2 |
Endast Binary (Potrace) — ignoreras i färgläge. 0–20 — undertryck fläckar upp till denna storlek. |
alphamax |
float | 1.0 |
Endast Binary (Potrace) — ignoreras i färgläge. 0–1,334 — tröskelvärde för hörnutjämning. |
opttolerance |
float | 0.2 |
Endast Binary (Potrace) — ignoreras i färgläge. 0–10 — tolerans för kurvoptimering. |
Två motorer, valda av "colormode"
API:et kör exakt samma motorer som den kostnadsfria onlinekonverteraren och skrivbordsappen:
binary — Potrace
Svartvit spårning av linjekonst, skanningar, skisser och logotyper. Den mörka delen av bilden (gråskala < 50 %) spåras på en vit bakgrund. Finjustera utdata med turdsize (brusreducering), alphamax (hörnutjämning) och opttolerance (banoptimering).
color — VTracer
Lagerindelad färgvektorisering för illustrationer, tecknat och foton. Kontrollera detaljnivån med filter_speckle, color_precision, layer_difference och kurvanpassningen med mode (spline, polygon, none).
Bilder förbehandlas exakt som på webbplatsen: den längsta sidan ändras till 1500 px före konvertering, och API:et returnerar den upptäckta bildtypen (line_art, logo, photo eller illustration) i huvudet X-Detected-Type.
Svar
Vid framgång: 200 OK med image/svg+xml — kroppen är själva SVG-filen. Informativa huvuden:
| Huvud | Beskrivning |
|---|---|
X-Credits-Remaining | Betalda krediter kvar på kontot, efter detta anrops debitering. |
X-Free-Remaining | Gratis konverteringar kvar denna månad. |
X-Detected-Type | Upptäckt bildtyp (info): line_art, logo, photo eller illustration. |
X-Processing-Time | Serverbearbetningstid i sekunder. |
GET /v1/me
Kontostatus för nyckeln som användes för att anropa den. Gratis — räknas aldrig mot din kvot, debiteras aldrig.
Exempelsvar
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 }
}
Fel
Varje fel returnerar ett konsekvent JSON-hölje. Misslyckade anrop förbrukar aldrig krediter.
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 | Kod | När |
|---|---|---|
| 401 | invalid_api_key | Saknad, felformaterad, okänd eller återkallad API-nyckel. |
| 402 | quota_exceeded | Månatlig gratiskvot förbrukad och inga krediter kvar. |
| 403 | account_banned | Kontot är avstängt — alla dess nycklar nekas. |
| 403 | ip_blocked | Anroparens IP-adress är svartlistad. |
| 413 | file_too_large | Filen är större än 20 MB. |
| 422 | invalid_image / image_too_small / invalid_params | Ogiltig bild, för liten bild eller ogiltigt parametervärde. |
| 429 | rate_limited | Hastighetsgränsen per nyckel överskreds (se nedan). Inkluderar ett Retry-After-huvud. |
| 500 | internal_error | Konverteringen misslyckades på serversidan — ingen kredit debiteras. |
Hastighetsgränser
Gränser gäller per API-nyckel, inte per IP, så ett delat kontor eller en CI-körare straffas aldrig för någon annans trafik.
| Gräns | Värde |
|---|---|
| Förfrågningar per minut, per nyckel | 60 |
| Förfrågningar per dag, per nyckel | 2 000 |
| Samtidiga konverteringar, per nyckel | 2 (extra anrop väntar, sedan 429) |
| Maximal filstorlek / upplösning | 20 MB / 50 Mpx |
Priser
Varje nytt konto får 10 gratis konverteringar varje månad, inget kreditkort krävs. Behöver du mer? Köp förbetalda bilder — vilken mängd som helst (i partier om 50), med volymrabatter. De går aldrig ut och staplas med din månatliga gratiskvot (gratis konverteringar förbrukas först).
Gratis
0 €/månad
- 10 konverteringar / månad
- Båda motorerna (Potrace + VTracer)
- Upp till 5 API-nycklar
Förbetalda bilder
0,050 €/ bild
| Bilder | 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 köpt bild = 1 konvertering (krediter går aldrig ut)
- Går aldrig ut, staplas med den kostnadsfria nivån
- Valfri mängd: 0,040 €/bild från 500, ner till 0,010 €/bild
Automatisk kreditering: ditt saldo uppdateras inom några sekunder efter betalningen via betalningens webhook. Återbetalningar drar av de köpta krediterna, maximerat till det aktuella saldot. Säker betalning med Lemon Squeezy (moms hanteras automatiskt).
Kodexempel
Kopiera, klistra in och anpassa. API:et talar vanlig multipart/form-data, så vilken HTTP-klient som helst fungerar.
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");
Vanliga frågor
Vad räknas som en konvertering?
Ett framgångsrikt POST /v1/convert-anrop som returnerar en SVG. Misslyckade anrop (ogiltig bild, fel parametrar, hastighetsbegränsad, serverfel) och GET /v1/me-anrop debiteras aldrig.
Hur räknas den månatliga gratiskvoten?
Per konto, enligt UTC-kalendermånaden — den återställs den 1:a kl. 00:00 UTC. Att skapa flera API-nycklar multiplicerar inte gratiskvoten: alla nycklar på ett konto delar på samma 10 gratis konverteringar.
Går krediter ut?
Nej. Köpta krediter ligger kvar på ditt konto tills du använder dem. De förbrukas först efter att dina 10 gratis månatliga konverteringar är slut.
Hur får jag fler konverteringar under en månad?
Köp förbetalda bilder från kundportalen — valfri mängd, i partier om 50. Du ser alltid exakt hur många bilder du får: 50 bilder 2,50 €, 500 bilder 20 €, 2 500 bilder 75 €, 10 000 bilder 200 €, 50 000 bilder 500 €. Krediter läggs automatiskt till på ditt konto inom några sekunder efter betalningen — ingen licensnyckel, inget att knappa in.
Vad händer om jag tappar bort min API-nyckel?
Nycklar lagras hashade, så de kan inte återställas. Återkalla den förlorade nyckeln i portalen och skapa en ny — det träder i kraft omedelbart.
Vilka bildformat stöds?
PNG, JPEG, BMP och WebP, upp till 20 MB och 50 megapixel, minst 64×64 pixlar. Bilder större än 1500 px på sin längsta sida ändras i storlek före konvertering, precis som på den kostnadsfria webbplatsen.
Välj din version
Samma kraftfulla motor - välj det format som passar ditt arbetsflöde.
Onlineverktyg
Gratis
Konvertera bilder direkt i din webbläsare. Ingen installation, inget konto.
Öppna verktygetSkrivbordsapp
Gratis & öppen källkod
Den fullständiga konverteraren på din maskin, för Windows & Linux.
Ladda ner gratisSkrivbordsapp Pro
39 € engångskostnad
Bevakad mapp, masskonvertering och CLI för tunga arbetsbelastningar.
Skaffa ProAPI
Gratis nivå + kreditpaket
Ett REST-anrop: skicka en bild, få en ren SVG. 10 gratis/månad.
Skaffa en API-nyckelJämför alla versioner & priser →
Har du redan ett konto? Logga in på kundportalen →
Redo att vektorisera i stor skala?
Skapa ditt konto, hämta en nyckel och gör ditt första anrop på under två minuter.
Skaffa din gratis API-nyckel