API

API PixelToPath

Wektoryzuj obrazy z poziomu kodu za pomocą jednego wywołania REST. Prześlij plik PNG, JPG, BMP lub WebP, a otrzymasz gotowy do użycia, czysty plik SVG. Czarno-biała grafika jest wektoryzowana przez Potrace, a kolorowe obrazy przez VTracer — dokładnie te same silniki, co w darmowym konwerterze online.

10 darmowych konwersji każdego miesiąca · Nie wymagamy karty kredytowej

10 darmowych konwersji / miesiąc • 1 wywołanie REST • Silniki Potrace + VTracer • Kredyty nigdy nie wygasają

Szybki start

Tylko trzy kroki dzielą Cię od konwersji obrazów na SVG z Twojego terminala, skryptu lub aplikacji.

1 · Załóż konto

Zarejestruj się w portalu klienta podając e-mail i hasło (min. 10 znaków). Nie wymagamy podpinania karty kredytowej.

2 · Utwórz klucz API

W portalu utwórz klucz. Będzie on wyświetlony tylko raz — zachowaj go w bezpiecznym miejscu. Klucze zaczynają się od ptp_live_… i mogą zostać w każdej chwili unieważnione.

3 · Wywołaj /v1/convert

Wyślij swój obraz jako multipart/form-data, podając swój klucz w nagłówku Authorization. Plik SVG zostanie zwrócony w treści odpowiedzi.

Twoja pierwsza konwersja

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

Interaktywna dokumentacja: pixel-to-path.com/v1/docs (OpenAPI/Swagger).

Uwierzytelnianie

Każde żądanie jest uwierzytelniane za pomocą tokena Bearer w nagłówku Authorization:

Authorization: Bearer ptp_live_0123abc…
  • Klucze są tajne: są przechowywane na serwerze w formie zaszyfrowanej i wyświetlane tylko raz przy tworzeniu. Zgubiłeś klucz? Unieważnij go i stwórz nowy.
  • Jedno konto, kilka kluczy: utwórz do 5 aktywnych kluczy, aby oddzielić różne projekty. Twój miesięczny darmowy limit jest liczony na całe konto, a nie na pojedynczy klucz.
  • Natychmiastowe unieważnienie: unieważniony klucz natychmiast przestaje działać, zarówno z poziomu portalu, jak i w odpowiedziach API dla zbanowanego konta.

POST /v1/convert

Przesłanie pliku i konwersja podczas jednego bezstanowego wywołania. Jedno udane wywołanie kosztuje najwyżej 1 kredyt — nieudane, nieprawidłowe lub zablokowane z powodu limitu wywołania są darmowe.

Żądanie (multipart/form-data)

Pole Typ Domyślnie Opis
file file Obraz do konwersji. PNG, JPEG, BMP lub WebP · max 20 MB · max 50 Mpx · min 64×64 px.
colormode string color <code>color</code> korzysta z silnika VTracer, <code>binary</code> z Potrace (czarno-białe).
mode string spline Tylko dla trybu koloru (VTracer) — ignorowane w trybie binarnym. spline | polygon | none
hierarchical string stacked Tylko dla trybu koloru (VTracer) — ignorowane w trybie binarnym. stacked | cutout
filter_speckle int 4 Tylko dla trybu koloru (VTracer) — ignorowane w trybie binarnym. 0–16 — usuwa małe plamy szumu.
color_precision int 6 Tylko dla trybu koloru (VTracer) — ignorowane w trybie binarnym. 1–8 — liczba istotnych bitów na kanał koloru.
layer_difference int 16 Tylko dla trybu koloru (VTracer) — ignorowane w trybie binarnym. 0–64 — odległość między warstwami kolorów.
corner_threshold int 60 0–180 — kąt wykrywania narożników (oba silniki).
length_threshold float 4.0 3.5–10 — minimalna długość segmentu (oba silniki).
splice_threshold int 45 0–180 — kąt dzielenia ścieżek (oba silniki).
path_precision int 3 0–8 — miejsca dziesiętne we współrzędnych ścieżki.
invert bool false Tylko dla trybu binarnego (Potrace) — ignorowane w trybie koloru. Wektoryzacja jasnych obszarów zamiast ciemnych.
turdsize int 2 Tylko dla trybu binarnego (Potrace) — ignorowane w trybie koloru. 0–20 — tłumi plamy do tej wielkości.
alphamax float 1.0 Tylko dla trybu binarnego (Potrace) — ignorowane w trybie koloru. 0–1.334 — próg wygładzania narożników.
opttolerance float 0.2 Tylko dla trybu binarnego (Potrace) — ignorowane w trybie koloru. 0–10 — tolerancja optymalizacji krzywych.

