Canva → API

Keep your Canva designs. Get a real API.

Turn any Canva design into an image generation API — paste a share link, get a parameterized template, and render variants from REST, SDKs or no-code tools. Designers stay in Canva, engineers ship endpoints.

In Canva: Share → “Public View Link” → copy the link.

Import docs

One link, one click

Paste a Canva share URL — the AI importer extracts layers and builds a parameterized template.

Already parameterized

Text, images and colors become dynamic parameters automatically on import.

Render via anything

REST, Node, Python, Ruby, PHP — or n8n, Make, Zapier and Google Sheets without code.

Designers keep Canva

Design stays in the tool your team already loves. Re-import to sync updates anytime.

Developer experience

Your Canva design. Now it’s an endpoint.

Once imported, every dynamic layer is a key in your API call. Pass new text, images and colors per request — the design itself never leaves Canva's look.

import { Orshot } from 'orshot';
const orshot = new Orshot(process.env.ORSHOT_API_KEY);

const { url } = await orshot.renderFromStudioTemplate({
  templateId: 1234, // your imported Canva design
  modifications: {
    headline: 'Crystal Drop Earrings',
    price: '$209',
    product_image: 'https://example.com/product.jpg',
  },
  response: { type: 'url', format: 'png' },
});
Works withNo-code, code, and AI agents.
ZapierZapierMakeMaken8nn8nAirtableAirtableMCP ServerMCP ServerGoogle SheetsGoogle SheetsAll integrations
Import

Paste a link. Get a template.

Drop a Canva public share URL into the import dialog. Orshot pulls the design, extracts the layers, and turns it into a parameterized template you can render from anywhere.

  • Works with any Canva design — free or paid
  • Text, images and colors become API parameters automatically
  • Multi-page Canva designs become multi-page Orshot templates
  • Re-import to sync design updates from Canva
Parameterize

Every layer is a modification.

Select any imported layer, flip the Parameterize toggle and give it an ID. Your API call can now override its content and style — with copy-paste usage examples generated per layer, right in the editor.

  • Override text, images and colors per request
  • Dot notation for styles — headline.color, headline.fontFamily
  • Use .prompt suffix for AI-generated content at render time
  • Render the same design as PNG, JPG, WebP or PDF
Dynamic parameters docs
Automate

Ship designs through your existing stack.

Every imported design gets a quick-connect sheet — copy a ready-made Make scenario, n8n workflow or the raw API request. Use it for automated image generation or plug into your content automation pipeline.

  • Importable Make scenario and n8n workflow per template
  • No-code: Zapier, Make, n8n, Airtable, Google Sheets
  • Auto-publish to 15+ social platforms in one call
  • Claude, Cursor and ChatGPT via the Orshot MCP server
Browse integrations
Who it's for

One Canva import. The whole team ships from it.

For developers

An API for designs you didn't make

Marketing's Canva designs become endpoints you can call — no rebuilding them in HTML/CSS, no asking for exports, no Puppeteer.

For designers

Design in Canva, ship everywhere

Keep your Canva workflow. Imports preserve your layout and type — and every variant renders exactly as you designed it.

For automation engineers

Canva designs in every workflow

The imported design works in n8n, Make and Zapier like any Orshot template — feed it data, render variants, publish automatically.

For marketers

Stop hand-exporting variants

That Canva ad you duplicate and edit 30 times per campaign? Import it once and render all 30 variants from a spreadsheet.

Keep designing in Canva. Stop hand-exporting.

Import your first Canva design in seconds. Render from the API, forever — 30 free credits to try it.