{
  "slug": "video-aspect-pad",
  "name": "gizza-ai/video-aspect-pad",
  "version": "0.1.0",
  "title": "Pad a Video to an Aspect Ratio Online — Letterbox to 9:16, 1:1, 16:9 — gizza.ai",
  "description": "Letterbox or pillarbox a video to 9:16, 1:1, 16:9 or any preset ratio with colored bars or a blurred background — free, in your browser, nothing is uploaded.",
  "tags": [
    "video aspect ratio",
    "letterbox",
    "pillarbox",
    "pad video",
    "9:16",
    "reels",
    "shorts",
    "blur background",
    "ffmpeg"
  ],
  "category": "video",
  "urls": {
    "page": "https://gizza.ai/tools/video-aspect-pad/",
    "markdown": "https://gizza.ai/tools/video-aspect-pad/index.md",
    "descriptor": "https://gizza.ai/tools/video-aspect-pad/tool.json",
    "deep_link_example": "https://gizza.ai/tools/video-aspect-pad/?url=https://example.com/input&aspect=9%3A16&blur=true&quality=medium"
  },
  "cli": "gizza tool video-aspect-pad 'url=https://example.com/input' 'aspect=9:16' 'blur=true' 'quality=medium'",
  "tool": {
    "description": "Letterbox or pillarbox a video to a target aspect ratio — e.g. pad a landscape clip to 9:16 for Reels/Shorts/TikTok or to 1:1 for a feed post. The whole frame is kept (scaled to fit, never cropped or stretched) and centered on the target canvas; the rest is filled with a solid bar color, or with a blurred zoomed copy of the video itself (blur=true). Output is exactly the platform-standard canvas for the chosen aspect (1080x1920 for 9:16, 1080x1080 for 1:1, 1920x1080 for 16:9, ...) unless width sets a custom size. Provide the video as either url (HTTP/HTTPS) or ref. Video re-encodes as H.264 at the chosen quality tier (CRF 18/23/28); audio is stream-copied when the target container is MP4/MOV/MKV/M4V, re-encoded to AAC when converting to MP4; MP4/MOV get +faststart for instant social streaming. Note: runs on the standalone page and the CLI (chat ffmpeg is unavailable).",
    "parameters": {
      "additionalProperties": false,
      "oneOf": [
        {
          "required": [
            "url"
          ]
        },
        {
          "required": [
            "ref"
          ]
        }
      ],
      "properties": {
        "aspect": {
          "default": "9:16",
          "description": "Target aspect ratio (width:height). 9:16 Reels/Shorts/TikTok, 1:1 square feed, 16:9 YouTube, 4:5 Instagram portrait, 3:2 classic photo, 2:3 Pinterest, 21:9 cinematic. Default 9:16.",
          "enum": [
            "9:16",
            "1:1",
            "16:9",
            "4:5",
            "3:4",
            "4:3",
            "3:2",
            "2:3",
            "21:9"
          ],
          "type": "string"
        },
        "blur": {
          "default": false,
          "description": "Fill the bars with a blurred, zoomed copy of the video instead of a solid color (the TV-news portrait look). Default false.",
          "type": "boolean"
        },
        "color": {
          "default": "black",
          "description": "Bar color: a CSS color name (black, white, navy, ...) or hex like #1A2B3C or #f0f. Default black. Ignored when blur=true.",
          "type": "string"
        },
        "quality": {
          "default": "medium",
          "description": "Encoding quality: high (CRF 18, bigger file), medium (CRF 23, balanced), low (CRF 28, smaller file). Default medium.",
          "enum": [
            "high",
            "medium",
            "low"
          ],
          "type": "string"
        },
        "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": "Output width in pixels (even, 16-4096); height follows the aspect ratio. Omit for the platform-standard canvas (1080x1920 for 9:16, 1920x1080 for 16:9, ...).",
          "maximum": 4096,
          "minimum": 16,
          "type": "integer"
        }
      },
      "type": "object"
    }
  }
}