{
  "openapi": "3.0.4",
  "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/gif/to/pnm": {
      "summary": "GIF to PNM API",
      "description": "Convert GIF to PNM (PBM/PGM/PPM) on a white background, with resolution/DPI, scaling, width/height, and color handling.",
      "post": {
        "tags": [
          "Conversion"
        ],
        "externalDocs": {
          "description": "Read more about the converter",
          "url": "https://www.convertapi.com/gif-to-pnm"
        },
        "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": [
                      "gif"
                    ]
                  },
                  "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"
                  },
                  "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": "Convert GIF images to Portable Any Map (PNM) formats for simple, interoperable raster output (PBM/PGM/PPM). Use general image controls to set resolution (DPI), select scaling behavior, and define exact width/height for predictable results across inputs. Choose grayscale or RGB output as appropriate. Transparent areas are flattened onto white, since PNM has no alpha channel. Ideal for processing pipelines, testing, and archival workflows that require lightweight, uncompressed files with consistent characteristics.\n",
      "x-ca-overview-markdown": "Convert GIF images to Portable Any Map (PNM) formats for simple, interoperable raster output (PBM/PGM/PPM). Use general image controls to set resolution (DPI), select scaling behavior, and define exact width/height for predictable results across inputs. Choose grayscale or RGB output as appropriate. Transparent areas are flattened onto white, since PNM has no alpha channel. Ideal for processing pipelines, testing, and archival workflows that require lightweight, uncompressed files with consistent characteristics.",
      "x-ca-meta-title": "GIF to PNM Conversion API – Portable Any Map output",
      "x-ca-meta-description": "Convert GIF to PNM via API. Control resolution, scaling, dimensions, and color handling for PBM/PGM/PPM output.",
      "x-ca-keywords": "",
      "x-ca-source-formats": "gif",
      "x-ca-destination-formats": "pnm",
      "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"
  }
}