API-dokumentasjon
Integrer Vectorgram i applikasjonen din. Ett endepunkt å sende inn med, ett å polle, ett å laste ned med — jobber er asynkrone av design. Basis-URL https://api.vectorgram.ai, autentiseringen er Authorization: Bearer <api_key>. Nøkler ser ut som vectorgram_sk_live_… — prefikset er med vilje skrevet ut, slik at en nøkkel som dukker opp i et gammelt .env kan identifiseres uten å bli prøvd.
En ny konto får 25 API-konverteringer gratis i 30 dager — full kvalitet, uten vannmerke. Etter det krever API-et en plan som omfatter det (Pro og oppover), og kall går på planens månedlige kvote. Det finnes ingen merforbruk: forbi kvoten svarer kall med 402 med nullstillingsdatoen. GET /v1/account rapporterer begge kvotene og hva som gjenstår av hver.
Hurtigstart
1 — Hent API-nøkkelen din
Laster …
2 — Send inn et bilde
curl -X POST https://api.vectorgram.ai/v1/vectorize \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Idempotency-Key: 8f1b0c2e-0a1d-4f77-9c3a-2b6e5d4c1a90" \
-F "file=@image.png" \
-F "image_type=clipart" \
-F "detail=high" \
-F "gradients=smooth" \
-F "smoothing=strong" \
-F "retention=24h"Svaret er 202 Accepted med en job i kø — konverteringen har ikke skjedd ennå. Sender du samme forespørsel to ganger med én og samme Idempotency-Key returneres den første jobben i stedet for at det lages en ny; endrer du filen eller innstillingene under en nøkkel som allerede er brukt, kommer en 409.
3 — Poll, eller ta imot en webhook
GET /v1/jobs/job_abc123
{
"id": "job_abc123",
"status": "queued",
"progress": 0,
"queue_position": 3,
"mode": "logo",
"retention": "24h",
"megapixels": 2.1,
"created_at": "2026-08-03T10:30:00Z"
}status går gjennom queued → processing → completed | failed | canceled | expired. Mens jobben står i kø, får du en ekte queue_position i stedet for en oppfunnet nedtelling; progress under behandling er interpolert fra størrelsesestimatet og stopper på 95 % til filen finnes. Store bilder kan ta minutter — poll med et fornuftig intervall, eller enda bedre: registrer en webhook.
4 — Last ned
{
"id": "job_abc123",
"status": "completed",
"progress": 100,
"download_url": "https://api.vectorgram.ai/v1/jobs/job_abc123/download",
"completed_at": "2026-08-03T10:30:04Z",
"expires_at": "2026-08-04T10:30:04Z"
}download_url vises bare når et resultat finnes, trenger den samme bærer-token, og sender filen som et vedlegg. Med retention=none slettes filen idet den leveres — last den ned én gang.
Konverteringsparametere
Alle felt er multipart-formdata på POST /v1/vectorize. De fire merkede manuell er sporingskontrollene: tilgjengelige på Pro, Studio, Agency og Enterprise. På Free og Lite godtas de og erstattes så med standardverdiene i stedet for å avvises, så en klient som alltid sender dem, konverterer likevel — den får bare det automatiske resultatet.
Påkrevd. Bildet som skal konverteres. Gjenkjennes fra bytene sine, ikke fra filnavnet.
Hva slags bilde dette er. Standardverdien auto lar motoren klassifisere det.
Valgfritt, og svg er den eneste verdien. SVG er det motoren skriver, og ingenting konverterer det til noe annet — EPS, PNG, PDF, DXF og AI avvises med 400 unsupported_output_format i stedet for å settes i kø for å feile.
Hvor lenge resultatet beholdes. Standardverdien er 24 t; none sletter det etter den første nedlastingen. Begrenses til planens maksimum i stedet for å avvises — Free kan ikke holde et resultat i 10 dager bare ved å be om det.
Din egen grupperingsnøkkel, gjengitt tilbake på jobben og brukbar som filter. Send én forespørsel per bilde. Batchkonvertering begynner på Pro (30 filer, 50 på Studio, 100 på Agency); under den holder gruppen én fil, og en andre svarer med 400 batch_limit_exceeded.
Navnet på mappen batchens filer ligger i på dashbordet. Valgfritt, og krever batch_id (400 invalid_folder_name ellers); begrenset som batch_id — 128 tegn, ingen kontrolltegn. Den første filen som slippes gjennom, gir mappen navn; senere filer i batchen endrer ikke navnet. Utelates, stemples mappen med opprettelsesdatoen sin.
Hvor mye av bildet som overlever regionsammenslåingen. Standardverdien er high — det løseste trinnet motoren har hatt siden 1.3.0. En glidebryterverdi på 1–100 godtas og plasseres i riktig bøtte.
Håndtering av fargeoverganger. Standardverdien er smooth; stepped og auto etterlater motorens flate fyll.
Avrunding av hjørner. Standardverdien er strong — ekte hjørner forblir skarpe, bare det sporeren tilfeldigvis rundet av, kommer tilbake. En glidebryterverdi på 0–100 godtas og plasseres i riktig bøtte.
Hva motoren tegner. Standardverdien er fill — hver form en fylt kontur. centerline tegner ett åpent strek langs midten av hver linje (fill="none", med strekfarge og strekbredde), det som plottere, lasergravere, CNC-frsere og vinylskjærere følger: ett pass per linje i stedet for to konturer rundt den. Deler som er for tykke til å være en linje, forblir fylte former. detail, gradients og smoothing gjelder ikke og ignoreres. En ukjent verdi svarer med 400.
Sømlukking, på alle planer. Standardverdien er true — hver fyll går 0,75 px under naboen sin, slik at ingen tynn lys linje vises mellom to farger. false gir den eksakte partisjonen, der formene møtes kant i kant uten overlapp (for å redigere geometrien). Ingen form flyttes uansett. Ignoreres med centerline.
Endepunkter
Den genererte referansen — hvert felt, hver responsform — er Swagger-UI-en tjenesten serverer på /docs/swagger, med OpenAPI-dokumentet på /v3/api-docs.
Webhooks
Ettersom jobber kjører asynkront — minutter for store filer — bør du abonnere på webhooks i stedet for å polle. Registrer et endepunkt med POST /v1/webhooks; signeringshemmeligheten returneres én gang, ved opprettelsen, og aldri siden.
POST https://your-app.example/hooks/vectorgram
X-Vectorgram-Event: processing.completed
X-Vectorgram-Signature: sha256=<hmac of the raw body, hex>
{
"id": "evt_9f2c…",
"event": "processing.completed",
"created_at": "2026-08-03T10:30:04Z",
"data": { "job_id": "job_abc123", "status": "completed" }
}Bekreft signaturen ved å beregne HMAC-SHA256 av den rå forespørselskroppen med endepunktets hemmelighet og sammenligne i konstant tid — behandle et avvik som en uautentisert forespørsel. Leveringen er minst én gang: et ikke-2xx-svar prøves på nytt tre ganger med eksponentiell tilbakefall, så gjør behandleren din idempotent på id. Endepunkter må kunne løses til en offentlig adresse; det sjekkes på nytt ved levering, ikke bare ved registrering.
Feil
Feil er JSON: { "error": { "code": "…", "message": "…", "details": { … } } }. Les code, ikke meldingen — meldingene formuleres om.