{ "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/ai/to/svg": { "summary": "AI to SVG API", "description": "Convert .ai files to an SVG that browsers and CMSs accept, rendered to fit the size you set and ready to upload.", "post": { "tags": [ "Conversion" ], "externalDocs": { "description": "Read more about the converter", "url": "https://www.convertapi.com/ai-to-svg" }, "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "File" ], "type": "object", "properties": { "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": [ "ai" ] }, "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" } }, "ImageResolution": { "maximum": 800, "minimum": 10, "type": "integer", "description": "Set output image resolution in dpi.", "default": 200, "x-ca-featured": false, "x-ca-label": "Image resolution", "x-ca-group": "Image", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "10", "to": "800" } }, "ScaleImage": { "type": "boolean", "description": "Scale the output image. If ScaleImage is False output document will be stripped to ImageHeight / ImageWidth, if ScalePage is True output document will be scaled to ImageHeight / ImageWidth.", "default": true, "x-ca-featured": false, "x-ca-label": "Scale image", "x-ca-group": "Image", "x-ca-type": "Bool", "x-ca-representation": "Default" }, "ScaleProportions": { "type": "boolean", "description": "If set to true, the barcode will be generated using recommended proportions based on the larger dimension.", "default": true, "x-ca-featured": false, "x-ca-label": "Scale Proportions", "x-ca-group": "Image", "x-ca-type": "Bool", "x-ca-representation": "Default" }, "ScaleIfLarger": { "type": "boolean", "description": "Scaling only if the input image is larger than the output.", "default": false, "x-ca-featured": false, "x-ca-label": "Scale if larger", "x-ca-group": "Image", "x-ca-type": "Bool", "x-ca-representation": "Default" }, "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" } }, "ImageInterpolation": { "type": "boolean", "description": "Specifies whether the image parser should use image interpolation. Enabling image interpolation will result in higher quality for scaled images at the expense of speed.", "default": false, "x-ca-featured": false, "x-ca-label": "Image interpolation", "x-ca-group": "Image", "x-ca-type": "Bool", "x-ca-representation": "Default" }, "ColorSpace": { "enum": [ "default", "rgb", "srgb", "cmyk", "gray" ], "type": "string", "description": "Set image color space.", "default": "default", "x-ca-featured": false, "x-ca-label": "Image color space", "x-ca-group": "Svg Output", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "default": "Default", "rgb": "RGB", "srgb": "sRGB", "cmyk": "CMYK", "gray": "Gray" } }, "ImageQuality": { "maximum": 100, "minimum": 10, "type": "integer", "description": "Set output image quality.", "default": 75, "x-ca-featured": false, "x-ca-label": "Output image quality", "x-ca-group": "Svg Output", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "10", "to": "100" } }, "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" } } } } } }, "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": "An .ai file holds Adobe Illustrator vector artwork that browsers, CMSs and most web software cannot display. Many upload forms and content systems accept SVG files but not Illustrator files. The AI to SVG converter renders the first page of the artwork and packages that bitmap inside an SVG file. The SVG carries the rendered image, not re-traced paths, so it gains no detail when a page scales it up. ImageWidth and ImageHeight give a target box that the render is scaled to fit.\nScaleProportions is on by default and keeps the aspect ratio, so two dimensions act as a bounding box. Turn it off when the SVG must be exactly the width and height given. ColorSpace switches the embedded image to RGB, sRGB or gray. The result opens in browsers and in tools that accept SVG files with embedded raster images. Run an AI to SVG conversion on this page before you integrate it.\n", "x-ca-overview-markdown": "An .ai file holds Adobe Illustrator vector artwork that browsers, CMSs and most web software cannot display. Many upload forms and content systems accept SVG files but not Illustrator files. The AI to SVG converter renders the first page of the artwork and packages that bitmap inside an SVG file. The SVG carries the rendered image, not re-traced paths, so it gains no detail when a page scales it up. ImageWidth and ImageHeight give a target box that the render is scaled to fit.\r\n\r\nScaleProportions is on by default and keeps the aspect ratio, so two dimensions act as a bounding box. Turn it off when the SVG must be exactly the width and height given. ColorSpace switches the embedded image to RGB, sRGB or gray. The result opens in browsers and in tools that accept SVG files with embedded raster images. Run an AI to SVG conversion on this page before you integrate it.\r\n", "x-ca-meta-title": "AI to SVG Converter API - Illustrator Files to SVG for the Web", "x-ca-meta-description": "Convert AI to SVG when a site or CMS only accepts SVG uploads. The artwork is rendered, fitted to the size you set and packaged as an SVG file.", "x-ca-keywords": "", "x-ca-source-formats": "ai", "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" } }