Canvora

ai.canvoraPublished by canvora.aiOfficial publisherv1.2.0Updated Oct 24, 2026

Turn any idea, URL, doc, or PDF into on-brand visuals: 100+ formats, native in 150+ languages

Overview

AI-generated overview

Lets an assistant generate finished, on-brand visuals in many formats and languages from an idea, URL, document, or PDF.

What you can do
Canvora turns a brief, web page, text, or PDF into finished branded visuals across dozens of formats such as social posts, carousels, decks, PDFs, ads, and infographics. The remote MCP server exposes 16 tools that an agent discovers on connect, covering generation, localization, variations, natural-language edits, status checks, downloads, format and brand listings, and credit balance. Outputs are returned as stable CDN URLs that can be posted, embedded, or handed to a scheduler.
When to use it
Use it when an assistant needs to produce marketing or content visuals rather than just text: client campaign assets, multilingual versions of one design, decks built from a PDF report, or ad sets covering several placements. It suits agent pipelines that generate assets and then pass them to a posting or scheduling tool.
Requirements
A remote streamable HTTP endpoint at with OAuth sign-in; no local install is needed for the MCP option. The CLI and skills options require Node.js and an API key supplied as CANVORA_API_KEY. Usage consumes paid credits, and some features such as 4K resolution or landing-page kits need a paid plan.
Before you install
Generation spends credits (10 per visual, 15 per carousel or deck slide), so large jobs cost money; check the credit balance first. The API key CANVORA_API_KEY is a secret and should be scoped and revocable. Content sent as an idea, URL, or PDF is processed by the hosted Canvora service, and generated assets are stored on its CDN. Edits can change existing outputs, though previews and confirmation exist.

Installation

In SourceWeft

  1. Open Canvora in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ai.canvora%2Fcanvora/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "canvora": {
      "type": "http",
      "url": "https://api.canvora.ai/mcp"
    }
  }
}

README

Install as a skill

bash
npx skills add canvora/canvora-mcp

Canvora — visuals for AI agents

[npm] [Canvora MCP server] [License: MIT]

Give your agent a design department. Turn any idea, URL, doc, or PDF into finished, on-brand visuals: 100+ 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.

bash
canvora generate --idea "5 tips for remote work" \  --format linkedin_carousel --slides linkedin_carousel=5 \  --brand $BRAND_ID --wait --json# → 5 finished branded slides on CDN URLs

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/: 12 task-specific skills, one npx skills add installs all of them into Claude Code, Cursor, Codex, OpenCode, OpenClaw and 60+ agents.

    SkillFor
    canvoracore: setup, generate loop, credits, refinement
    instagram-carouselInstagram carousels / swipe posts
    linkedin-carouselLinkedIn document carousels + safe zones
    pitch-deckpitch/sales/training decks, document → slides
    pdf-documentmulti-page PDFs: brochures, reports, one-pagers
    landing-page-visualsa whole page's visual kit from its URL
    ad-campaignpaid social + display ad sets and variants
    blog-promo-kitheader, OG image and promo set from one post
    data-infographicprocess flows, comparisons, timelines, stats
    multilingual-campaignone campaign → many languages
    product-photo-visualsdesigns built around the user's own photos
    visual-refreshedit, vary, localize and revert what exists
  • Remote MCP server — for Claude, ChatGPT, Cursor, and any MCP client. Nothing to install.

  • canvora CLI — for shell-native agents, cron jobs, and CI. Zero dependencies.

The Canvora service itself is hosted; this repo contains client tooling, skills, and docs.

Option 1 — Skills + CLI (Claude Code, Cursor, Codex, OpenClaw, shell-native agents)

bash
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 URLscanvora generate \  --idea "5 tips for remote work" \  --format linkedin_carousel --slides linkedin_carousel=5 \  --wait --json

More runnable recipes: examples/

Commands

CommandWhat it does
canvora generateCreate 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 esSame 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 formatsAll format IDs with dimensions (live catalog)
canvora brandsYour brand kits (pass one via --brand <uuid>)
canvora creditsCredit 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

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

Server URLhttps://api.canvora.ai/mcp (streamable HTTP)
ClaudeSettings → Connectors → Add custom connector → OAuth Client ID claude_mcp
Claude Code plugin/plugin marketplace add canvora/canvora-mcp then /plugin install canvora@canvora (connector + all 12 skills)
ChatGPTApps → search Canvora → Connect, then start a message with @Canvora
Registryai.canvora/canvora on the official MCP Registry — also on Glama, Smithery, mcpservers.org

Step-by-step: canvora.ai/help/integrations/mcp-setup

stdio-only clients: mcp/ is a small stdio server that forwards every call to the remote server with your API key (same 16 tools, nothing generated locally):

json
{  "mcpServers": {    "canvora": {      "command": "node",      "args": ["/path/to/canvora-mcp/mcp/server.js"],      "env": { "CANVORA_API_KEY": "vd_..." }    }  }}

Run npm install in mcp/ first, or use the Dockerfile: docker build -t canvora-mcp . && docker run -i -e CANVORA_API_KEY=vd_... canvora-mcp.

Option 3 — Raw REST

bash
curl -X POST https://api.canvora.ai/api/generations \  -H "X-API-Key: vd_YOUR_KEY" \  -H "Content-Type: application/json" \  -d '{    "inputType": "text",    "inputContent": "5 tips for remote work",    "outputFormats": ["linkedin_carousel"],    "carouselCounts": {"linkedin_carousel": 5}  }'

Full API guide: canvora.ai/help/integrations/api-keys

What agents build with this

  • Client content pipelines — brief in, branded multi-format campaign out, scheduled by your posting tool
  • Multilingual campaigns — generate once, canvora localize into 10 markets; layout survives, text goes native (skill)
  • Save-optimized carousels — hook-first structure and per-slide art direction encoded as a skill (skill)
  • Docs → decks — point --file-url at a PDF report, get presentation slides
  • Ad sets — ad_square,ad_landscape,ad_portrait from one product URL, all placements covered

Built to be called by software

  • Predictable costs — flat credit pricing (10/visual, 15/slide); canvora credits before big jobs; failed generations auto-refund.
  • Human in the loop — everything your agent creates also lands in your Canvora dashboard, ready for review, editing, and export before it goes anywhere.
  • Scoped, revocable keys — hashed at rest, per-key usage tracking, one-click revoke.
  • Outputs on a CDN — stable URLs your agent can post, embed, or hand to a scheduler.
  • Works on every plan — API and MCP access included on Free (free credits, no card).

Links

MIT licensed (CLI, skills, and docs in this repo).

Source: README.md at commit e4ed280

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v1.2.0LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts