# Checklist before publishing an image on social media
> A pre-publish checklist: exact size per destination, ratio, weight, format and text still readable after the centered crop. Copy it and tick it off.
- URL: https://socialcutter.theboomer.dev/en/guides/checklist-imagenes-redes-sociales/
- Idioma: en
- Familia: seo
- Actualizado: 2026-09-24
- Palabras clave: social media image checklist, check image before publishing, exact size per destination, image file weight, text readable after crop, mobile review
## What this list is and how to use it

This is the review you run **before** publishing, not after. It is meant to be printed or copied: six blocks of checkboxes, a sizes table and an errors table. You do not need to know anything about the product that generates the images to use it, although the end explains how to get every size at once if you work from one master.

The underlying rule: **one master image, one exact size per destination**. A destination is a platform and format pair (`instagram` + `post`, `youtube` + `thumbnail`, `tiktok` + `cover`). If that pair is not fixed before designing, the review is useless because there is no size to check against.

## Sizes, ratios, formats and target weight

| Destination | Ratio | Exact size | Recommended format | Target weight |
|---|---|---|---|---|
| `instagram` `post` | 1:1 | 1080x1080 | JPG or WebP | under 200 KB |
| `instagram` `story` | 9:16 | 1080x1920 | JPG or WebP | under 300 KB |
| `instagram` `landscape` | 1.91:1 | 1080x566 | JPG or WebP | under 200 KB |
| `facebook` `post` | 1.91:1 | 1200x630 | JPG or WebP | under 200 KB |
| `facebook` `story` | 9:16 | 1080x1920 | JPG or WebP | under 300 KB |
| `facebook` `cover` | 2.63:1 | 820x312 | JPG or WebP | under 150 KB |
| `twitter` `post` | 16:9 | 1200x675 | JPG or WebP | under 200 KB |
| `twitter` `header` | 3:1 | 1500x500 | JPG or WebP | under 300 KB |
| `linkedin` `post` | 1.91:1 | 1200x627 | JPG or WebP | under 200 KB |
| `linkedin` `cover` | 5.9:1 | 1128x191 | JPG or WebP | under 150 KB |
| `youtube` `thumbnail` | 16:9 | 1280x720 | JPG | under 500 KB |
| `youtube` `banner` | 16:9 | 2560x1440 | JPG | under 1 MB |
| `tiktok` `cover` | 9:16 | 1080x1920 | JPG or WebP | under 300 KB |

The pixels and ratios are the exact dimensions of the output file in the catalogue (6 platforms, 13 destinations) and you can query them yourself at `GET https://api.socialcutter.theboomer.dev/api/v1/platforms`. The **target weight column is our recommendation** for loading speed, not a network limit: every platform sets its own upload limits and changes them over time, so check the network's official help center before automating.

The default output format is WebP at quality 85 out of 100. PNG for fine text, logos and transparency; JPG or WebP for photos. The detail is in [PNG, JPG or WebP: which format to use on each network](/en/guides/formatos-redes-sociales/), and the full table with every destination is in [Social media image sizes: dimensions and ratios](/en/guides/medidas-redes-sociales/).

## Block 1 — The master image

- [ ] The master is the **uncropped** original.
- [ ] The main subject sits near the center (the crop is centered; nothing decides which part matters).
- [ ] There is a margin around text and logos.
- [ ] If you request the YouTube banner, the master is at least **2560 px wide**.
- [ ] The master is under **5 MB** (the upload limit) and is a raster image (JPG, PNG or WebP).
- [ ] The master is archived separately: outputs are generated from it, never the other way round.

## Block 2 — The exact size and ratio

- [ ] Every piece has the **exact size** from the table, not a close one.
- [ ] Every piece has the destination ratio (1:1, 9:16, 16:9, 1.91:1, 2.63:1, 3:1 or 5.9:1).
- [ ] You did not request a 4:5: there is **no 4:5 destination** in the catalogue; portrait is 9:16.
- [ ] You did not upscale a small output to a bigger size (a 1080x1080 blown up to the 2560x1440 banner loses detail).
- [ ] The file name states platform, format and date.

## Block 3 — The text survives the centered crop

- [ ] All the text fits inside the frame and is readable **without zooming**.
- [ ] No text, button or logo touches the edge: with `cover` the crop trims evenly on both sides and whatever sat at the edge is lost.
- [ ] In stories and portrait covers (9:16), text stays away from the top and bottom: the network interface covers those areas.
- [ ] If you do not want any cropping, you considered `contain` with `background_color` instead of `cover` (the output keeps the destination size anyway).
- [ ] You compared every output with the master, one by one.

## Block 4 — Weight and format

