Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/vectorizer-ai-vectorization-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Vectorizer Ai Vectorization API
version: 1.0.0
contact:
name: Vectorizer.AI Support
url: https://vectorizer.ai/support
email: support@vectorizer.ai
license:
name: Proprietary
url: https://vectorizer.ai/policies/terms
termsOfService: https://vectorizer.ai/policies/terms
description: 'Operations tagged vectorization across 2 of this provider''s published API definitions: vectorizer-ai-api-v1-openapi.json, vectorizer-ai-api-v1-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.vectorizer.ai/api/v1
description: Vectorizer.AI API v1 endpoint
security:
- basicAuth: []
tags:
- name: vectorization
description: Vectorize images, download retained results, and delete retained images.
paths:
/vectorize:
post:
summary: Vectorize an image
description: 'Submit exactly one image source as multipart form data: image, image.url, image.base64, or image.token. The response body is the generated SVG, EPS, PDF, DXF, or PNG file selected by output.file_format. Clients should allow an idle timeout of at least 180 seconds.'
operationId: postVectorize
tags:
- vectorization
x-group-parameters: true
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/VectorizeRequest'
encoding:
image:
contentType: image/png, image/jpeg, image/webp, image/gif, image/bmp, image/tiff
description: Multipart form body. Dotted property names are literal form field names.
responses:
'200':
description: The vectorized image file.
content:
image/svg+xml:
schema:
type: string
format: binary
application/postscript:
schema:
type: string
format: binary
application/pdf:
schema:
type: string
format: binary
application/dxf:
schema:
type: string
format: binary
image/png:
schema:
type: string
format: binary
headers:
Content-Disposition:
description: Suggested filename for the generated result.
schema:
type: string
Content-Encoding:
description: May be gzip for SVG, EPS, or DXF responses when the request allows gzip encoding.
schema:
type: string
enum:
- gzip
X-Image-Token:
description: Returned by vectorize when policy.retention_days is greater than 0.
schema:
type: string
X-Credits-Charged:
description: Credits charged for the request. This is 0 for test requests.
schema:
type: number
format: double
X-Credits-Calculated:
description: Returned for test requests to show the credits that would have been charged for the equivalent non-test request.
schema:
type: number
format: double
'400':
description: Invalid request parameters, image input, URL fetch, or Image Token.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Missing or invalid API credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
headers:
WWW-Authenticate:
description: HTTP Basic authentication challenge returned with 401 responses.
schema:
type: string
'402':
description: The account does not have an API subscription, is past due, or is out of credits.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'413':
description: The uploaded image, fetched image, or requested PNG output is too large.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded. Back off before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
headers:
Retry-After:
description: Number of seconds to wait before retrying, when provided.
schema:
type: integer
format: int32
'500':
description: Unexpected internal error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'503':
description: Temporary overload or internal processing timeout. Retry later.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
headers:
Retry-After:
description: Number of seconds to wait before retrying, when provided.
schema:
type: integer
format: int32
servers:
- url: https://api.vectorizer.ai/api/v1
description: Vectorizer.AI API v1 endpoint
/download:
post:
summary: Download a retained result
description: Download a production result from a retained Image Token, optionally changing output.file_format and other output options. Include receipt when downloading additional formats after upgrading a preview result.
operationId: postDownload
tags:
- vectorization
x-group-parameters: true
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/DownloadRequest'
description: Multipart form body. The image.token field is required.
responses:
'200':
description: The requested output file.
content:
image/svg+xml:
schema:
type: string
format: binary
application/postscript:
schema:
type: string
format: binary
application/pdf:
schema:
type: string
format: binary
application/dxf:
schema:
type: string
format: binary
image/png:
schema:
type: string
format: binary
headers:
Content-Disposition:
description: Suggested filename for the generated result.
schema:
type: string
Content-Encoding:
description: May be gzip for SVG, EPS, or DXF responses when the request allows gzip encoding.
schema:
type: string
enum:
- gzip
X-Receipt:
description: Returned when a preview Image Token is upgraded to a production result; use it for discounted additional format downloads.
schema:
type: string
X-Credits-Charged:
description: Credits charged for the request. This is 0 for test requests.
schema:
type: number
format: double
X-Credits-Calculated:
description: Returned for test requests to show the credits that would have been charged for the equivalent non-test request.
schema:
type: number
format: double
'400':
description: Invalid request parameters, image input, URL fetch, or Image Token.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Missing or invalid API credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
headers:
WWW-Authenticate:
description: HTTP Basic authentication challenge returned with 401 responses.
schema:
type: string
'402':
description: The account does not have an API subscription, is past due, or is out of credits.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'413':
description: The uploaded image, fetched image, or requested PNG output is too large.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded. Back off before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
headers:
Retry-After:
description: Number of seconds to wait before retrying, when provided.
schema:
type: integer
format: int32
'500':
description: Unexpected internal error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'503':
description: Temporary overload or internal processing timeout. Retry later.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
headers:
Retry-After:
description: Number of seconds to wait before retrying, when provided.
schema:
type: integer
format: int32
servers:
- url: https://api.vectorizer.ai/api/v1
description: Vectorizer.AI API v1 endpoint
/delete:
post:
summary: Delete a retained image
description: Delete a retained image and result before its retention period expires.
operationId: postDelete
tags:
- vectorization
x-group-parameters: true
requestBody:
required: true
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/DeleteImageRequest'
description: Multipart form body. The image.token field is required.
responses:
'200':
description: The Image Token was deleted.
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteImageResponse'
'400':
description: Invalid request parameters, image input, URL fetch, or Image Token.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Missing or invalid API credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
headers:
WWW-Authenticate:
description: HTTP Basic authentication challenge returned with 401 responses.
schema:
type: string
'402':
description: The account does not have an API subscription, is past due, or is out of credits.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'413':
description: The uploaded image, fetched image, or requested PNG output is too large.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'429':
description: Rate limit exceeded. Back off before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
headers:
Retry-After:
description: Number of seconds to wait before retrying, when provided.
schema:
type: integer
format: int32
'500':
description: Unexpected internal error.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'503':
description: Temporary overload or internal processing timeout. Retry later.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
headers:
Retry-After:
description: Number of seconds to wait before retrying, when provided.
schema:
type: integer
format: int32
servers:
- url: https://api.vectorizer.ai/api/v1
description: Vectorizer.AI API v1 endpoint
components:
schemas:
DeleteImageResponse:
type: object
properties:
success:
type: boolean
description: Always true when the Image Token has been deleted.
required:
- success
VectorizeRequest:
type: object
description: Multipart form fields for vectorizing an image. Field names containing dots are literal form field names.
additionalProperties: false
properties:
image:
type: string
format: binary
description: Binary file upload of the image to vectorize. Accepts .bmp, .gif, .jpeg, .png, or .tiff files.
image.url:
type: string
description: URL to fetch the input image from for vectorization.
format: uri
image.base64:
type: string
description: Base64-encoded string of the input image. Maximum size 1 megabyte.
format: byte
image.token:
type: string
description: An Image Token returned from an earlier vectorization call with policy.retention_days > 0.
mode:
type: string
format: string
enum:
- production
- preview
- test
- test_preview
description: Mode of operation, useful during integration work.
default: production
input.max_pixels:
type: integer
format: int32
minimum: 100
maximum: 3145828
description: Maximum input image size (width × height in pixels) before resizing.
default: 2097252
policy.retention_days:
type: integer
format: int32
minimum: 0
maximum: 30
description: Number of days to retain the uploaded image and its results for re-use.
default: 0
processing.max_colors:
type: integer
format: int32
minimum: 0
maximum: 256
description: Maximum number of colors allowed in the vectorization result. 0 means unlimited.
default: 0
processing.shapes.min_area_px:
type: number
format: float
minimum: 0
maximum: 100
description: Minimum shape area (in pixels) to keep in the result; smaller shapes are discarded.
default: 0.125
processing.palette:
type: string
description: Palette remapping and color control, using '[color][-> remapped][~ tolerance];' format.
example: '#FF0000;#00FF00;#0000FF;'
processing.color_profile.input:
type: string
format: string
enum:
- ignore
- preserve
description: How to handle ICC profiles embedded in input images.
default: ignore
processing.color_profile.output:
type: string
description: 'ICC profile behavior for output files: preserve, ignore.'
default: ignore
processing.parameterizedShapes.ellipse.general.enabled:
type: boolean
description: Enable detection and parameterization of this parameterized shape type.
default: true
processing.parameterizedShapes.ellipse.circle.enabled:
type: boolean
description: Enable detection and parameterization of this parameterized shape type.
default: true
processing.parameterizedShapes.triangle.general.enabled:
type: boolean
description: Enable detection and parameterization of this parameterized shape type.
default: true
processing.parameterizedShapes.triangle.isosceles.enabled:
type: boolean
description: Enable detection and parameterization of this parameterized shape type.
default: true
processing.parameterizedShapes.quadrilateral.general.enabled:
type: boolean
description: Enable detection and parameterization of this parameterized shape type.
default: true
processing.parameterizedShapes.quadrilateral.rectangle.enabled:
type: boolean
description: Enable detection and parameterization of this parameterized shape type.
default: true
processing.parameterizedShapes.quadrilateral.bullet.enabled:
type: boolean
description: Enable detection and parameterization of this parameterized shape type.
default: true
processing.parameterizedShapes.star.N3.enabled:
type: boolean
description: Enable detection and parameterization of this parameterized shape type.
default: true
processing.parameterizedShapes.star.N4.enabled:
type: boolean
description: Enable detection and parameterization of this parameterized shape type.
default: true
processing.parameterizedShapes.star.N5.enabled:
type: boolean
description: Enable detection and parameterization of this parameterized shape type.
default: true
processing.parameterizedShapes.star.N6.enabled:
type: boolean
description: Enable detection and parameterization of this parameterized shape type.
default: true
output.file_format:
type: string
format: string
enum:
- svg
- eps
- pdf
- dxf
- png
description: Output file format to generate.
default: svg
output.shape_stacking:
type: string
format: string
enum:
- cutouts
- stacked
description: Whether shapes are cut out of each other or stacked atop each other.
default: cutouts
output.group_by:
type: string
format: string
enum:
- none
- color
- parent
- layer
description: Grouping of shapes in output.
default: none
output.draw_style:
type: string
format: string
enum:
- fill_shapes
- stroke_shapes
- stroke_edges
description: How shapes are rendered.
default: fill_shapes
output.strokes.stroke_width:
type: number
format: float
minimum: 0
maximum: 5
description: Width of stroke for shape outlines (when enabled).
default: 1
output.strokes.non_scaling_stroke:
type: boolean
description: Use non-scaling strokes when drawing shape outlines.
default: true
output.strokes.use_override_color:
type: boolean
description: Override shape color with a specific color.
default: false
output.strokes.override_color:
type: string
description: Color value to override shape stroke color if enabled. Must be in '#RRGGBB' or 'rgba(r,g,b,a)' format.
default: '#000000'
example: '#FF00FF'
output.gap_filler.enabled:
type: boolean
description: Enable filling small visual gaps caused by vector rendering artifacts.
default: true
output.gap_filler.non_scaling_stroke:
type: boolean
description: Use non-scaling strokes for gap filling.
default: true
output.gap_filler.clip:
type: boolean
description: Clip gap filler strokes to shape bounds when stacking shapes.
default: false
output.gap_filler.stroke_width:
type: number
format: float
minimum: 0
maximum: 5
description: Width of the gap filler strokes (in output units).
default: 2
output.parameterized_shapes.flatten:
type: boolean
description: Whether to flatten detected circles, rectangles, and stars to curves.
default: false
output.curves.line_fit_tolerance:
type: number
format: float
minimum: 0.001
maximum: 1
description: Maximum allowed error when approximating curves with line segments.
default: 0.1
output.curves.allowed.quadratic_bezier:
type: boolean
description: Allow quadratic Bézier curves in the output.
default: true
output.curves.allowed.cubic_bezier:
type: boolean
description: Allow cubic Bézier curves in the output.
default: true
output.curves.allowed.circular_arc:
type: boolean
description: Allow circular arcs in the output.
default: true
output.curves.allowed.elliptical_arc:
type: boolean
description: Allow elliptical arcs in the output.
default: true
output.svg.version:
type: string
format: string
enum:
- svg_1_0
- svg_1_1
- svg_tiny_1_2
description: SVG version to declare in the SVG output.
default: svg_1_1
output.svg.fixed_size:
type: boolean
description: Whether to fix the SVG dimensions in the output file.
default: false
output.svg.adobe_compatibility_mode:
type: boolean
description: Enable Illustrator compatibility by disabling unsupported SVG features.
default: false
output.pdf.version:
type: string
format: string
enum:
- PDF_1_4
description: PDF version to generate for PDF output.
default: PDF_1_4
output.pdf.compression_mode:
type: string
format: string
enum:
- None
- Deflate
description: Compression method to apply to PDF output streams.
default: Deflate
output.eps.version:
type: string
format: string
enum:
- PS_3_0_EPSF_3_0
description: EPS format version for EPS output.
default: PS_3_0_EPSF_3_0
output.dxf.compatibility_level:
type: string
format: string
enum:
- lines_only
- lines_and_arcs
- lines_arcs_and_splines
description: Level of primitive support for DXF output.
default: lines_and_arcs
output.bitmap.anti_aliasing_mode:
type: string
format: string
enum:
- anti_aliased
- aliased
description: Anti-aliasing mode for bitmap (PNG) output.
default: anti_aliased
output.size.scale:
type: number
format: float
minimum: 0
maximum: 1000
description: Overall uniform scaling factor for the output image.
example: 1
output.size.width:
type: number
format: float
minimum: 0
maximum: 1000000000000
description: Output width, in the selected unit (see output.size.unit).
example: 100
output.size.height:
type: number
format: float
minimum: 0
maximum: 1000000000000
description: Output height, in the selected unit (see output.size.unit).
example: 100
output.size.unit:
type: string
format: string
enum:
- none
- px
- pt
- in
- cm
- mm
description: Measurement unit for output dimensions.
default: none
output.size.aspect_ratio:
type: string
format: string
enum:
- preserve_inset
- preserve_overflow
- stretch
description: How to preserve or stretch aspect ratio.
default: preserve_inset
output.size.align_x:
type: number
format: float
minimum: 0
maximum: 1
description: Horizontal alignment (0.0 = left, 0.5 = center, 1.0 = right) when aspect ratio is preserved.
default: 0.5
output.size.align_y:
type: number
format: float
minimum: 0
maximum: 1
description: Vertical alignment (0.0 = top, 0.5 = center, 1.0 = bottom) when aspect ratio is preserved.
default: 0.5
output.size.input_dpi:
type: number
format: float
minimum: 1
maximum: 1000000
description: Override the detected DPI of the input image for size computations.
example: 300
output.size.output_dpi:
type: number
format: float
minimum: 1
maximum: 1000000
description: DPI setting for the output image.
example: 300
oneOf:
- required:
- image
- required:
- image.url
- required:
- image.base64
- required:
- image.token
DeleteImageRequest:
type: object
description: Multipart form fields for deleting a retained image and result.
additionalProperties: false
properties:
image.token:
type: string
description: Image Token to delete before its retention period expires.
required:
- image.token
ErrorResponse:
type: object
properties:
error:
type: object
properties:
status:
type: integer
format: int32
code:
type: integer
format: int32
message:
type: string
required:
- status
- code
- message
dataReceived:
description: Echo of the submitted request data when available. File uploads are summarized instead of echoed.
type:
- object
- 'null'
additionalProperties: true
required:
- error
- dataReceived
DownloadRequest:
type: object
description: Multipart form fields for downloading a retained result. The image.token field is required.
additionalProperties: false
properties:
image.token:
type: string
description: Image Token returned from a vectorize request with policy.retention_days > 0.
receipt:
type: string
description: Receipt returned in the X-Receipt response header when upgrading a preview result to production. Include it when downloading additional formats from that upgraded preview.
output.file_format:
type: string
format: string
enum:
- svg
- eps
- pdf
- dxf
- png
description: Output file format to generate.
default: svg
output.shape_stacking:
type: string
format: string
enum:
- cutouts
- stacked
description: Whether shapes are cut out of each other or stacked atop each other.
default: cutouts
output.group_by:
type: string
format: string
enum:
- none
- color
- parent
- layer
description: Grouping of shapes in output.
default: none
output.draw_style:
type: string
format: string
enum:
- fill_shapes
- stroke_shapes
- stroke_edges
description: How shapes are rendered.
default: fill_shapes
output.strokes.stroke_width:
type: number
format: float
minimum: 0
maximum: 5
description: Width of stroke for shape outlines (when enabled).
default: 1
output.strokes.non_scaling_stroke:
type: boolean
description: Use non-scaling strokes when drawing shape outlines.
default: true
output.strokes.use_override_color:
type: boolean
description: Override shape color with a specific color.
default: false
output.strokes.override_color:
type: string
description: Color value to override shape stroke color if enabled. Must be in '#RRGGBB' or 'rgba(r,g,b,a)' format.
default: '#000000'
example: '#FF00FF'
output.gap_filler.enabled:
type: boolean
description: Enable filling small visual gaps caused by vector rendering artifacts.
default: true
output.gap_filler.non_scaling_stroke:
type: boolean
description: Use non-scaling strokes for gap filling.
default: true
output.gap_filler.clip:
type: boolean
description: Clip gap filler strokes to shape bounds when stacking shapes.
default: false
output.gap_filler.stroke_width:
type: number
format: float
minimum: 0
maximum: 5
description: Width of the gap filler strokes (in output units).
default: 2
output.parameterized_shapes.flatten:
type: boolean
description: Whether to flatten detected circles, rectangles, and stars to curves.
default: false
output.curves.line_fit_tolerance:
type: number
format: float
minimum: 0.001
maximum: 1
description: Maximum allowed error when approximating curves with line segments.
default: 0.1
output.curves.allowed.quadratic_bezier:
type: boolean
description: Allow quadratic Bézier curves in the output.
default: true
output.curves.allowed.cubic_bezier:
type: boolean
description: Allow cubic Bézier curves in the output.
default: true
output.curves.allowed.circular_arc:
type: boolean
description: Allow circular arcs in the output.
default: true
output.curves.allowed.elliptical_arc:
type: boolean
description: Allow elliptical arcs in the output.
default: true
output.svg.version:
type: string
format: string
enum:
- svg_1_0
- svg_1_1
- svg_tiny_1_2
description: SVG version to declare in the SVG output.
default: svg_1_1
output.svg.fixed_size:
type: boolean
description: Whether to fix the SVG dimensions in the output file.
default: false
output.svg.adobe_compatibility_mode:
type: boolean
description: Enable Illustrator compatibility by disabling unsupported SVG features.
default: false
output.pdf.version:
type: string
format: string
enum:
- PDF_1_4
description: PDF version to generate for PDF output.
default: PDF_1_4
output.pdf.compression_mode:
type: string
format: string
enum:
- None
- Deflate
description: Compression method to apply to PDF output streams.
default: Deflate
output.eps.version:
type: string
format: string
enum:
- PS_3_0_EPSF_3_0
description: EPS format version for EPS output.
default: PS_3_0_EPSF_3_0
output.dxf.compatibility_level:
type: string
fo
# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vectorizer-ai/refs/heads/main/openapi/vectorizer-ai-vectorization-api-openapi.yml