A side-by-side look at the PixelDojo and Templated MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose PixelDojo for multimedia process work as a local process; choose Templated for multimedia process as a local process. You can also run both side by side in one mcpServers block.
PIXELDOJO_API_KEY.pixeldojo_generate, pixeldojo_edit, pixeldojo_character.TEMPLATED_API_KEY.create_render, get_render, list_renders.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Multimedia Process | Multimedia Process |
| Quality signal | 61/100 · Good | 63/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | PIXELDOJO_API_KEY | TEMPLATED_API_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 3 |
| Directory activity | 2 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 25 | 25 |
| Full listing | View PixelDojo | View Templated |
pixeldojo_generateGenerate an image or video from a prompt with any model in the PixelDojo catalog. With no `model`, a prompt runs on seedream-5, which makes still images only. For a video, name seedance-2-5, which works from a prompt alone or a starting image. If a provider refuses the content, retry once on wan-3-0-video (video) or seedream-5 (images), the least-restricted models. For a multi-shot film or a music video synced to a song use pixeldojo_film; to change, move or extend an existing clip use pixeldojo_video. These are the models the PixelDojo studios use; name another only when the user asks for it. References: `image_url`/`image_urls` for stills, `video_url` for a source clip, `image_path`/`image_paths` for absolute local files (uploaded to 24h temp storage first). A clip or an audio track URL with no `model` runs on seedance-2-reference; a named model that cannot read a clip is swapped for it and the result says so, while a named model with no audio input drops the track. Model-specific settings go in `params` alongside an explicit `model`. Returns asset URLs, or a jobId for pixeldojo_status when the job outlasts the 30s wait.pixeldojo_editEdit an existing image with a text instruction. Defaults to wan-2.7-image-edit; pass `model` to pick another edit-capable apiId. Supports up to 9 reference images for multi-image composition. For reference images: pass image_url(s) for hosted URLs or image_path(s) for absolute local file paths (skill uploads to 24h temp storage automatically).pixeldojo_characterGenerate or edit consistent characters across shots. Pass reference_image_urls (up to 9) to lock identity — send every photo of the person you have, since more angles hold the face far better than one. Defaults to seedream-5.pixeldojo_storyboardGenerate one short video clip (a single shot, not a multi-panel storyboard) from a scene brief. A text-only brief runs on veo-3.1-fast unless `model` names another allowed video model. With image_url (reference still) or video_url (source clip) and no `model`, it runs on seedance-2-reference, with the same reference routing as pixeldojo_generate. For a multi-shot film with dialogue and a soundtrack, use pixeldojo_film.pixeldojo_upscaleEnhance an image or video. Magnific (default) supports configurable scale_factor and creativity; face-enhance for portraits; video-upscaler (FlashVSR, up to 4K) for clips — pass video_url plus video_duration in seconds.pixeldojo_captionBurn animated word-by-word captions onto a video with speech, the short-form look for TikTok, Reels and Shorts: the spoken word lights up, placed above the platform buttons. Pass video_url; optional style (pop, highlighter, clean) and highlight_color (#RRGGBB for a brand color). 5 credits.pixeldojo_overlayAdd short-form ad text layouts to a finished video, exact text in the brand color, clear of the TikTok/Reels/Shorts UI: hook (title over the first seconds), callout (lower-third label), review (stars, quote, name), progress_bar, countdown (ticking timer), price_tag (new price, old one struck through), offer ("50% OFF" badge) and end_card (logo, headline, button, web address over the held last frame). Pass video_url plus any of them; one call does all. 2 credits.pixeldojo_audioGenerate audio: speech, multi-character dialogue, sound effects, and background music from one prompt (Seed Audio 1.0 by default; plain text-to-speech available). Voice cloning takes hosted reference clip URLs in audio_urls; local audio files are not accepted. Returns an audio URL, or a jobId for pixeldojo_status.pixeldojo_effectsList PixelDojo's one-click effects: 283 video effects (a photo or two in, a 5 s clip out: AI Hug, Earth Zoom In, AI Dance), 30 photo effects (a photo in, a styled image out: action figure, Ghibli style, sticker, aging filter) and one-job tools (remove a watermark, object or background, headshots, photo restoration, relight, logo, thumbnail and poster makers). Search by words, family or category; each result gives the slug, inputs and credit price. Free. Run one with pixeldojo_effect.pixeldojo_effectRun one of PixelDojo's one-click effects on your photos: the prompt is built in, so pass only the slug from pixeldojo_effects and the photos (image_urls, or image_paths for local files), plus texts for tools that ask for them. Video effects return a 5 s clip (usually handed off; poll with pixeldojo_status), photo effects and tools an image. Costs the credits the listing shows.pixeldojo_librarySearch your Library, newest first. source=media (default): saved media (permanent) and recent API/MCP generations (deleted 1 hour after they finish), as URLs to reuse as references. source=characters: saved Character Studio characters and elements, each usable as @Name in any prompt.pixeldojo_saveSave a generated image or video into the user's My Media library permanently ("save this", "keep it"). Results otherwise expire 1 hour after they finish. Pass the result URL; it is safety-checked before it is kept.create_renderRender a Templated template into an image (JPG, PNG or WebP), a PDF or an MP4 video, with new text, images and colors in its layers. Use this when the user wants a finished design from one of their templates, such as a social media post, banner, OG image, certificate or invoice. Templated fills the saved template with the exact values given: this is template rendering, not AI image generation. Pass the template ID and 'layers' keyed by the layer names from get_template_layers; names the template doesn't have are rejected before anything is rendered. Multi-page templates render every page, or only the pages listed in 'pages'. Each output counts toward the account's render usage. Returns the render with its file URL (one render per page for multi-page templates).get_renderGet one render by ID with its status, format, size and file URL. Use this to check whether a render has finished or to find its URL again.list_rendersList the renders in the connected Templated account, newest first, 25 per page by default (max 100). Use this to find a render's ID or file URL, for example to merge PDFs with merge_renders. Returns each render's id, url, status, format, size and template.delete_renderPermanently delete a render from the connected Templated account; it can't be restored. Use this when the user asks to remove a render. Takes the render ID from list_renders and returns a confirmation.merge_rendersMerge several renders into one PDF, in the order given, for example one certificate or invoice per recipient. Image renders become PDF pages. Use this after creating the individual renders. Each merge counts toward the account's render usage. Returns the URL of the merged PDF. With host set to false the PDF itself is returned inline instead, which only works for PDFs up to 100 KB.list_templatesList the templates in the connected Templated account, 25 per page by default (max 100), optionally filtered by name (query), size (width, height) or tags. Use this first to find the template ID for create_render, get_template_layers or update_template. Returns each template's id, name, size, thumbnail, folder, and layer and page counts.get_templateGet one template's details by ID: name, size, background, thumbnail, tags, folder, and layer and page counts. Use this to check a template's size or settings; get_template_layers returns its editable layers.get_template_layersList a template's layers with their names, types and current values (text, image_url, colors, fonts, position and size). Use this before create_render: the layer names are the keys create_render accepts in 'layers'. Covers every page of a multi-page template; get_template_pages groups the layers by page.get_template_pagesList the pages of a multi-page or multi-size template, each with its name, width, height and layers keyed by layer name. Use this to render specific pages with create_render ('pages') or to edit pages with update_template, which accepts the same shape.create_templateCreate a new template in the connected Templated account from layers, for example a social media post, banner, OG image, certificate or invoice. Use this when none of the existing templates fits or the account has no templates yet. Each layer has a unique name in 'layer' and a 'type': text, image, shape or rating. Shape layers draw rectangles, circles and other shapes from SVG content in 'html'. For a multi-page or multi-size template (several sizes in one template), pass 'pages' in place of 'layers'. Returns the new template; its ID can be rendered right away with create_render.update_templateChange an existing template: name, description, size, background, default video duration, layers or pages. Use this to edit a design, resize it, or add sizes to a multi-size template. Layers are matched by their 'layer' name: an existing layer is updated in place and a new name is added. Top-level 'layers' apply to the first page; 'pages' reaches the others. With replaceLayers true, layers missing from the request are deleted. To move a layer, send both x and y (a missing coordinate is set to 0). In 'pages', a page name that doesn't exist yet is added and an existing page has its layers updated. On a multi-size template, set width and height per page inside 'pages'; top-level width and height are rejected there because they would resize every page. Returns the updated template.clone_templateCopy a template, with all its layers and pages, into a new template in the same account. Use this to make a variation without changing the original. Returns the copy, which keeps the original's name unless 'name' is given.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"pixeldojo": {
"command": "npx",
"args": [
"-y",
"@pixeldojo/mcp"
],
"env": {
"PIXELDOJO_API_KEY": "YOUR_PIXELDOJO_API_KEY_HERE"
}
}
}
}
{
"mcpServers": {
"templated": {
"command": "npx",
"args": [
"-y",
"mcp-server-templated"
],
"env": {
"TEMPLATED_API_KEY": "YOUR_TEMPLATED_API_KEY_HERE"
}
}
}
}