API

API PixelToPath

Vettorializza immagini programmaticamente con una singola chiamata REST. Carica un file PNG, JPG, BMP o WebP, e ottieni un SVG pulito e pronto per la produzione. I disegni in bianco e nero sono tracciati da Potrace, le immagini a colori da VTracer — gli stessi motori del convertitore online gratuito.

10 conversioni gratuite ogni mese · Nessuna carta di credito richiesta

10 conversioni gratuite / mese • 1 chiamata REST • Motori Potrace + VTracer • I crediti non scadono mai

Guida rapida

Tre passaggi e starai convertendo immagini in SVG dal tuo terminale, dai tuoi script o dalla tua app.

1 · Crea il tuo account

Registrati sul portale clienti con la tua email e una password (10+ caratteri). Nessuna carta di credito richiesta.

2 · Crea una chiave API

Nel portale, crea una chiave. Ti verrà mostrata una sola volta — conservala in un luogo sicuro. Le chiavi si presentano come ptp_live_… e possono essere revocate in qualsiasi momento.

3 · Chiama /v1/convert

Invia la tua immagine come multipart/form-data con la tua chiave nell'header Authorization. L'SVG viene restituito nel corpo della risposta.

La tua prima conversione

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

Riferimento interattivo: pixel-to-path.com/v1/docs (OpenAPI/Swagger).

Autenticazione

Ogni richiesta è autenticata con un token Bearer nell'header Authorization:

Authorization: Bearer ptp_live_0123abc…
  • Le chiavi sono segrete: vengono salvate tramite hash lato server e mostrate solo una volta al momento della creazione. Chiave smarrita? Revocala e creane una nuova.
  • Un account, più chiavi: crea fino a 5 chiavi attive per separare i tuoi progetti. La quota mensile gratuita viene conteggiata per account, non per chiave.
  • Revoca immediata: una chiave revocata smette di funzionare immediatamente, sia che venga revocata dal portale sia se l'account viene bannato.

POST /v1/convert

Caricamento e conversione in una singola chiamata senza stato (stateless). Una chiamata andata a buon fine costa al massimo 1 credito — le chiamate fallite, non valide o limitate dal rate limiting non costano nulla.

Richiesta (multipart/form-data)

Campo Tipo Predefinito Descrizione
file file L'immagine da convertire. PNG, JPEG, BMP o WebP · max 20 MB · max 50 Mpx · min 64×64 px.
colormode string color <code>color</code> usa il motore VTracer, <code>binary</code> usa Potrace (bianco e nero).
mode string spline Solo per Color (VTracer) — ignorato in modalità binary. spline | polygon | none
hierarchical string stacked Solo per Color (VTracer) — ignorato in modalità binary. stacked | cutout
filter_speckle int 4 Solo per Color (VTracer) — ignorato in modalità binary. 0–16 — rimuove piccole macchie di rumore.
color_precision int 6 Solo per Color (VTracer) — ignorato in modalità binary. 1–8 — numero di bit significativi per canale di colore.
layer_difference int 16 Solo per Color (VTracer) — ignorato in modalità binary. 0–64 — distanza tra i livelli di colore.
corner_threshold int 60 0–180 — angolo di rilevamento degli angoli (entrambi i motori).
length_threshold float 4.0 3.5–10 — lunghezza minima del segmento (entrambi i motori).
splice_threshold int 45 0–180 — angolo di giunzione dei percorsi (entrambi i motori).
path_precision int 3 0–8 — cifre decimali nelle coordinate del percorso.
invert bool false Solo per Binary (Potrace) — ignorato in modalità color. Traccia le aree chiare invece di quelle scure.
turdsize int 2 Solo per Binary (Potrace) — ignorato in modalità color. 0–20 — sopprime le imperfezioni fino a questa dimensione.
alphamax float 1.0 Solo per Binary (Potrace) — ignorato in modalità color. 0–1.334 — soglia di smussatura degli angoli.
opttolerance float 0.2 Solo per Binary (Potrace) — ignorato in modalità color. 0–10 — tolleranza per l'ottimizzazione delle curve.

Due motori, scelti tramite "colormode"

L'API esegue esattamente gli stessi motori del convertitore online gratuito e dell'app desktop:

binary — Potrace

Tracciamento in bianco e nero di disegni al tratto, scansioni, schizzi e loghi. La parte scura dell'immagine (scala di grigi < 50%) viene tracciata su sfondo bianco. Affina il risultato con turdsize (rimozione del rumore), alphamax (smussatura degli angoli) e opttolerance (ottimizzazione dei percorsi).

color — VTracer

Vettorializzazione a colori a livelli per illustrazioni, cartoni animati e foto. Controlla il livello di dettaglio con filter_speckle, color_precision, layer_difference e l'adattamento delle curve con mode (spline, polygon, none).

Le immagini vengono pre-elaborate esattamente come sul sito web: il lato più lungo viene ridimensionato a 1500 px prima della conversione, e l'API restituisce il tipo di immagine rilevato (line_art, logo, photo o illustration) nell'header X-Detected-Type.

Risposta

In caso di successo: 200 OK con image/svg+xml — il corpo della risposta è il file SVG stesso. Header informativi:

Header Descrizione
X-Credits-RemainingCrediti a pagamento rimasti sull'account, dopo l'addebito per questa chiamata.
X-Free-RemainingConversioni gratuite rimaste questo mese.
X-Detected-TypeTipo di immagine rilevata (info): line_art, logo, photo o illustration.
X-Processing-TimeTempo di elaborazione del server in secondi.

GET /v1/me

Stato dell'account per la chiave utilizzata per chiamare questo endpoint. Gratuito — non viene mai conteggiato nella tua quota gratuita, né addebitato.

Esempio di risposta

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

Errori

Ogni errore restituisce un wrapper JSON coerente. Le chiamate fallite non consumano mai crediti.

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 Codice Quando
401invalid_api_keyChiave API mancante, malformata, sconosciuta o revocata.
402quota_exceededQuota gratuita mensile esaurita e nessun credito rimasto.
403account_bannedL'account è bannato — tutte le sue chiavi vengono rifiutate.
403ip_blockedL'IP del chiamante è nella lista nera (blocklist).
413file_too_largeFile più grande di 20 MB.
422invalid_image / image_too_small / invalid_paramsImmagine non valida, immagine troppo piccola o valore del parametro non valido.
429rate_limitedLimite di frequenza (rate limit) per chiave superato (vedi sotto). Include un header Retry-After.
500internal_errorConversione fallita lato server — nessun credito viene addebitato.

Limiti di frequenza (Rate limits)

I limiti si applicano per chiave API, non per IP, in modo che un ufficio condiviso o un runner CI non venga mai penalizzato per il traffico di qualcun altro.

Limite Valore
Richieste al minuto, per chiave60
Richieste al giorno, per chiave2 000
Conversioni simultanee, per chiave2 (le chiamate in eccesso attendono, poi 429)
Dimensione / risoluzione massima del file20 MB / 50 Mpx

Prezzi

Ogni nuovo account riceve 10 conversioni gratuite ogni mese, senza necessità di carta di credito. Hai bisogno di più? Acquista immagini prepagate — in qualsiasi quantità (in lotti di 50), con sconti per volume. Non scadono mai e si sommano alla tua quota mensile gratuita (le conversioni gratuite vengono consumate per prime).

Gratuito

€0/mese

  • 10 conversioni / mese
  • Entrambi i motori (Potrace + VTracer)
  • Fino a 5 chiavi API
Crea un account

Immagini prepagate

€0.050/ immagine

Prezzi basati sul volume — più immagini compri, più economica diventa ciascuna
Immagini50–450500–2 4502 500–9 95010 000–49 95050 000+
€/image0.0500.0400.0300.0200.010
  • 1 immagine acquistata = 1 conversione (i crediti non scadono mai)
  • Non scade mai, si somma al piano gratuito
  • Qualsiasi quantità: €0.040/immagine da 500, fino a €0.010/immagine
Acquista immagini

Accredito automatico: il tuo saldo viene aggiornato entro pochi secondi dal pagamento, tramite il webhook di pagamento. I rimborsi sottraggono i crediti acquistati, fino al limite del saldo corrente. Pagamento sicuro tramite Lemon Squeezy (IVA gestita automaticamente).

Esempi di codice

Copia, incolla e adatta. L'API usa un semplice multipart/form-data, quindi funziona con qualsiasi client 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");

Domande frequenti

Cosa conta come una conversione?

Una chiamata POST /v1/convert andata a buon fine che restituisce un SVG. Le chiamate fallite (immagine non valida, parametri errati, rate limit raggiunto, errore del server) e le chiamate GET /v1/me non vengono mai addebitate.

Come viene conteggiata la quota gratuita mensile?

Per account, in base al mese solare UTC — si azzera il 1° di ogni mese alle 00:00 UTC. Creare diverse chiavi API non moltiplica la quota gratuita: tutte le chiavi di un account condividono le stesse 10 conversioni gratuite.

I crediti scadono?

No. I crediti acquistati rimangono sul tuo account finché non li usi. Vengono consumati solo dopo che le tue 10 conversioni gratuite mensili sono esaurite.

Come posso ottenere più conversioni in un mese?

Acquista immagini prepagate dal portale clienti — in qualsiasi quantità, in lotti di 50. Vedi sempre esattamente quante immagini ottieni: 50 immagini €2.50, 500 immagini €20, 2.500 €75, 10.000 €200, 50.000 €500. I crediti vengono aggiunti al tuo account automaticamente entro pochi secondi dal pagamento — nessuna chiave di licenza, niente da inserire.

Cosa succede se perdo la mia chiave API?

Le chiavi vengono salvate tramite hash, quindi non possono essere recuperate. Revoca la chiave smarrita nel portale e creane una nuova — ha effetto immediato.

Quali formati di immagine sono supportati?

PNG, JPEG, BMP e WebP, fino a 20 MB e 50 megapixel, con almeno 64×64 pixel. Le immagini più grandi di 1500 px sul loro lato più lungo vengono ridimensionate prima della conversione, esattamente come sul sito web gratuito.

Scegli la tua Versione

Stesso potente motore - scegli il formato adatto al tuo flusso di lavoro.

🌐

Strumento Online

Gratis

Converti le immagini direttamente nel tuo browser. Nessuna installazione, nessun account.

Apri lo strumento
💻

App Desktop

Gratuito e open source

Il convertitore completo sulla tua macchina, per Windows e Linux.

Scarica gratis
⌨️

App Desktop Pro

39€ una tantum

Hot folder, conversione batch e CLI per carichi di lavoro intensi.

Ottieni Pro
🔌

API

Piano gratuito + pacchetti crediti

Una chiamata REST: invia un'immagine, ottieni un SVG pulito. 10 gratuiti/mese.

Ottieni una chiave API

Pronto per vettorializzare su larga scala?

Crea il tuo account, ottieni una chiave ed esegui la tua prima chiamata in meno di due minuti.

Ottieni la tua chiave API gratuita