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:
- Finish the design in Canva.
- Export it as PNG (for transparency, fine text or logos) or JPG (for a photo or a creative with a filled background).
- Choose the largest size your export allows.
- 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 "[email protected]" \
-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.
- Upload images to Webflow and use SocialCutter
- Upload images to Ghost and publish the right post
- Integrate SocialCutter with WordPress and WooCommerce
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:
- 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.
- Use
containif the square is all you have: the whole image is fitted inside the 9:16 canvas and the gap is padded withbackground_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
- Automation paths: Automating social media images: 4 real paths
- CMS: Upload images to Webflow and use SocialCutter
- Output format: PNG, JPG or WebP: which format to use on each network
- API documentation: https://docs.socialcutter.theboomer.dev
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.