{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/changethisfile-com/json-schema/changethisfile-com-conversion-request-schema.json",
  "title": "ConversionRequest",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/changethisfile-com-openapi.yml#/components/schemas/ConversionRequest",
  "type": "object",
  "required": [
    "file",
    "target"
  ],
  "properties": {
    "file": {
      "type": "string",
      "format": "binary",
      "description": "The file to convert. Maximum size depends on your plan (25 MB on Free, up to 5 GB on Growth)."
    },
    "target": {
      "type": "string",
      "description": "Target format extension, case-insensitive (e.g. `jpg`, `pdf`, `mp4`). The only field most callers ever need."
    },
    "source": {
      "type": "string",
      "description": "Source format extension. **Optional** — auto-detected from the filename extension and (if needed) magic bytes. Pass it explicitly only when you have a renamed file or need to force a specific interpretation.\n"
    },
    "quality": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Optional quality preset (1-100). Applies to lossy image, video, and audio routes. Ignored by lossless and document routes."
    }
  }
}