{ "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/webp": { "summary": "AI to WebP API", "description": "Serve Illustrator artwork as WebP for faster web pages, with pixel size, quality and color handling set in a single API call.", "post": { "tags": [ "Conversion" ], "externalDocs": { "description": "Read more about the converter", "url": "https://www.convertapi.com/ai-to-webp" }, "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": "WebP 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": "WebP 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": "AI is the file extension Adobe Illustrator uses, and no browser can display an .ai file directly. WebP is the image format built for the web, and its files are often much smaller than JPEG or PNG. The AI to WebP API renders the artwork into a WebP for a page, a CDN or an app bundle. ImageWidth and ImageHeight set the output size, and ScaleProportions keeps those two values in proportion by default. Switching it off forces the exact size. Both PDF-based and older PostScript-based .ai files are accepted.\nImageQuality (10-100) decides how hard the encoder compresses the picture. ColorSpace converts the colors to RGB, sRGB or gray before the encoder stores them. WebP has no CMYK mode, so CMYK input is converted to RGB on output. Try an .ai file on this page to compare the WebP size against your current images.\n", "x-ca-overview-markdown": "AI is the file extension Adobe Illustrator uses, and no browser can display an .ai file directly. WebP is the image format built for the web, and its files are often much smaller than JPEG or PNG. The AI to WebP API renders the artwork into a WebP for a page, a CDN or an app bundle. ImageWidth and ImageHeight set the output size, and ScaleProportions keeps those two values in proportion by default. Switching it off forces the exact size. Both PDF-based and older PostScript-based .ai files are accepted.\r\n\r\nImageQuality (10-100) decides how hard the encoder compresses the picture. ColorSpace converts the colors to RGB, sRGB or gray before the encoder stores them. WebP has no CMYK mode, so CMYK input is converted to RGB on output. Try an .ai file on this page to compare the WebP size against your current images.\r\n", "x-ca-meta-title": "AI to WebP Converter API - Illustrator Artwork to WebP", "x-ca-meta-description": "Convert AI to WebP and cut page weight. Illustrator artwork becomes a compact WebP at the quality you set, fitted to your target size and ready for a CDN.", "x-ca-keywords": "", "x-ca-source-formats": "ai", "x-ca-destination-formats": "webp", "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" } }