{
  "slug": "social-image-resize",
  "name": "gizza-ai/social-image-resize",
  "version": "0.1.0",
  "title": "Social Image Resizer — gizza.ai",
  "description": "Resize and crop one image to Instagram, Facebook, X, LinkedIn, YouTube, Pinterest, or TikTok preset sizes in your browser.",
  "tags": [
    "social image resizer",
    "instagram image size",
    "twitter image size",
    "linkedin image size",
    "youtube thumbnail",
    "facebook cover",
    "crop",
    "resize"
  ],
  "category": "image",
  "urls": {
    "page": "https://gizza.ai/tools/social-image-resize/",
    "markdown": "https://gizza.ai/tools/social-image-resize/index.md",
    "descriptor": "https://gizza.ai/tools/social-image-resize/tool.json",
    "deep_link_example": "https://gizza.ai/tools/social-image-resize/?url=https://example.com/input&target=instagram-square&fit=cover&gravity=center&background=%23ffffff"
  },
  "cli": "gizza tool social-image-resize 'url=https://example.com/input' 'target=instagram-square' 'fit=cover' 'gravity=center' 'background=#ffffff'",
  "tool": {
    "description": "Resize and crop an image to a chosen social-media preset size: Instagram square/portrait/story, Facebook post/cover, X/Twitter post/header, LinkedIn post/cover, YouTube thumbnail, Pinterest pin, or TikTok vertical video. fit=cover (default) fills and crops, contain pads with background, and stretch forces exact dimensions. gravity controls top/center/bottom crop for cover. Output keeps the input image format and is generated by ffmpeg.",
    "parameters": {
      "additionalProperties": false,
      "oneOf": [
        {
          "required": [
            "url"
          ]
        },
        {
          "required": [
            "ref"
          ]
        }
      ],
      "properties": {
        "background": {
          "default": "white",
          "description": "Padding colour used when fit=contain, as #rgb, #rgba, #rrggbb, #rrggbbaa, or a plain colour name. Default white. Ignored for cover/stretch.",
          "type": "string"
        },
        "fit": {
          "default": "cover",
          "description": "How the source fills the target box: cover (default) scales up and crops overflow; contain scales down inside the box and pads with background; stretch forces the exact size and may distort.",
          "enum": [
            "cover",
            "contain",
            "stretch"
          ],
          "type": "string"
        },
        "gravity": {
          "default": "center",
          "description": "Which part to keep when fit=cover crops overflow: center (default), top, or bottom. Ignored for contain/stretch.",
          "enum": [
            "center",
            "top",
            "bottom"
          ],
          "type": "string"
        },
        "ref": {
          "description": "Reference id from a prior tool call. Use either url or ref.",
          "type": "string"
        },
        "target": {
          "default": "instagram-square",
          "description": "Social-media size preset. instagram-square=1080x1080, instagram-portrait=1080x1350, instagram-story=1080x1920, facebook-post=1200x630, facebook-cover=820x312, twitter-post=1600x900, twitter-header=1500x500, linkedin-post=1200x627, linkedin-cover=1584x396, youtube-thumbnail=1280x720, pinterest-pin=1000x1500, tiktok-video=1080x1920. Default instagram-square.",
          "enum": [
            "instagram-square",
            "instagram-portrait",
            "instagram-story",
            "facebook-post",
            "facebook-cover",
            "twitter-post",
            "twitter-header",
            "linkedin-post",
            "linkedin-cover",
            "youtube-thumbnail",
            "pinterest-pin",
            "tiktok-video"
          ],
          "type": "string"
        },
        "url": {
          "description": "Image URL (HTTP/HTTPS). Use either url or ref.",
          "type": "string"
        }
      },
      "type": "object"
    }
  }
}