Reference — API

Dokumentace API

Integrujte Vectorgram do své aplikace. Jeden endpoint na odeslání, jeden na sledování, jeden na stažení — úlohy jsou asynchronní od základu. Základní URL https://api.vectorgram.ai, ověření je Authorization: Bearer <api_key>. Klíče vypadají takto: vectorgram_sk_live_… — prefix je záměrně vyepsaný, takže klíč nalezený ve starém .env se pozná, aniž by se musel vyzkoušet.

Nový účet dostává 25 konverzí API zdarma na 30 dní — v plné kvalitě a bez vodoznaku. Poté API potřebuje tarif, který ho zahrnuje (Pro a výš), a volání se odečítají z měsíčního objemu tohoto tarifu. Doplatky za nadspotřebu neexistují: po vyčerpání objemu volání odpoví 402 s datem resetu. GET /v1/account hlásí oba objemy i to, kolik z každého zbývá.

Rychlý start

1 — Získejte klíč API

Vaše klíče API

Načítá se…

2 — Odešlete obrázek

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"

Odpovědí je 202 Accepted s úlohou ve frontě — konverze se zatím neuskutečnila. Když pošlete stejný požadavek dvakrát s týmž Idempotency-Key vrátí se první úloha, ne že vznikne druhá; změna souboru nebo nastavení pod už použitým klíčem je 409.

3 — Sledujte, nebo vezměte 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 prochází queued → processing → completed | failed | canceled | expired. Ve frontě dostáváte skutečné queue_position a ne vymyšlené odpočítávání; progress během zpracování se interpoluje z odhadu velikosti a stropuje na 95 %, dokud soubor nevznikne. Velké obrázky mohou trvat minuty — sledujte v rozumných intervalech, nebo ještě lépe zaregistrujte webhook.

4 — Stáhněte výsledek

