Turn any idea, URL, doc, or PDF into on-brand visuals: 100+ formats, native in 150+ languages
ai.canvora/canvora — Model Context Protocol (MCP) Server
The ai.canvora/canvora MCP server helps turn input such as an idea, URL, document, or PDF into on-brand visuals in many output formats. It supports 100+ formats and native 150+ languages, positioned as a “visuals for AI agents” capability.
🛠️ Key Features
Convert idea, URL, doc, or PDF into visuals
100+ output formats
Native support for 150+ languages
Includes MCP integration (listed under mcp-related topics)
🚀 Use Cases
Generate content for social media using posts and carousels
Produce decks, PDFs, ads, and infographics
Create on-brand assets from mixed source inputs (links and documents)
⚡ Developer Benefits
Install as a skill via: npx skills add canvora/canvora-mcp
Designed for AI agents to add a “design department” style workflow
⚠️ Limitations
Provided documentation excerpt does not specify authentication, API methods, or output constraints.
Give your agent a design department. Turn any idea, URL, doc, or PDF into finished, on-brand visuals: 82 formats (posts, carousels, decks, PDFs, ads, infographics, landing-page kits), generated natively in 150+ languages — including RTL and CJK. Brand kits keep every output in the client's colors, fonts, logo, and tone.
Your agent writes the brief. Canvora does the design. The outputs are stable CDN URLs ready to post, embed, or hand to a scheduler (works great upstream of Postiz or any posting tool: generate → schedule, end to end agentic).
This repo is the agent-facing toolkit for Canvora:
Agent skills — skills/: 11 task-specific skills, one npx skills add installs all of them into Claude Code, Cursor, Codex, OpenCode, OpenClaw and 60+ agents.
npx skills add canvora/canvora-mcp # installs the skills (they set up the CLI on first use)# or just the CLI:
npm install -g @canvora/cli
export CANVORA_API_KEY=vd_... # create at canvora.ai → Integrations → API Keys (all plans, incl. Free)# one atomic command: generates, polls, exits with the output URLs
canvora generate \
--idea "5 tips for remote work" \
--format linkedin_carousel --slides linkedin_carousel=5 \
--wait --json
Create visuals from an --idea (short concept, Canvora develops it), --input (your full content text), --url, or --file-url (PDF). --wait polls to completion and prints output URLs.
canvora localize <id> --language es
Same design, new language: translates an existing generation's visuals, layout untouched
canvora variations <id> [--count n]
Fresh takes on an existing generation's visuals
canvora edit <outputId> --prompt "..."
Natural-language edit of one visual (previews the change; --yes auto-confirms)
canvora status <id>
Check a generation and list its output URLs
canvora download <id> --dir out/
Save all output files locally
canvora formats
All 82 format IDs with dimensions (live catalog)
canvora brands
Your brand kits (pass one via --brand <uuid>)
canvora credits
Credit balance (10 credits per visual, 15 per carousel/deck slide)
Every command takes --json for machine-readable stdout; progress and errors go to stderr, so piping stays clean. Exit codes: 0 success, 1 failure, 2 usage error.
Generate flags
code
--idea "concept" short concept - Canvora develops it into content
--input "text" your full content text, used as the source material
--url <url> extract content from a webpage
--file-url <pdf-url> extract content from a PDF
--format <id>[,<id>...] output formats (see: canvora formats)
--slides <format>=<n> slide count for carousel/deck formats (1-10, default 5); match it to the item count your idea promises
--brand <uuid> apply a brand kit
--style <name> modern | minimal | bold | elegant | playful | corporate | creative | dark
--resolution 2K|4K 4K on paid plans
--language <code-or-name> visual text language ("es", "Spanish"); default: matches your input's language
--exact use --input text verbatim, no rewording (quotes, taglines)
--logo place the brand kit's logo on the visual (needs --brand)
--cta end a carousel/deck on a call-to-action slide
--no-text pure visual, no typography (backgrounds, hero imagery)
--freeform ignore format-specific art direction, use dimensions only
--landing-page with --url: read the page's sections and produce a matching
landingPage-* visual kit (Starter plan or higher)
--project <uuid> group outputs into a project/campaign
--workspace <uuid> bill a team workspace pool instead of your personal credits
--wait poll until done (--timeout 600, --poll 5 seconds)
--json machine-readable output
Option 2 — MCP (Claude, ChatGPT, any MCP client)
One remote server, OAuth sign-in, 16 tools your agent discovers on connect: