{ "openapi": "3.0.1", "info": { "title": "ConvertAPI", "description": "# High-Performance File Conversion API\nConvert Word, Excel, PowerPoint, HTML, PDF and Image formats with our powerful file conversion service.\nWe support more than [200 file types.]( https://www.convertapi.com/doc/file-formats)", "termsOfService": "https://www.convertapi.com/terms", "contact": { "url": "https://www.convertapi.com/support", "email": "support@convertapi.com" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "v2" }, "servers": [ { "url": "https://v2.convertapi.com" }, { "url": "https://eu-v2.convertapi.com" }, { "url": "https://uk-v2.convertapi.com" }, { "url": "https://us-v2.convertapi.com" }, { "url": "https://ca-v2.convertapi.com" }, { "url": "https://as-v2.convertapi.com" }, { "url": "https://au-v2.convertapi.com" } ], "paths": { "/convert/png/to/svg": { "summary": "PNG to SVG API", "description": "Convert PNG images to precise SVG vectors with controls for color mode, layering, curve fitting, corners, speckle filtering, and size.", "post": { "tags": [ "Conversion" ], "externalDocs": { "description": "Read more about the converter", "url": "https://www.convertapi.com/png-to-svg" }, "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "File" ], "type": "object", "properties": { "Timeout": { "maximum": 1200, "minimum": 10, "type": "integer", "description": "Conversion timeout in seconds.", "default": 900, "x-ca-featured": false, "x-ca-label": "Timeout", "x-ca-group": "Execution", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "10", "to": "1200" } }, "StoreFile": { "type": "boolean", "description": "When the `StoreFile` parameter is set to `True`, your converted file is written to ConvertAPI’s encrypted, temporary storage and made available via a time-limited secure download URL, valid for up to 3 hours. After this period, the file is permanently deleted.\r\n\r\nWhen `StoreFile` is set to `False`, conversion happens entirely in-memory. The raw file bytes are streamed back in the API response without touching disk or external storage, ensuring maximum security and zero persistence so that only you can access the content.\r\n", "default": false, "x-ca-featured": false, "x-ca-label": "Store file", "x-ca-group": "Output", "x-ca-type": "Bool", "x-ca-representation": "Default" }, "File": { "type": "string", "description": "File to be converted. Value can be URL or file content.", "format": "binary", "x-ca-featured": true, "x-ca-label": "File", "x-ca-group": "Input", "x-ca-type": "File", "x-ca-representation": "Default", "x-ca-allowed-extensions": [ "png" ] }, "FileName": { "type": "string", "description": "The `FileName` property defines the name of the output file(s) generated by the file conversion API, ensuring safe and\r\nunique file naming. It sanitizes input filenames to remove potentially harmful characters, automatically appends the\r\ncorrect file extension based on the target format, and includes an indexing feature to distinguish multiple output files\r\nfrom a single input. For example, converting `report.docx` to PDF format might result in `report.pdf` for a single file,\r\nor `report_0.pdf`, `report_1.pdf` for multiple files, ensuring each output file is uniquely identifiable.", "x-ca-featured": false, "x-ca-label": "Output file name", "x-ca-group": "Output", "x-ca-type": "String", "x-ca-representation": "Default", "x-ca-range": { "from": "1", "to": "200" } }, "Preset": { "enum": [ "none", "detailed", "crisp", "graphic", "illustration", "noisyScan" ], "type": "string", "description": "Choose a vectorization preset with general tracing settings suited for different image types. This option is effective only when `Vectorize` is enabled. When a preset is selected, all converter options except `ColorMode` are ignored. Presets provide ready-made configurations for producing consistent and balanced SVG results.", "default": "none", "x-ca-featured": true, "x-ca-label": "Preset", "x-ca-group": "Vectorize", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "none": "None", "detailed": "High Detail Precision", "crisp": "Sharp Edges and Lines", "graphic": "Complex Graphic Elements", "illustration": "Illustration", "noisyScan": "Noisy Scan" } }, "ColorMode": { "enum": [ "color", "bw" ], "type": "string", "description": "Determines whether the image is traced in black-and-white or in full color.", "default": "color", "x-ca-featured": false, "x-ca-label": "Color Mode", "x-ca-group": "Vectorize", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "color": "Color", "bw": "Black and White" } }, "Layering": { "enum": [ "cutout", "stacked" ], "type": "string", "description": "Defines how color regions are arranged in the output SVG-either as cut-out layers or stacked overlays.", "default": "stacked", "x-ca-featured": false, "x-ca-label": "Layering", "x-ca-group": "Vectorize", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "cutout": "Cutout", "stacked": "Stacked" } }, "FilterSpeckle": { "maximum": 128, "minimum": 0, "type": "integer", "description": "Removes small isolated regions during tracing.", "default": 4, "x-ca-featured": false, "x-ca-label": "Filter Speckle", "x-ca-group": "Vectorize", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "0", "to": "128" } }, "ColorPrecision": { "maximum": 8, "minimum": 1, "type": "integer", "description": "Sets the quantization level for color reduction.", "default": 6, "x-ca-featured": false, "x-ca-label": "Color Precision", "x-ca-group": "Vectorize", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "1", "to": "8" } }, "GradientStep": { "maximum": 128, "minimum": 0, "type": "integer", "description": "Controls how gradient transitions are divided into color steps.", "default": 10, "x-ca-featured": false, "x-ca-label": "Gradient Step", "x-ca-group": "Vectorize", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "0", "to": "128" } }, "CurveMode": { "enum": [ "pixel", "polygon", "spline" ], "type": "string", "description": "Defines how shapes are approximated during tracing. The `Pixel` mode follows exact pixel boundaries with minimal smoothing, `Polygon` forms straight-edged paths with sharp corners, and `Spline` generates smooth, continuous curves for more natural shapes.", "default": "spline", "x-ca-featured": false, "x-ca-label": "Curve Mode", "x-ca-group": "Vectorize", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "pixel": "Pixel", "polygon": "Polygon", "spline": "Spline" } }, "CornerThreshold": { "maximum": 180, "minimum": 0, "type": "integer", "description": "Determines sensitivity for detecting corners versus smooth curves. Effective only when `CurveMode` is set to **Spline**.", "default": 55, "x-ca-featured": false, "x-ca-label": "Corner Threshold", "x-ca-group": "Vectorize", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "0", "to": "180" } }, "SegmentLength": { "maximum": 10, "minimum": 3.5, "type": "number", "description": "Sets the average length of path segments. Effective only when `CurveMode` is set to **Spline**.", "default": 4, "x-ca-featured": false, "x-ca-label": "Segment Length", "x-ca-group": "Vectorize", "x-ca-type": "Double", "x-ca-representation": "Default", "x-ca-range": { "from": "3.5", "to": "10" } }, "SpliceThreshold": { "maximum": 180, "minimum": 0, "type": "integer", "description": "Defines the threshold for merging adjacent short path segments into longer ones. Effective only when `CurveMode` is set to **Spline**.", "default": 35, "x-ca-featured": false, "x-ca-label": "Splice Threshold", "x-ca-group": "Vectorize", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "0", "to": "180" } }, "ImageHeight": { "maximum": 20000, "minimum": 10, "type": "integer", "description": "Image height in pixels.", "x-ca-featured": false, "x-ca-label": "Image height", "x-ca-group": "Image", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "10", "to": "20000" } }, "ImageWidth": { "maximum": 20000, "minimum": 10, "type": "integer", "description": "Image width in pixels.", "x-ca-featured": false, "x-ca-label": "Image width", "x-ca-group": "Image", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "10", "to": "20000" } } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ConversionCost": { "type": "integer", "description": "This amount will be deducted from your balance after the conversion.", "format": "int32", "example": 1 }, "Files": { "type": "array", "items": { "type": "object", "properties": { "FileName": { "type": "string", "description": "Name of the converted file.", "example": "myfile.pdf" }, "FileExt": { "type": "string", "description": "File type (file name extension)", "example": "pdf" }, "FileSize": { "type": "integer", "description": "File size", "format": "int32", "example": 111955 }, "FileId": { "type": "string", "description": "File ID", "example": "25811safe8e61dd3f51ef00ee5f58b92" }, "Url": { "type": "string", "description": "File URL", "example": "https://v2.convertapi.com/d/v01plsb72o0cmdooq90w4d1lnqsf6oy4/myfile.pdf" }, "FileData": { "type": "string", "description": "Base64 encoded file data", "format": "base64", "example": "JVBERi0xLjcKJb662+4KMSAwIG9iago8PC9UeXBlIC9DYXRhbG9n..." } } } } }, "externalDocs": { "url": "https://www.convertapi.com/doc/content-types#applicationjson-1" } } }, "multipart/mixed": { "schema": { "type": "string", "format": "binary", "externalDocs": { "url": "https://www.convertapi.com/doc/content-types#multipartmixed" } }, "example": "--43cf1475-ab15-4c6b-b5ee-e2cbcedfe92f\nConversionCost: 1\nContent-Type: application/octet-stream\nContent-Disposition: attachment; filename=\"my_file.pdf\"; size=8475\n\n--FILE CONTENT--\n--43cf1475-ab15-4c6b-b5ee-e2cbcedfe92f--\n" }, "application/octet-stream": { "schema": { "type": "string", "format": "binary", "externalDocs": { "url": "https://www.convertapi.com/doc/content-types#applicationoctet-stream-1" } } } } }, "400": { "$ref": "#/components/responses/400" }, "401": { "$ref": "#/components/responses/401" }, "415": { "$ref": "#/components/responses/415" }, "500": { "$ref": "#/components/responses/500" }, "503": { "$ref": "#/components/responses/503" } }, "security": [ { "secret": [ ] }, { "token": [ ] }, { "jwt": [ ] } ] }, "x-ca-overview": "Convert PNG images into precise, scalable SVG vectors. Adjust color mode and palette size, layering strategy, curve fitting, corner threshold, segment length, speckle filtering, and gradient steps to balance quality and file size. Optionally set output width/height for consistent exports. Ideal for icons, UI assets, diagrams, and vectorizing raster art.", "x-ca-meta-title": "PNG to SVG Conversion API – Vectorize PNG to SVG", "x-ca-meta-description": "Convert PNG to SVG via API. Control colors, layers, curves, corners, speckle filtering, and size for crisp, lightweight vectors.", "x-ca-source-formats": "png", "x-ca-destination-formats": "svg", "x-ca-tags": [ "image" ] } }, "components": { "schemas": { "fileId": { "maxLength": 32, "minLength": 32, "type": "string", "description": "Uploaded File ID", "example": "25811safe8e61dd3f51ef00ee5f58b92" }, "error": { "type": "object", "properties": { "Code": { "type": "integer", "description": "Error message code", "format": "int32", "example": 4000 }, "Message": { "type": "string", "description": "Error message text", "example": "Parameter validation error." } }, "externalDocs": { "url": "https://www.convertapi.com/doc/response-codes" } } }, "responses": { "400": { "description": "Malformed request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "401": { "description": "Authentication error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "415": { "description": "File type error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "500": { "description": "Conversion failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "503": { "description": "Conversion rate limit error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } } }, "parameters": { "fileId": { "name": "fileId", "in": "path", "description": "File ID", "required": true, "schema": { "$ref": "#/components/schemas/fileId" } }, "src": { "name": "src", "in": "path", "description": "Source file format (docx, pdf, jpg etc.)", "required": true, "schema": { "type": "string" } }, "dst": { "name": "dst", "in": "path", "description": "Destination file format (docx, pdf, jpg etc.)", "required": true, "schema": { "type": "string" } } }, "headers": { "content-disposition": { "description": "File information ([docummentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition))", "schema": { "type": "string" } }, "file-name": { "description": "File name", "schema": { "type": "string" } }, "file-ext": { "description": "File name extension", "schema": { "type": "string" } }, "file-size": { "description": "File size", "schema": { "type": "integer" } } }, "securitySchemes": { "secret": { "type": "http", "description": "[Get `Secret`](https://www.convertapi.com/a/secret)", "scheme": "bearer" }, "token": { "type": "http", "description": "[Get `Token`](https://www.convertapi.com/a/api-tokens)", "scheme": "bearer" }, "jwt": { "type": "http", "description": "[Get `JWT`](https://www.convertapi.com/a/jwt-tokens)", "scheme": "bearer", "bearerFormat": "JWT" } } }, "tags": [ { "name": "Conversion", "description": "File Conversion API call", "externalDocs": { "description": "File Conversion related operations", "url": "https://www.convertapi.com/doc/content-types" } }, { "name": "File Server", "description": "ConvertAPI temporary file storage", "externalDocs": { "description": "File Server related operations", "url": "https://www.convertapi.com/doc/upload" } }, { "name": "User", "description": "API User", "externalDocs": { "description": "API User related operations", "url": "https://www.convertapi.com/doc/user" } } ], "externalDocs": { "description": "Find out more about ConvertAPI", "url": "https://www.convertapi.com/doc" } }