# Canva + SocialCutter: one design, every size
> How Canva and SocialCutter fit together: Canva designs and exports the PNG or JPG; SocialCutter generates every network's exact size. We do not replace Canva.
- URL: https://socialcutter.theboomer.dev/en/guides/canva/
- Idioma: en
- Familia: cms
- Actualizado: 2026-09-24
- Palabras clave: Canva, design, export image, social media sizes, automation, SocialCutter, Connect API
## The split of roles

It is worth stating up front, because it is the part most often misunderstood: **Canva designs; SocialCutter measures.** Canva is where you build the creative, choose typefaces, place the product and decide the framing. SocialCutter comes after: it takes that already exported design and returns, in a single request, a version at the exact size of every destination in the catalogue.

We do not edit the design, do not composite it, do not modify it and have no intention of replacing Canva. We do not analyse the content either: the crop is centered and deterministic, with no subject or face detection. If the framing matters, it is decided in Canva or adjusted with the fit mode.

## Canva as the source: two ways to get the design out

### Manual export

This is the most used route and needs nothing special:

1. Finish the design in Canva.
2. Export it as **PNG** (for transparency, fine text or logos) or **JPG** (for a photo or a creative with a filled background).
3. Choose the largest size your export allows.
4. Download the file and process it with SocialCutter.

Always export as large as you can, with the subject near the center: SocialCutter's crop is centred, so a well-centred master gives better results in every ratio. The YouTube banner (2560x1440) requires an original at least 2560 pixels wide.

### Export through the API (Connect API)

When you have access to the Canva Connect API, the export can be automated. The documented pattern is always the same: you **create an export job** passing the design id and the output format, the job is **asynchronous**, you **poll its status** until it finishes and, when it does, it returns **temporary download URLs** for the generated files. Those URLs are the `source` you hand to SocialCutter.

The exact endpoint names, the accepted formats and the scopes are set by Canva and change with their API versions. Always confirm them in the official documentation: [Canva Connect APIs](https://www.canva.dev/docs/connect/). We do not invent endpoint names here: if your plan does not include Connect API access, the manual export covers the flow just as well.

## Process the design with SocialCutter

With the exported file in hand (or its URL), the call is the same for any source:

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

Swapping `-F "file=@..."` for a JSON body with a `url` `source` works if you prefer to pass the temporary URL Canva returned. The response carries an `outputs` array with `platform`, `format`, `url`, `width`, `height` and `size_bytes`: one output per destination. The exact dimensions of each are in [Social media image sizes: dimensions and ratios](/en/guides/medidas-redes-sociales/).

## What the flow buys you over exporting by hand

- **One design, several destinations.** Instead of exporting three times from Canva and adjusting by hand, you ask for the destination list in one request.
- **Exact pixels.** The output is not "close to": it is the catalogue size (1080x1080, 1080x1920, 1200x627...).
- **Scriptable.** It chains behind an API export, a watched folder or a CMS. The patterns are collected in [Automating social media images: 4 real paths](/en/guides/automatizar-imagenes-redes-sociales/).
- **Output format of your choice.** WebP by default, or PNG and JPG when the destination prefers them; the criteria are in [PNG, JPG or WebP: which format to use on each network](/en/guides/formatos-redes-sociales/).

## How the result gets into a CMS

Canva covers the design, but most flows end up publishing on a website. The correctly sized result is uploaded to the CMS media library: Webflow and its Media API, Ghost with the featured image, or WordPress and WooCommerce with the media library.

- [Upload images to Webflow and use SocialCutter](/en/guides/webflow/)
- [Upload images to Ghost and publish the right post](/en/guides/ghost/)
- [Integrate SocialCutter with WordPress and WooCommerce](/en/guides/wordpress/)

## The 9:16 case when you design in 1:1

Designing square is the easiest thing in Canva, but stories and vertical covers are 9:16 (1080x1920). If you ask SocialCutter for an `instagram story` from a square design, the centered crop drops the top and bottom edges: whatever touches the border is lost.

Two honest ways out:

1. **Design the vertical version in Canva.** If the text or the logo sit near the edges, this is the right call: Canva is the design tool and the vertical framing is decided there.
2. **Use `contain`** if the square is all you have: the whole image is fitted inside the 9:16 canvas and the gap is padded with `background_color`. The file comes out at 1080x1920, but with bars, not upscaled. What does not exist is a mode that guesses the framing: there is no smart crop.

The 4:5, by the way, is not in the catalogue: it has to be cropped separately or covered with `contain` over the 1:1.

## Cost

- 1 use per destination (platform and format) per processed design.
- Duplicate destinations in one request are not charged twice.
- Failed processing jobs are refunded.
- Plans at 0, 3, 9 and 29 EUR, with the API and the MCP server included.

A design with the three destinations above costs 3 uses.

## Typical errors

| Error | What happens | What to do |
|---|---|---|
| Exporting a huge PNG nobody needs | Files over 5 MB are rejected with 413 | Export at the largest useful size, not the most absurd one |
| Expecting a 1:1 to become 9:16 | That destination and that mode do not exist | Design the vertical in Canva or use `contain` |
| Text cut at the edges | `cover` crops from the center | Leave margin in the design or switch to `contain` |
| Blurry YouTube banner | The master is under 2560 px wide | Export a larger size from Canva |
| Expecting SocialCutter to publish | It only generates files and returns URLs | Publish with the network, the CMS or your automation tool |
| 401 | The key is missing or revoked | Check the `X-API-Key` header |

## What we do not do

We are not an editor: we do not change colours, remove backgrounds, composite text or retouch anything. We do not replace Canva or any design tool. We do not do smart cropping: the crop is centered and involves no content analysis. And we do not post to social networks: we return the URL of every generated file.

Our job is the boring, repetitive step: taking the design you already made and producing, at the exact dimensions, every version each network needs.

## Next steps

- Sizes and ratios: [Social media image sizes: dimensions and ratios](/en/guides/medidas-redes-sociales/)
- Automation paths: [Automating social media images: 4 real paths](/en/guides/automatizar-imagenes-redes-sociales/)
- CMS: [Upload images to Webflow and use SocialCutter](/en/guides/webflow/)
- Output format: [PNG, JPG or WebP: which format to use on each network](/en/guides/formatos-redes-sociales/)
- API documentation: https://docs.socialcutter.theboomer.dev