- [ ] Every output is within the target weight from the table.
- [ ] Pieces with transparency come out as PNG; photos as JPG or WebP.
- [ ] You did not drop `quality` below 80 on a photo (visible artefacts).
- [ ] If a file is too heavy, you generated again with `quality` 80-85 before touching the design.
- [ ] You know which upload formats the network you publish to accepts.

## Block 5 — The mobile check

- [ ] You opened the piece **on a real phone**, not only on a monitor.
- [ ] The text reads at normal brightness with no zoom.
- [ ] The subject is not cut off or off-centre in the network preview.
- [ ] The YouTube thumbnail is still recognisable at a small size (it is displayed far smaller than 1280x720).
- [ ] The piece loads fast on mobile data.
- [ ] You checked the piece in the network's own preview, not just in your gallery.

## Block 6 — Before you hit publish

- [ ] The destination size is still current in the network's help center (they change).
- [ ] Every asset has **alt text** and a description.
- [ ] The usage rights for the image are clear.
- [ ] There is one version per destination for every network in the campaign, generated from the same request.
- [ ] You know generation **does not publish**: it returns file URLs and publishing is up to you or your tool.
- [ ] The outputs and the master sit in a folder dated to the campaign.

## How to generate every destination at once

If you publish on several networks, do not repeat the work image by image. Prepare one master and request every destination in a single call.

### From the web

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

### With a single API request

```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://your-cdn.com/master.jpg" },
    "destinations": [
      { "platform": "instagram", "format": "post" },
      { "platform": "instagram", "format": "story" },
      { "platform": "facebook", "format": "post" },
      { "platform": "twitter", "format": "post" },
      { "platform": "linkedin", "format": "post" },
      { "platform": "youtube", "format": "thumbnail" },
      { "platform": "tiktok", "format": "cover" }
    ],
    "options": { "fit_mode": "cover", "format": "jpg", "quality": 85 }
  }' > sc.json

jq -r '.outputs[] | "\(.platform)/\(.format) \(.width)x\(.height) \(.size_bytes) bytes \(.url)"' sc.json
```

Every output carries `url`, `width`, `height` and `size_bytes`: that fills in the boxes in block 2 and block 4 without opening each file. For a local master, upload the binary with `POST /api/v1/images/process/upload` (multipart, `file` field). For a whole campaign, `POST /api/v1/images/batch`.

Two scope notes: `format` and `quality` are **request** options, not destination ones; if you need PNG for one output and JPG for another, that is two requests. And the `cover` crop is centered and deterministic: the image content is not analysed.

### From an LLM or an agent (MCP)

With the MCP server connected you write no HTTP: ask "generate every destination of this campaign from this master" and the model calls the tool with those destinations. The MCP exposes 28 tools over the same API.

## Cost

- **1 use per destination** (platform and format) per request; duplicate destinations in the same request are not charged twice.
- The full 13-destination checklist costs 13 uses; a campaign across 4 networks with 4 destinations costs 4 uses.
- Failed processing jobs are refunded.
- Reviewing costs nothing: if a box fails you fix the master and generate again; only the generation counts.

## Typical errors

| Symptom | Cause | What to do |
|---|---|---|
| The piece does not fit the network | It was published at a size that was merely close | Use the table size; the catalogue gives the exact output dimensions |
| Text cut off at the edge | `cover` trims from the center and the edge is lost | Leave a margin in the master or use `contain` |
| Text unreadable on mobile | Design made for a monitor | Check on a phone before scheduling |
| Blurry image on large screens | A small output upscaled to a bigger size | Start from a master at least as wide as the biggest destination |
| File too heavy | High `quality` or PNG on a photo | Drop `quality` to 80-85 or switch to JPG/WebP |
| 413 error on upload | The master is over 5 MB | Shrink the master or serve a lighter version over a URL |
| You expect the image to appear published | The API only generates files and returns URLs | Publish through the network API, your CMS or your automation tool |
| The network rejects the upload | The format is not one it accepts | Check its help center and generate JPG or PNG |

## Next steps

- Sizes: [Social media image sizes: dimensions and ratios](/en/guides/medidas-redes-sociales/)
- Formats: [PNG, JPG or WebP: which format to use on each network](/en/guides/formatos-redes-sociales/)
- Automation: [Automating social media images: the 4 real paths](/en/guides/automatizar-imagenes-redes-sociales/)
- WordPress: [Integrate SocialCutter with WordPress and WooCommerce](/en/guides/wordpress/)
- Shopify: [Integrate SocialCutter with the Shopify Admin API](/en/guides/shopify/)
- API reference: https://docs.socialcutter.theboomer.dev