{
  "slug": "video-crop",
  "name": "gizza-ai/video-crop",
  "version": "0.1.0",
  "title": "Crop a Video Online — gizza.ai",
  "description": "Crop a video to any rectangle in your browser — set width, height, and an optional x/y offset (centered by default). Re-encodes locally with ffmpeg, free.",
  "tags": [
    "video",
    "crop",
    "trim edges",
    "aspect ratio",
    "ffmpeg",
    "resize video"
  ],
  "category": "video",
  "urls": {
    "page": "https://gizza.ai/tools/video-crop/",
    "markdown": "https://gizza.ai/tools/video-crop/index.md",
    "descriptor": "https://gizza.ai/tools/video-crop/tool.json",
    "deep_link_example": "https://gizza.ai/tools/video-crop/?url=https://example.com/input&width=640&height=360"
  },
  "cli": "gizza tool video-crop 'url=https://example.com/input' 'width=640' 'height=360'",
  "tool": {
    "description": "Crop a video to a width x height rectangle. Optionally give x/y for the top-left offset (in pixels); without them the crop is centered. Provide the video as either url (HTTP/HTTPS) or ref (id from a prior tool call). Note: runs on the standalone page and the CLI (chat ffmpeg is unavailable).",
    "parameters": {
      "additionalProperties": false,
      "oneOf": [
        {
          "required": [
            "url"
          ]
        },
        {
          "required": [
            "ref"
          ]
        }
      ],
      "properties": {
        "height": {
          "description": "Crop height in pixels.",
          "minimum": 1,
          "type": "integer"
        },
        "ref": {
          "description": "Reference id from a prior tool call. Use either url or ref.",
          "type": "string"
        },
        "url": {
          "description": "Video URL (HTTP/HTTPS). Use either url or ref.",
          "type": "string"
        },
        "width": {
          "description": "Crop width in pixels.",
          "minimum": 1,
          "type": "integer"
        },
        "x": {
          "description": "Left offset of the crop in pixels (default: centered).",
          "minimum": 0,
          "type": "integer"
        },
        "y": {
          "description": "Top offset of the crop in pixels (default: centered).",
          "minimum": 0,
          "type": "integer"
        }
      },
      "required": [
        "width",
        "height"
      ],
      "type": "object"
    }
  }
}