The design layer for the agent era.
Create posters, social posts, videos and print layouts from a prompt, then change any part of them yourself. CoDesign gives you a professional design engine. Every headline, image, shape and clip stays its own layer, so you can swap a font or move a logo without starting over.
Start from scratch or from files you already have. InDesign, Photoshop, PowerPoint and PDF files open with their layers intact. Then resize one design for every social format, translate it with the layout reflowing to fit (Arabic and other right-to-left scripts included), apply your brand colors and fonts, or check it against your guidelines.
Every design opens in a built-in editor when you want to fix something by hand. Export print-ready PDFs with CMYK color and bleed, Photoshop and InDesign files your team can keep working on, or video for social.
Built by IMG.LY on the IMG.LY design engine. Runs on your computer. No account needed to start.
CoDesign ships as an MCP server (plus a plugin for Claude Code, Codex, Copilot
CLI, Antigravity and Cursor) that hands your agent IMG.LY's CE.SDK CreativeEngine — the
same production engine behind IMG.LY's commercial SDKs. The plugin runs the launcher it carries (what it runs); every direct recipe below spawns the published npm package
@imgly/codesign-mcp over stdio; no separate install step — npx fetches it on first
use.
- A social team turns one campaign into every format, from Instagram posts to short videos.
- An agency opens an old InDesign file, rebrands it, and exports it back as .idml.
- A global brand translates print ads and video ads without breaking the layout.
- A designer generates a first draft, then moves and restyles layers by hand in the visual editor.
- A brand manager checks assets against guidelines before they go out.
- Import: InDesign (.idml), Photoshop (.psd), PowerPoint (.pptx), PDF, images (PNG, JPEG, GIF, WebP, SVG) and CoDesign (.imgly) files.
- Export: PDF and print-ready PDF/X, PNG, JPEG, WebP, SVG, HTML, InDesign (.idml), Photoshop (.psd), MP4 video, WAV and M4A audio, and CoDesign (.imgly). Video and audio export need the native engine; Windows runs the WASM engine, which has no video.
Ask your agent, in plain language:
- Resize for every channel — "Take this Instagram post and make the Story, LinkedIn and X versions."
- Make an image editable (needs the free IMG.LY sign-in) — "Split this flat product photo into layers, put the product on our brand background and make it editable."
- Restyle an existing PDF — "Import this datasheet.pdf as an editable design, restyle it with our brand kit, and export A4 and web versions."
- Generate many from a CSV — "One speaker card per row in speakers.csv, same template, all editable."
- Prepare for print — "Turn this flyer into an A4 print PDF with 3 mm bleed and CMYK."
- Update an existing design — "Open last year's flyer.psd, swap the date and venue, export again."
- Localize a design — "Translate this poster into German and re-fit the layout so nothing overflows."
- Make a short video (generated music and voiceover need the free IMG.LY sign-in) — "Turn this poster into a 15-second vertical reel: animate the headline in, cut between the three product shots, and put a music bed and a voiceover under it."
- Create a launch graphic — "Make the v2.0 launch graphic with our logo and brand colors, in X, LinkedIn and OG-image sizes."
- Create App Store graphics — "Make the App Store screenshots and the Play Store feature graphic from these five screen captures, on-brand, all sizes."
Three layers, one product:
- The plugin — installs the MCP server and connects it to your agent. This is the piece you install.
- The MCP server (
@imgly/codesign-mcp) — exposes the design tools (edit,preview,export,list,history, …) over MCP, driven by tool calls from any agent host, and serves the skills and design rules your agent draws on to design well (brand, localize, resize, and quality-check its own output), always matching the server's version. - The CE.SDK CreativeEngine — IMG.LY's real, headless design engine that does the actual layout, rendering, and export.
This repository — the plugin, marketplace manifests and documentation — is
released under the MIT License.
The CoDesign engine itself, distributed as the npm package @imgly/codesign-mcp, is
proprietary software from IMG.LY and free to use locally. The full terms ship
inside the package as LICENSE.md. The launcher in plugins/codesign/runtime/ is not under the MIT License either: its NOTICE names its licences.
Every other design agent draws on a web canvas — a quick fix that breaks on the hard problems. CoDesign commands a production engine matured over years across print, video, and social:
- True print & color fidelity — CMYK, bleed, and ICC profiles, not just RGB screen output.
- Deterministic output — renders identically everywhere, independent of browser or config.
- Native performance — a purpose-built engine that stays fast at scale and under heavy assets.
- Full compatibility — imports InDesign, PSD, PowerPoint (PPTX) and PDF; exports print-ready PDF, image, video, InDesign, PSD and HTML.
- A local MCP server. Claude Code starts
runtime/codesign mcp; Codex, Copilot CLI, Antigravity and Cursor (untested) startnode runtime/codesign-shim.mjs mcpin the plugin folder. Both run over stdio. IMG.LY's CE.SDK engine imports, renders and exports on your machine, from your files, and designs are saved in a local workspace. - A launcher, and the runtime it installs. The plugin carries only the
launcher:
runtime/codesign(codesign.cmdon Windows), readable JavaScript modules inruntime/codesign-shim/that run on your Node.js, andruntime/snapshot.json, the tool list it answers with until the runtime is installed. The runtime (CoDesign with its own Node.js, a CE.SDK engine and its assets) is downloaded into~/.codesignfrom IMG.LY's release server,https://get.codesign.co/runtime/<channel>/, and checks there for an update every 6 hours. Every download is listed in a release manifest signed with IMG.LY's Ed25519 key, which the launcher carries, and must match the SHA-256 and size the manifest gives; a manifest older than the last one accepted is refused. - No hooks. The plugin runs nothing at session start. When the runtime
is missing, the server answers from
runtime/snapshot.jsonand installs it in the background on its first start. - What your agent reads from it. The MCP instructions, tool descriptions,
skills and prompts ship inside the signed runtime release (until it is
installed, in the plugin's
runtime/snapshot.json); nothing fetches them from anywhere else. - Where it connects:
get.codesign.co: runtime downloads and update checks.cdn.img.ly: templates, fonts, other default assets and the browser editor.img.lyandclerk.img.ly: the IMG.LY sign-in, only when you sign in with thelogintool.gateway.img.ly: only for AI generation.api.img.ly: usage data, and Sentry (sentry.io): error reports. In Claude Code, turn them off in the plugin's settings (Send usage data to IMG.LY, Send error reports to IMG.LY); on any host, setDO_NOT_TRACK=1orIMGLY_TELEMETRY=off.- Addresses a design, you or your agent name, such as an image or font URL: fetched and copied into your workspace.
- IMG.LY's CE.SDK engine, which renders and exports, itself checks its
licence with IMG.LY (
api.img.ly) and reports its own usage there when it starts; neither the plugin's two settings norDO_NOT_TRACKturn that off.
Read this first — the failure modes below are silent.
- Node.js is required and is not provided. The plugin needs Node.js ≥ 18
on
PATH: Claude Code until the runtime is installed, Codex, Copilot CLI, Antigravity and Cursor (untested) on every start. On an older Node the server says what to install. With no Node at all the host cannot start it and reports the server as failed with no useful reason — typicallyspawn node ENOENT,local: 0orMCP error -32000. The direct recipes need Node.js ≥ 22.15. Install Node first: https://nodejs.org, or see https://codesign.co/install. - The plugin updates itself. It installs the runtime of its channel and checks for an update every 6 hours; no plugin update is needed to move forward.
- Pin
@0.6.0— every direct recipe names that exact version. Each release republishes this repo with a new pin — update your recipe to move forward. - Windows: the direct recipes need WSL. Hosts that spawn
npxdirectly hitspawn npx ENOENT(anthropics/claude-code#58510). The plugin runs nonpxand needs no Git. Claude Code, Codex and Copilot CLI start it natively on Windows; Antigravity and Cursor on Windows are untested. Without Node, Claude Code can use the plugin if you first runirm https://get.codesign.co/runtime/stable/install.ps1 | iex.
Install the plugin from the marketplace:
claude plugin marketplace add imgly/codesign
claude plugin install codesign@imgly-codesignOr add the MCP server directly, without the plugin:
claude mcp add --scope user codesign -- npx -y @imgly/codesign-mcp@0.6.0 stdioInstall the plugin from the marketplace:
codex plugin marketplace add imgly/codesign
codex plugin add codesign@imgly-codesignOr add the MCP server directly, without the plugin:
codex mcp add codesign -- npx -y @imgly/codesign-mcp@0.6.0 stdioClone the repo and install the plugin folder:
git clone https://github.com/imgly/codesign
agy plugin install ./codesign/plugins/codesignOr add the MCP server directly, without the plugin:
agy mcp add codesign -- npx -y @imgly/codesign-mcp@0.6.0 stdioInstall the plugin from the marketplace:
copilot plugin marketplace add imgly/codesign
copilot plugin install codesign@imgly-codesignOr add the MCP server directly, without the plugin:
copilot mcp add codesign -- npx -y @imgly/codesign-mcp@0.6.0 stdioIn Cursor, open Customize, choose From GitHub Repository, enter https://github.com/imgly/codesign, then Install the CoDesign plugin (untested). On a Teams or Enterprise plan, an admin can instead add the same URL as a team marketplace with Import from Repo, and teammates install CoDesign from Customize.
Or copy the plugin folder into Cursor’s local plugins, then run Developer: Reload Window (untested; on Enterprise, an admin must allow local plugin imports):
d=$(mktemp -d) &&
git clone --depth 1 https://github.com/imgly/codesign "$d/codesign" &&
mkdir -p ~/.cursor/plugins/local &&
rm -rf ~/.cursor/plugins/local/codesign &&
cp -R "$d/codesign/plugins/codesign" ~/.cursor/plugins/local/ &&
rm -rf "$d"Or add the MCP server directly, without the plugin, in .cursor/mcp.json:
{
"mcpServers": {
"codesign": {
"command": "npx",
"args": [
"-y",
"@imgly/codesign-mcp@0.6.0",
"stdio"
]
}
}
}Every other host spawns the same stdio server — only the config file and the top-level key differ. Add this block to the host’s MCP config:
{
"mcpServers": {
"codesign": {
"command": "npx",
"args": [
"-y",
"@imgly/codesign-mcp@0.6.0",
"stdio"
]
}
}
}| Host | Config file | Note |
|---|---|---|
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
as-is |
| VS Code | .vscode/mcp.json |
use the key servers instead of mcpServers |
| Zed | settings.json |
use the context_servers shape below |
VS Code (servers key):
{
"servers": {
"codesign": {
"command": "npx",
"args": [
"-y",
"@imgly/codesign-mcp@0.6.0",
"stdio"
]
}
}
}Zed (context_servers):
{
"context_servers": {
"codesign": {
"command": {
"path": "npx",
"args": [
"-y",
"@imgly/codesign-mcp@0.6.0",
"stdio"
]
}
}
}
}CoDesign runs free on your machine today. When you need more — always-on hosting, your own infrastructure (VPC / on-prem), or a fully bundled design agent that lives in the canvas — the same building block graduates by changing config, not vendors. No lock-in. Talk to us: support@img.ly.
Questions or issues: support@img.ly. This distribution is generated from IMG.LY's source repository.