{
  "service": "imgbb",
  "displayName": "ImgBB",
  "categories": [
    "Design & Media",
    "Storage"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "imgbb_api_key",
      "description": "ImgBB API key sent as the key query parameter on the upload endpoint. Get or view it on the official API page: https://api.imgbb.com/."
    }
  ],
  "homepageUrl": "https://imgbb.com",
  "actions": [
    {
      "id": "imgbb.upload_image",
      "service": "imgbb",
      "name": "upload_image",
      "description": "Upload one image to ImgBB from a public URL or Base64 content and return the hosted image metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "imageUrl": {
            "type": "string",
            "description": "The public image URL to upload to ImgBB.",
            "format": "uri"
          },
          "contentBase64": {
            "type": "string",
            "minLength": 1,
            "description": "The Base64-encoded image bytes to upload to ImgBB."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The optional file name to associate with the upload."
          },
          "expiration": {
            "type": "integer",
            "minimum": 60,
            "maximum": 15552000,
            "description": "The number of seconds after which ImgBB should automatically delete the upload."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for uploading one image to ImgBB.",
        "oneOf": [
          {
            "required": [
              "imageUrl"
            ]
          },
          {
            "required": [
              "contentBase64"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "upload": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The ImgBB upload identifier."
              },
              "title": {
                "type": "string",
                "description": "The upload title returned by ImgBB."
              },
              "viewerUrl": {
                "type": "string",
                "description": "The ImgBB viewer page URL.",
                "format": "uri"
              },
              "imageUrl": {
                "type": "string",
                "description": "The direct ImgBB image URL.",
                "format": "uri"
              },
              "displayUrl": {
                "type": "string",
                "description": "The display-sized ImgBB image URL.",
                "format": "uri"
              },
              "width": {
                "type": "integer",
                "description": "The uploaded image width in pixels."
              },
              "height": {
                "type": "integer",
                "description": "The uploaded image height in pixels."
              },
              "sizeBytes": {
                "type": "integer",
                "description": "The uploaded image size in bytes."
              },
              "uploadedAtUnix": {
                "type": "integer",
                "description": "The Unix timestamp when ImgBB stored the image."
              },
              "expirationSeconds": {
                "type": "integer",
                "description": "The automatic deletion period in seconds, or 0 when the upload does not expire."
              },
              "image": {
                "type": "object",
                "properties": {
                  "filename": {
                    "type": "string",
                    "description": "The file name returned by ImgBB for this image variant."
                  },
                  "name": {
                    "type": "string",
                    "description": "The base image name returned by ImgBB for this image variant."
                  },
                  "mimeType": {
                    "type": "string",
                    "description": "The MIME type returned by ImgBB for this image variant."
                  },
                  "extension": {
                    "type": "string",
                    "description": "The file extension returned by ImgBB for this image variant."
                  },
                  "url": {
                    "type": "string",
                    "description": "The hosted ImgBB URL for this image variant.",
                    "format": "uri"
                  }
                },
                "additionalProperties": false,
                "description": "The original uploaded image variant."
              },
              "thumb": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "filename": {
                        "type": "string",
                        "description": "The file name returned by ImgBB for this image variant."
                      },
                      "name": {
                        "type": "string",
                        "description": "The base image name returned by ImgBB for this image variant."
                      },
                      "mimeType": {
                        "type": "string",
                        "description": "The MIME type returned by ImgBB for this image variant."
                      },
                      "extension": {
                        "type": "string",
                        "description": "The file extension returned by ImgBB for this image variant."
                      },
                      "url": {
                        "type": "string",
                        "description": "The hosted ImgBB URL for this image variant.",
                        "format": "uri"
                      }
                    },
                    "additionalProperties": false,
                    "description": "The thumbnail image variant returned by ImgBB when available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "medium": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {
                      "filename": {
                        "type": "string",
                        "description": "The file name returned by ImgBB for this image variant."
                      },
                      "name": {
                        "type": "string",
                        "description": "The base image name returned by ImgBB for this image variant."
                      },
                      "mimeType": {
                        "type": "string",
                        "description": "The MIME type returned by ImgBB for this image variant."
                      },
                      "extension": {
                        "type": "string",
                        "description": "The file extension returned by ImgBB for this image variant."
                      },
                      "url": {
                        "type": "string",
                        "description": "The hosted ImgBB URL for this image variant.",
                        "format": "uri"
                      }
                    },
                    "additionalProperties": false,
                    "description": "The medium-sized image variant returned by ImgBB when available."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "deleteUrl": {
                "type": "string",
                "description": "The ImgBB delete URL for this upload.",
                "format": "uri"
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "title",
              "viewerUrl",
              "imageUrl",
              "displayUrl",
              "width",
              "height",
              "sizeBytes",
              "uploadedAtUnix",
              "expirationSeconds",
              "image",
              "deleteUrl"
            ],
            "description": "The normalized ImgBB upload record."
          }
        },
        "additionalProperties": false,
        "description": "The output payload for uploading an image to ImgBB."
      }
    }
  ]
}
