# Social media image sizes: dimensions and ratios
> Social media image sizes: exact ratio and pixels of each format, which size to use for every goal, and how to generate them all from one image with the API.
- URL: https://socialcutter.theboomer.dev/en/guides/medidas-redes-sociales/
- Idioma: en
- Familia: seo
- Actualizado: 2026-09-24
- Palabras clave: social media image sizes, social media dimensions, aspect ratio, centered crop, 1080x1080, 1080x1920, image API
## What this guide covers

SocialCutter takes one master image and returns a cropped version for each **destination**. A destination is a platform and format pair: `instagram` + `post`, `tiktok` + `cover`, `youtube` + `thumbnail`.

The API covers **6 platforms**, and this is the real response of `GET /api/v1/platforms`, the same table used by the web dashboard, the REST API and the MCP server. The pixels in the "Size" column are the exact dimensions of the output file, not a suggestion.

## Image sizes by platform

| Platform | Format | Aspect ratio | Size (pixels) | What it is for |
|---|---|---|---|---|
| Instagram | `post` | 1:1 | 1080x1080 | Square feed post |
| Instagram | `story` | 9:16 | 1080x1920 | Story and vertical video |
| Instagram | `landscape` | 1.91:1 | 1080x566 | Horizontal feed post |
| Facebook | `post` | 1.91:1 | 1200x630 | Timeline post and link card |
| Facebook | `story` | 9:16 | 1080x1920 | Vertical story |
| Facebook | `cover` | 2.63:1 | 820x312 | Page cover |
| X (Twitter) | `post` | 16:9 | 1200x675 | Image post in the timeline |
| X (Twitter) | `header` | 3:1 | 1500x500 | Profile header |
| LinkedIn | `post` | 1.91:1 | 1200x627 | Feed post |
| LinkedIn | `cover` | 5.9:1 | 1128x191 | Profile or page cover |
| YouTube | `thumbnail` | 16:9 | 1280x720 | Video thumbnail |
| YouTube | `banner` | 16:9 | 2560x1440 | Channel banner |
| TikTok | `cover` | 9:16 | 1080x1920 | Vertical video cover |

These are the sizes SocialCutter **generates**. They are not a copy of the networks' help pages: they are the real output catalogue of the API, and you can query it yourself at `https://api.socialcutter.theboomer.dev/api/v1/platforms`. If a network changes its upload requirements, always check its official help center before publishing.

You can print the table from the terminal:

```bash
curl -s "https://api.socialcutter.theboomer.dev/api/v1/platforms" | jq
```

## Which size to use for each goal

| Goal | Destination | Size and ratio |
|---|---|---|
| Square feed post | `instagram` + `post` | 1080x1080 (1:1) |
| Story or vertical video | `instagram` + `story`, `facebook` + `story` | 1080x1920 (9:16) |
| Horizontal timeline post | `twitter` + `post` | 1200x675 (16:9) |
| Post with a link card | `facebook` + `post`, `linkedin` + `post` | 1200x630 and 1200x627 (1.91:1) |
| X profile header | `twitter` + `header` | 1500x500 (3:1) |
| LinkedIn cover | `linkedin` + `cover` | 1128x191 (5.9:1) |
| YouTube video thumbnail | `youtube` + `thumbnail` | 1280x720 (16:9) |
| YouTube channel banner | `youtube` + `banner` | 2560x1440 (16:9) |
| TikTok video cover | `tiktok` + `cover` | 1080x1920 (9:16) |
| Image for a website or blog | no destination: use the master | Whatever the CMS needs |

If the goal is to cover the most slots at the lowest cost, the best pair is **1:1 + 9:16**: it covers the square feed and every vertical story and cover for 2 uses.

## There is no 4:5 in the catalogue

The 4:5 ratio is widely used in the Instagram feed, but **no 4:5 destination exists** in the API. There are two honest options:

1. **Crop the 4:5 separately.** At a width of 1080 pixels, an exact 4:5 measures 1080x1350. No destination produces it: crop it in your editor before or after.
2. **`contain` over `instagram` + `post`.** The whole image is fitted inside the 1:1 canvas and the gap is filled with `background_color`, without cropping anything from the original. The resulting file is still a 1080x1080 square: you gain the uncropped image, not a 4:5.

What you will not find is a `fit_mode` that turns a 1:1 into a 4:5. It does not exist.

## Generate every size from a single image

### From the web

1. Open the dashboard at https://dash.socialcutter.theboomer.dev.
2. Upload the master image (5 MB maximum) or paste its public URL.
3. Tick the destinations you need from the table above.
4. Pick the fit mode: `cover` to crop, `contain` to fit the whole image.
5. Download one image per destination from the history.

### From the API: one request, several sizes

```bash
curl -s -X POST "https://api.socialcutter.theboomer.dev/api/v1/images/process" \
  -H "X-API-Key: sc_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "source": { "type": "url", "value": "https://example.com/master.jpg" },
    "destinations": [
      { "platform": "instagram", "format": "post" },
      { "platform": "instagram", "format": "story" },
      { "platform": "linkedin", "format": "post" },
      { "platform": "youtube", "format": "thumbnail" }
    ],
    "options": { "fit_mode": "cover", "format": "webp", "quality": 85 }
  }' | jq
```

That request costs **4 uses** (1 per destination) and returns four URLs, one per destination, each with its platform, format and dimensions. For a local file, upload the binary as multipart:

```bash
curl -s -X POST "https://api.socialcutter.theboomer.dev/api/v1/images/process/upload" \
  -H "X-API-Key: sc_your_key" \
  -F "file=@./master.jpg" \
  -F 'destinations=[{"platform":"instagram","format":"post"},{"platform":"tiktok","format":"cover"}]' | jq
```

### From an LLM or agent (MCP)

With the MCP server connected you write no HTTP: ask "process this image for Instagram post, LinkedIn post and TikTok cover" and the model calls the `process_image` tool with those destinations. The MCP exposes 28 tools over the same API.

## Fit modes

| `fit_mode` | What it does |
|---|---|
| `cover` | Scales and crops the excess with a **centered crop**. This is the default. |
| `contain` | Fits the whole image and pads the gap with `background_color`. |
| `fill` | Stretches the image to fill the gap; it may distort it. |
| `stretch` | Forces the exact dimensions. |

None of the four analyses the image content. The `cover` crop is geometric and centered.

## Common mistakes

| Mistake | What actually happens | What to do |
|---|---|---|
| Uploading a 1:1 image where a 9:16 slot goes | The centered crop drops the top and bottom edges, or the framing is not what you expected | Request the `story` or `cover` destination (1080x1920) and check the framing before publishing |
| Text cut off at the edge | `cover` crops the excess from the center: whatever touches the edge is lost | Leave a margin around the text in the master, or use `contain` |
| Blurry image from upscaling | A small master upscaled to the YouTube banner (2560x1440) loses detail | Start from an original at least 2560 px wide for that destination; never request sizes larger than the master |
| 413 error on upload | The file is over 5 MB | Shrink the master or serve a lighter version over a URL |
| Expecting it to crop the important part | The image content is not analysed: nothing decides what matters | Frame the subject near the center of the master |
| Expecting the image to appear published | The API only generates files and returns URLs | Publish through the social network API, your CMS or your automation tool |

## What SocialCutter does not do

- **It is not a photo editor.** It does not fix colour or exposure, does not remove backgrounds, does not compose text over the image and does not retouch anything. It produces cropped and scaled versions of the image you give it.
- **It does not decide the framing.** The crop is centered and deterministic: the image content is not analysed, nothing decides which part matters.
- **It does not post to social networks.** It returns file URLs. Publishing belongs to the caller.
- **It does not accept files over 5 MB** on upload.

For retouching, compositing or montage, use a photo editor; for the exact size of each network, use SocialCutter.

## Next steps

- Automation: [Automating social media images: the 4 real paths](/en/guides/automatizar-imagenes-redes-sociales/)
- Terminal: [Process images with the API from the terminal (curl)](/en/guides/curl/)
- LLMs and editors: [Use SocialCutter from your LLM or editor with MCP](/en/guides/mcp/)
- No-code: [Automate image resizing with n8n](/en/guides/n8n/)
- WordPress: [Integrate SocialCutter with WordPress and WooCommerce](/en/guides/wordpress/)
- API reference: https://docs.socialcutter.theboomer.dev