Dwa silniki, wybierane przez "colormode"

API używa dokładnie tych samych silników, co darmowy konwerter online i aplikacja desktopowa:

binary (binarny) — Potrace

Czarno-biała wektoryzacja rysunków zarysowych, skanów, szkiców i logo. Ciemna część obrazu (odcienie szarości < 50%) jest wektoryzowana na białym tle. Precyzyjnie dostosuj efekt końcowy za pomocą turdsize (usuwanie szumów), alphamax (wygładzanie narożników) oraz opttolerance (optymalizacja ścieżek).

color (kolor) — VTracer

Warstwowa, kolorowa wektoryzacja dla ilustracji, kreskówek i zdjęć. Kontroluj poziom szczegółowości za pomocą filter_speckle, color_precision, layer_difference oraz dopasowania krzywych za pomocą mode (spline, polygon, none).

Obrazy są wstępnie przetwarzane dokładnie tak, jak na stronie internetowej: najdłuższy bok jest zmniejszany do 1500 pikseli przed konwersją, a API zwraca wykryty typ obrazu (line_art, logo, photo lub illustration) w nagłówku X-Detected-Type.

Odpowiedź

W przypadku sukcesu: 200 OK z image/svg+xml — sama odpowiedź zawiera plik SVG. Informacyjne nagłówki:

Nagłówek Opis
X-Credits-RemainingPozostałe płatne kredyty na koncie, po odliczeniu kosztu za obecne wywołanie.
X-Free-RemainingDarmowe konwersje pozostałe w tym miesiącu.
X-Detected-TypeWykryty typ obrazu (informacyjnie): line_art, logo, photo lub illustration.
X-Processing-TimeCzas przetwarzania serwera w sekundach.

GET /v1/me

Status konta dla klucza, który wykonał wywołanie. Bezpłatne — nigdy nie jest odejmowane z puli kredytów ani limitów.

Przykładowa odpowiedź

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 }
}

Błędy

Każdy błąd zwraca spójną strukturę JSON. Nieudane wywołania nigdy nie pobierają kredytów.

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 Kiedy występuje
401invalid_api_keyBrakujący, nieprawidłowy, nieznany lub unieważniony klucz API.
402quota_exceededDarmowy limit miesięczny został wyczerpany i brak pozostałych kredytów.
403account_bannedKonto zostało zbanowane — wszystkie jego klucze są odrzucane.
403ip_blockedAdres IP jest na czarnej liście.
413file_too_largePlik większy niż 20 MB.
422invalid_image / image_too_small / invalid_paramsNieprawidłowy plik, obraz jest za mały lub podano złą wartość parametru.
429rate_limitedPrzekroczono limit wywołań dla klucza (patrz niżej). Zawiera nagłówek Retry-After.
500internal_errorKonwersja nie powiodła się po stronie serwera — kredyt nie został pobrany.

Limity wywołań

Limity są stosowane na poziomie klucza API, nie na adres IP. Dzięki temu współdzielone biuro czy narzędzia CI nigdy nie są blokowane przez ruch innej osoby.

Limit Wartość
Żądania na minutę, dla danego klucza60
Żądania na dzień, dla danego klucza2 000
Równoczesne konwersje, dla danego klucza2 (kolejne żądania oczekują, następnie 429)
Maks. rozmiar pliku / rozdzielczość20 MB / 50 Mpx

Cennik

Każde nowe konto otrzymuje 10 darmowych konwersji każdego miesiąca, nie wymagamy podania karty kredytowej. Potrzebujesz więcej? Kup pakiety przedpłacone na obrazy — dowolną ilość (w pakietach po 50), ze zniżkami ilościowymi. Nigdy nie wygasają i łączą się z miesięcznym, darmowym limitem (darmowe konwersje są zużywane jako pierwsze).

Za darmo

0 €/ miesiąc

  • 10 konwersji / miesiąc
  • Oba silniki (Potrace + VTracer)
  • Do 5 kluczy API
Załóż konto

Przedpłacone obrazy

0,050 €/ obraz

Ceny hurtowe — im więcej obrazów kupisz, tym tańszy będzie pojedynczy
Obrazy50–450500–2 4502 500–9 95010 000–49 95050 000+
€/image0.0500.0400.0300.0200.010
  • 1 zakupiony obraz = 1 konwersja (kredyty nie wygasają)
  • Nigdy nie wygasają, sumują się z darmowym pakietem
  • Dowolna ilość: 0,040 €/obraz od 500 szt., nawet do 0,010 €/obraz
Kup obrazy

Automatyczne doładowanie: Twoje saldo zostanie zaktualizowane w ciągu kilku sekund po dokonaniu płatności, za pomocą webhooka. Zwroty pieniędzy odliczają kupione kredyty, maksymalnie do aktualnego salda konta. Bezpieczne płatności obsługuje Lemon Squeezy (podatek VAT obliczany automatycznie).

Przykłady kodu

Skopiuj, wklej i dopasuj. API korzysta z formatu multipart/form-data, więc można go używać z dowolnym klientem HTTP.

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");

Często zadawane pytania

Co liczy się jako jedna konwersja?

Jedno udane żądanie POST /v1/convert, które zwróci plik SVG. Nieudane wywołania (zły plik, błędne parametry, limit zapytań, błąd serwera) oraz wywołania GET /v1/me nigdy nie pobierają kredytu.

Jak liczony jest miesięczny darmowy pakiet?

Dla całego konta, według kalendarza UTC — limit odnawia się pierwszego dnia miesiąca o północy (00:00 UTC). Tworzenie kilku kluczy API nie powiększa darmowej puli: wszystkie klucze z danego konta dzielą te same 10 darmowych konwersji.

Czy kredyty tracą ważność?

Nie. Zakupione kredyty zostają na koncie tak długo, aż z nich nie skorzystasz. Będą zużywane dopiero wtedy, gdy wykorzystasz pakiet 10 darmowych konwersji na dany miesiąc.

Jak uzyskać więcej konwersji w miesiącu?

Kup przedpłacone obrazy w portalu dla klientów — dowolną liczbę, w paczkach po 50. Zawsze dokładnie widzisz, ile obrazów otrzymujesz: 50 obrazów za 2,50 €, 500 obrazów za 20 €, 2 500 za 75 €, 10 000 za 200 €, 50 000 za 500 €. Kredyty są dodawane do konta automatycznie w ciągu kilku sekund od dokonania płatności — bez kluczy licencyjnych, niczego nie trzeba wpisywać ręcznie.

Co się stanie, jeśli zgubię klucz API?

Klucze są zaszyfrowane na serwerze, więc nie można ich odzyskać. Unieważnij utracony klucz w portalu i utwórz nowy — zmiana zostaje wdrożona natychmiast.

Jakie formaty obrazów są obsługiwane?

PNG, JPEG, BMP i WebP, o rozmiarze do 20 MB i do 50 megapikseli, a także co najmniej 64×64 pikseli. Obrazy o wymiarach większych niż 1500 px (najdłuższy bok) są zmniejszane przed konwersją, dokładnie tak samo jak na bezpłatnej stronie internetowej.

Wybierz swoją wersję

Ten sam potężny silnik - wybierz format pasujący do Twojego przepływu pracy.

🌐

Narzędzie Online

Za darmo

Konwertuj obrazy bezpośrednio w przeglądarce. Bez instalacji, bez konta.

Otwórz narzędzie
💻

Aplikacja Desktopowa

Darmowe & open source

Pełny konwerter na Twoim komputerze, dla systemów Windows i Linux.

Pobierz za darmo
⌨️

Aplikacja desktopowa Pro

39 € jednorazowo

Hot folder, masowa konwersja i CLI do wymagającej pracy.

Zdobądź wersję Pro
🔌

API

Darmowy pakiet + paczki kredytów

Jedno wywołanie REST: wyślij obraz, uzyskaj czysty SVG. 10 darmowych/mies.

Zdobądź klucz API

Gotowy na wektoryzację w dużej skali?

Załóż konto, weź klucz i stwórz pierwsze żądanie w zaledwie dwie minuty.

Odbierz darmowy klucz API