{ "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/jpg/to/svg": { "summary": "JPG to SVG API", "description": "Convert JPEG (JPG) images to precise SVG vectors with controls for colors, layers, curves, corners, speckle filtering, and output size.", "post": { "tags": [ "Conversion" ], "externalDocs": { "description": "Read more about the converter", "url": "https://www.convertapi.com/jpg-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": [ "jpg", "jpeg" ] }, "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": "\n * `none` - None\n * `detailed` - High Detail Precision\n * `crisp` - Sharp Edges and Lines\n * `graphic` - Complex Graphic Elements\n * `illustration` - Illustration\n * `noisyScan` - Noisy Scan", "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.\n * `color` - Color\n * `bw` - Black and White", "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.\n * `cutout` - Cutout\n * `stacked` - Stacked", "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": "\n * `pixel` - Pixel\n * `polygon` - Polygon\n * `spline` - Spline", "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 JPEG (JPG) images into precise, scalable SVG vectors. Tune color mode and palette size, layering strategy, curve fitting, corner threshold, segment length, speckle filtering, and gradient steps to balance visual fidelity and file size. Optionally set output width/height for consistent results. Ideal for logos, icons, diagrams, and vectorizing raster art.", "x-ca-meta-title": "JPG to SVG Conversion API – Vectorize JPEG to SVG.", "x-ca-meta-description": "Convert JPG to SVG via API. Control colors, layers, curves, corners, speckle filtering, and size for crisp, lightweight vectors.", "x-ca-source-formats": "jpg,jpeg", "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" } }