{
  "id": "image.convert_any",
  "object": "tool",
  "name": "Convert any image",
  "summary": "HEIC, RAW, PSD, TIFF and more.",
  "description": "Converts images the Worker can't read: HEIC/HEIF, camera RAW (CR2, NEF, ARW, DNG and others via dcraw), PSD, TIFF, BMP, ICO, TGA, JPEG XL, JPEG 2000, EXR, SVG and EPS, to PNG, JPEG, WebP, AVIF, TIFF, GIF, BMP, ICO, PDF, JPEG XL or HEIC. Optional resize (never upscales) and metadata stripping.",
  "category": "images",
  "hosted_by": "Opentools",
  "runtime": "container",
  "side_effects": false,
  "status": "live",
  "credits": 2,
  "price": "$0.0020",
  "providers": [
    {
      "id": "opentools",
      "name": "Opentools",
      "price": "$0.0020"
    }
  ],
  "mcp_name": "image_convert_any",
  "input_schema": {
    "type": "object",
    "properties": {
      "file": {
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri",
                "description": "Public http(s) URL of the file"
              }
            },
            "required": [
              "url"
            ]
          },
          {
            "type": "object",
            "properties": {
              "file_id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
                "description": "An id returned by POST /v1/files"
              }
            },
            "required": [
              "file_id"
            ]
          },
          {
            "type": "object",
            "properties": {
              "base64": {
                "type": "string",
                "description": "Base64-encoded file bytes (up to 10 MB)"
              },
              "name": {
                "type": "string",
                "description": "File name, e.g. invoice.pdf"
              },
              "content_type": {
                "type": "string"
              }
            },
            "required": [
              "base64",
              "name"
            ]
          },
          {
            "type": "object",
            "properties": {
              "connection": {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "description": "A storage connection id or name (see storage.connections)"
              },
              "path": {
                "type": "string",
                "minLength": 1,
                "maxLength": 1024,
                "description": "Path of the file in that connection, e.g. reports/q3.pdf"
              }
            },
            "required": [
              "connection",
              "path"
            ]
          }
        ],
        "x-file": true,
        "description": "The image"
      },
      "to": {
        "type": "string",
        "enum": [
          "png",
          "jpg",
          "webp",
          "avif",
          "tiff",
          "gif",
          "bmp",
          "ico",
          "pdf",
          "jxl",
          "heic"
        ],
        "description": "Output format"
      },
      "quality": {
        "default": 85,
        "description": "Quality for lossy formats, 1-100",
        "type": "integer",
        "minimum": 1,
        "maximum": 100
      },
      "width": {
        "description": "Fit within this width",
        "type": "integer",
        "minimum": 1,
        "maximum": 20000
      },
      "height": {
        "description": "Fit within this height",
        "type": "integer",
        "minimum": 1,
        "maximum": 20000
      },
      "strip": {
        "default": false,
        "description": "Drop EXIF, GPS and other metadata",
        "type": "boolean"
      }
    },
    "required": [
      "file",
      "to"
    ]
  },
  "kind": "tool"
}