{
  "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 se objeví, jakmile existuje výsledek, vyžaduje týž bearer token a posílá soubor jako přílohu. S retention=none se soubor maže v okamžiku odeslání — stáhněte si ho jednou.

Parametry konverze

Všechna pole jsou multipart form data na POST /v1/vectorize. Čtyři označená ruční jsou řídicí prvky trasování: dostupné na Pro, Studio, Agency a Enterprise. Na Free a Lite se přijmou a pak nahradí výchozími hodnotami, místo aby se odmítly, takže klient, který je posílá vždy, konvertuje dál — dostane jen automatický výsledek.

filePNG, JPEG, WebP, AVIF nebo BMP, ≤ 50 MB

Povinný. Obrázek ke konverzi. Rozpozná se z bajtů, ne z názvu souboru.

image_typeauto · clipart · photo · scan · blueprint

O jaký druh obrázku jde. Výchozí auto, které nechá klasifikaci na modulu.

output_formatsvg

Volitelný a svg je jediná hodnota. SVG je to, co modul zapisuje, a nic to nepřevádí na nic jiného — EPS, PNG, PDF, DXF a AI se odmítají s 400 unsupported_output_format, místo aby čekaly ve frontě na selhání.

retentionnone · 24h · 3d · 7d · 10d

Jak dlouho se výsledek uchovává. Výchozí 24h; none ho smaže po prvním stažení. Přizpůsobí se maximu vašeho tarifu, místo aby se odmítl — Free nedrží výsledek 10 dní jen tím, že o to požádá.

batch_idlibovolný řetězec

Vlastní klíč pro seskupení, vrací se v úloze a jde použít jako filtr. Na každý obrázek posílejte jeden požadavek. Dávková konverze začíná na Pro (30 souborů, 50 na Studio, 100 na Agency); pod ním drží skupina jeden soubor a druhý odpoví 400 batch_limit_exceeded.

folder_namelibovolný řetězec

Název složky, ve které budou soubory dávky ležet na dashboardu. Volitelný a vyžaduje batch_id (jinak 400 invalid_folder_name); omezený jako batch_id — 128 znaků, žádné řídicí znaky. Složku pojmenuje první přijatý soubor; další soubory dávky ji nepřejmenovávají. Bez něj se složka označí datem svého vzniku.

detailručnílow · medium · high

Kolik z obrázku přežije spojování oblastí. Výchozí high — nejslabší stupeň, který má modul od verze 1.3.0. Hodnota posuvníku 1–100 se přijme a zařadí do příslušné skupiny.

gradientsručníauto · smooth · stepped

Zacházení s přechody. Výchozí smooth; stepped a auto ponechají ploché výplně modulu.

smoothingručníoff · light · strong · maximum

Zaoblování rohů. Výchozí strong — skutečné rohy zůstávají ostré, vrátí se jen to, co trasování zaoblilo omylem. Hodnota posuvníku 0–100 se přijme a zařadí do příslušné skupiny.

trace_styleručnífill · centerline

Co modul kreslí. Výchozí fill — každý tvar jako vyplněný obrys. centerline kreslí jednu otevřenou linku po středu každé čáry (fill="none", s barvou a šířkou tahu), čímž se řídí plottery, laserové gravíry, CNC frézky a řezačky fólií: jeden průchod na čáru místo dvou obrysů kolem ní. Části příliš silné na to, aby byly čárou, zůstávají vyplněné tvary. detail, gradients a smoothing se nepoužívají a ignorují se. Neznámá hodnota odpoví 400.

close_seamstrue · false

Zavírání švů, na každém tarifu. Výchozí true — každá výplň zajíždí 0,75 px pod souseda, takže mezi dvěma barvami neprosvítá tenká světlá linka. false dává přesné rozdělení, kde se tvary stýkají hranou na hranu bez překryvu (pro úpravu geometrie). Ani jeden tvar se neposune. U centerline se ignoruje.

Endpointy

POST/v1/vectorize
GET/v1/jobs
GET/v1/folders
DELETE/v1/folders/{id}
GET/v1/jobs/{id}
GET/v1/jobs/{id}/download
DELETE/v1/jobs/{id}
POST/v1/jobs/{id}/report
GET/v1/account
GET/v1/keys
POST/v1/keys
DELETE/v1/keys/{id}
GET/v1/webhooks
POST/v1/webhooks
DELETE/v1/webhooks/{id}

Vygenerovaná reference — každé pole, každý tvar odpovědi — je Swagger UI, které služba servíruje na /docs/swagger, s dokumentem OpenAPI na /v3/api-docs.

Webhooky

Protože úlohy běží asynchronně — u velkých souborů minuty — odebírejte webhooky místo sledování. Endpoint zaregistrujete přes POST /v1/webhooks; podpisový tajný klíč se vrátí jednou, při vytvoření, a už nikdy.

processing.started
processing.completed
processing.failed
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" }
}

Podpis ověřte výpočtem HMAC-SHA256 nad surovým tělem požadavku s tajným klíčem endpointu a porovnáním v konstantním čase — nesoulad berte jako neověřený požadavek. Doručení je alespoň jednou: odpověď mimo 2xx se opakuje třikrát s exponenciálním čekáním, takže handler udělejte idempotentním na id. Endpointy se musí překládat na veřejnou adresu; kontroluje se to znovu při doručování, ne jen při registraci.

Chyby

Selhání jsou JSON: { "error": { "code": "…", "message": "…", "details": { … } } }. Čtěte code, ne zprávu — zprávy se přeformulovávají.

400missing_file
400unreadable_file
400empty_file
400batch_limit_exceeded
400invalid_batch_id
400invalid_folder_name
401unauthorized
402quota_exhausted
402megapixels_exceeded
402high_detail_not_included
403forbidden
404not_found
409not_ready
409idempotency_key_reuse
409request_in_progress
410result_expired
413file_too_large
415unsupported_format
429too_many_active_jobs
429daily_fuse_tripped
503queue_full
503storage_full

Cookies

Pomocí cookies Google Analytics zjišťujeme, které stránky se navštěvují a kde se návštěvníci zasekávají — žádná reklama, žádné profilování, nic se neprodává. Odmítnete-li, web funguje úplně stejně. Podrobnosti v Zásadách ochrany osobních údajů.