Skip to main content
SocialCutter

CMS and websites

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.

  • 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. 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:

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.

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.
  • 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.

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.

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

ErrorWhat happensWhat to do
Exporting a huge PNG nobody needsFiles over 5 MB are rejected with 413Export at the largest useful size, not the most absurd one
Expecting a 1:1 to become 9:16That destination and that mode do not existDesign the vertical in Canva or use contain
Text cut at the edgescover crops from the centerLeave margin in the design or switch to contain
Blurry YouTube bannerThe master is under 2560 px wideExport a larger size from Canva
Expecting SocialCutter to publishIt only generates files and returns URLsPublish with the network, the CMS or your automation tool
401The key is missing or revokedCheck 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

Frequently asked questions

Does SocialCutter replace Canva?

No. Canva is where you design; SocialCutter is the step that turns that exported design into files at the exact size of each destination. We do not edit the design and we do not replace the design tool.

Can I pull the design out of Canva through an API?

Yes, when you have access to the Canva Connect API. The documented pattern is to create an export job, wait for it to finish and download the temporary URLs it returns. Endpoint names and scopes are set by Canva: confirm them in their documentation.

Canva already resizes designs. Why add SocialCutter?

Because here the goal is the exact catalogue pixels of every network, produced in one request per image and scriptable. Canva gives you the design; SocialCutter gives you the 13 destinations with their exact dimensions and one output URL each.

Which design should I export from Canva?

The largest your export allows, as square and complete as possible, with the subject near the center. The bigger the master, the better it holds up at the YouTube banner size of 2560x1440.

What does processing that design cost?

1 use per destination, meaning each platform and format pair. A design with three destinations costs 3 uses; plans are 0, 3, 9 and 29 EUR and include the API and the MCP server.