{"openapi":"3.1.0","info":{"title":"VectoKit Image API","version":"1.0.0","description":"Paid image processing with API keys. MCP additionally supports OAuth. No free API previews. Results retained for seven days."},"servers":[{"url":"https://vectokit.com"}],"security":[{"apiKey":[]}],"paths":{"/api/v1/account":{"get":{"operationId":"getAccount","summary":"Get token balance, costs and limits","responses":{"200":{"description":"Account balance and limits"},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/files":{"post":{"operationId":"uploadImage","summary":"Upload PNG/JPEG/WebP (25 MB, 40 MP, non-animated)","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}},"required":["file"]}}}},"responses":{"201":{"description":"file_id and expiration"},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/vectorize":{"post":{"operationId":"vectorize","summary":"Start vectorize (1 token)","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","format":"uuid"},"image_url":{"type":"string","format":"uri"},"preset":{"type":"string","enum":["auto","logo","illustration","photo"],"default":"auto"},"scale":{"type":"integer","enum":[2,4],"default":2}},"oneOf":[{"required":["file_id"]},{"required":["image_url"]}],"additionalProperties":false}}}},"responses":{"202":{"description":"Job state and expiring output links","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/remove-background":{"post":{"operationId":"remove_background","summary":"Start remove-background (1 token)","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","format":"uuid"},"image_url":{"type":"string","format":"uri"},"preset":{"type":"string","enum":["auto","logo","illustration","photo"],"default":"auto"},"scale":{"type":"integer","enum":[2,4],"default":2}},"oneOf":[{"required":["file_id"]},{"required":["image_url"]}],"additionalProperties":false}}}},"responses":{"202":{"description":"Job state and expiring output links","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/upscale":{"post":{"operationId":"upscale","summary":"Start upscale (1 token)","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","format":"uuid"},"image_url":{"type":"string","format":"uri"},"preset":{"type":"string","enum":["auto","logo","illustration","photo"],"default":"auto"},"scale":{"type":"integer","enum":[2,4],"default":2}},"oneOf":[{"required":["file_id"]},{"required":["image_url"]}],"additionalProperties":false}}}},"responses":{"202":{"description":"Job state and expiring output links","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/digitize-logo":{"post":{"operationId":"digitize_logo","summary":"Start digitize-logo (3 tokens)","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"file_id":{"type":"string","format":"uuid"},"image_url":{"type":"string","format":"uri"},"preset":{"type":"string","enum":["auto","logo","illustration","photo"],"default":"auto"},"scale":{"type":"integer","enum":[2,4],"default":2}},"oneOf":[{"required":["file_id"]},{"required":["image_url"]}],"additionalProperties":false}}}},"responses":{"202":{"description":"Job state and expiring output links","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/jobs":{"get":{"operationId":"listJobs","parameters":[{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Opaque next_cursor returned by the previous page"}],"responses":{"200":{"description":"Up to 20 jobs and next_cursor"}}}},"/api/v1/jobs/{id}":{"get":{"operationId":"getJob","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Job state and expiring output links","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"410":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"delete":{"operationId":"deleteJob","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Completed job and output deleted"},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/jobs/{id}/download":{"get":{"operationId":"downloadOutput","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Original SVG or PNG as an attachment"},"409":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"410":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/jobs/{id}/preview":{"get":{"operationId":"previewOutput","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Small WebP preview"},"410":{"description":"Request failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","bearerFormat":"vk_ API key"}},"schemas":{"Job":{"type":"object","properties":{"job_id":{"type":"string","format":"uuid"},"operation":{"type":"string"},"status":{"type":"string","enum":["queued","processing","succeeded","failed","expired"]},"tokens_reserved":{"type":"integer"},"tokens_used":{"type":"integer"},"created_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"download_url":{"type":"string","format":"uri"},"preview_url":{"type":"string","format":"uri"}},"required":["job_id","status","tokens_reserved","tokens_used","expires_at"]},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"}},"required":["code","message","request_id"]}},"required":["error"]}}}}