{ "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/gif": { "summary": "JPG to GIF API", "description": "Convert JPG images to GIF, including animations from frames. Control persistence, delay, iterations, colors, resolution, scaling, and size.", "post": { "tags": [ "Conversion" ], "externalDocs": { "description": "Read more about the converter", "url": "https://www.convertapi.com/jpg-to-gif" }, "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "Files" ], "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" }, "Files": { "type": "array", "items": { "type": "string", "format": "binary" }, "description": "Files to be converted. Value can be URL or file content. If used in query or multipart content parameter must be suffixed with index e.g. Files[0], Files[1], Files[2]...", "x-ca-featured": true, "x-ca-label": "Files", "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" } }, "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": "Constrain proportions when scaling the output image.", "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" }, "PersistAnimation": { "type": "boolean", "description": "Read animation values AnimationIterations and AnimationDelay from GIF file. Only works if GIF file is added to file list.", "default": true, "x-ca-featured": false, "x-ca-label": "Read animation values", "x-ca-group": "Gif Output", "x-ca-type": "Bool", "x-ca-representation": "Default" }, "AnimationDelay": { "maximum": 20000, "minimum": 0, "type": "integer", "description": "Delay time, in 1/100 of a second, before displaying the next frame in an animated sequence. Default is 100 (1 second).", "default": 100, "x-ca-featured": false, "x-ca-label": "Animation delay", "x-ca-group": "Gif Output", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "0", "to": "20000" } }, "AnimationIterations": { "maximum": 1000, "minimum": 0, "type": "integer", "description": "Set the number of iterations to loop an animation. Zero is infinity.", "default": 0, "x-ca-featured": false, "x-ca-label": "Animation iterations", "x-ca-group": "Gif Output", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "0", "to": "1000" } } } } } } }, "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 JPG images to GIF, including animated GIF output when multiple frames are provided. Fine‑tune playback with frame persistence (keep last frame), per‑frame delay, and total animation iterations to meet UX or platform guidelines. Use general image controls to set resolution (DPI), scaling behavior, and explicit width/height for consistent rendering across devices. Adjust color handling to balance palette size and visual fidelity while keeping file size small. Ideal for UI previews, messaging, and web delivery where broad GIF support is required.", "x-ca-meta-title": "JPG to GIF Conversion API – Create animated GIFs.", "x-ca-meta-description": "Convert JPG to GIF via API. Create animated GIFs and control frame persistence, delay, iterations, colors, resolution, scaling, and dimensions.", "x-ca-source-formats": "jpg,jpeg", "x-ca-destination-formats": "gif", "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" } }