What the agent does
There is no repository for this job; the design lives in Canva. The Canva connection is an MCP server at mcp.canva.com that you sign in to once with your Canva account, and a run names it in connections, so the agent works as you, with access to your brand kit and brand templates. The prompt names the design to open.
The agent opens the named design and reads its structure before copying anything: which boxes hold text, their font sizes, and which elements sit near an edge. It then creates one copy per size the prompt names: an Instagram post, an Instagram story, a LinkedIn post, an X post and a 1200x630 blog header.
Resizing is not one scale factor per copy. A story is taller than a post, so the layout is rearranged rather than stretched; text is enlarged or shortened to stay readable at the new size; elements that would sit under a platform's overlay or outside a safe margin are moved inward. The original design is left unchanged, and each copy is a new design with its own link.
Each copy is exported as a PNG and returned as an artifact on the session, together with the design link for that copy, so a designer can open it in Canva and keep editing. The session's transcript records the changes made to each copy.
Start it with one API call
POST https://api.prix.dev/o/{org}/sessions with this body:
{
"agent": "claude",
"input": "Open the Canva design named after this prompt. Create copies sized for an Instagram post, an Instagram story, a LinkedIn post, an X post and a 1200x630 blog header, keeping text readable and inside safe margins, export each as PNG and return them as artifacts with their design links. Leave the original unchanged.",
"connections": [
"canva"
]
}- Get an API key. In the console, open Settings, then API keys, and create a key for your org. Send it in the Authorization header as a Bearer token.
- Send the request. POST the body in request.json to https://api.prix.dev/o/{org}/sessions, with your repository as the resources URL. The run starts in its own cloud sandbox.
- Read what came back. Follow the run on its live stream or wait for the run.completed webhook, then read the result and its trajectory.
What comes back
What comes back is a session with five artifacts, one PNG per platform size. Reading the session lists artifacts with a name, a mime type and a URL on api.prix.dev that downloads each file, valid for an hour; reading the session again returns fresh links. The agent's answer pairs each file with its Canva design link.
A designer reviews the copies by the prompt's own criteria before anything ships: text readable at the size it will be viewed, no element under a platform's overlay or outside the safe margin, and the original design untouched. The design links open the copies in Canva for the tweaks only a person makes.
The transcript behind the run records what the agent changed in each copy, so when a copy looks wrong the question is answered by the record rather than by guessing what the resize did.
Run it on every new campaign
Give the automation a webhook trigger and POST to its URL from the tool that approves a campaign asset; the body becomes the event text and starts a run for the design it names. The trigger answers 202, and an Idempotency-Key header dedups retries, so approving the same asset twice does not resize it twice.
A schedule trigger works for the standing set: one run every Monday takes the master design named in the prompt and returns that week's sizes, and the run.completed webhook tells your server the artifacts are ready. A key runs at most max_concurrent sessions at once, 4 by default, and a weekly job sits far below it.
The use case this job follows, with its automation and trigger: Produce a report or file, no repo.
Why run it on Rush?
Resizing one graphic for five platforms by hand is the same hour of drag-and-drop every week: duplicate, resize, nudge the text back inside the margins, export, repeat. On Rush the agent does the loop in its own workspace and returns the five files, with the changes it made to each copy recorded, so the output is checkable instead of assumed.
Because the run names your Canva connection, it works as you, so brand templates and locked brand elements stay available, and no credential is copied into the run. The same request serves every campaign: change the design named in the prompt, or start five runs for five campaigns and collect the files as each finishes.
Frequently asked questions
Does it need my Canva password?
No. You sign in once when you create the Canva connection, and naming the connection on the run is enough for the agent to work as you. The run never sees a password, and revoking the connection stops future runs.
Will it change my original design?
No. The prompt says to leave the original unchanged, and each platform size is a new copy with its own design link. The original stays as it was, and the copies can be edited or deleted in Canva without touching it.
Which sizes does it make?
The ones in the prompt: an Instagram post, an Instagram story, a LinkedIn post, an X post and a 1200x630 blog header. Change the list to your channels and the next run follows it.
What comes back, exactly?
One PNG per size as an artifact on the session, each with a download URL that works for an hour with no key, plus the Canva design link for each copy. Reading the session again returns fresh download URLs.
What if our brand uses locked templates?
The agent works as you through the connection, so brand templates, brand kits and locked elements behave exactly as they do when you edit the design yourself. A copy that cannot be made within the template's locks is reported, not forced.