@pixeldojo/mcp
v0.15.1
Published
MCP server for PixelDojo image and video generation. One install for Claude Code, Cursor, OpenClaw.
Maintainers
Readme
@pixeldojo/mcp
PixelDojo MCP server. One install for Claude Code, Cursor, OpenClaw, and any other Model Context Protocol host.
19 named tools, 140+ models, async by default.
Prefer zero install? PixelDojo also runs a hosted MCP server with OAuth
sign-in (no API key): point any remote-capable client at
https://pixeldojo.ai/api/mcp and approve in your browser. Setup guides for
every platform: pixeldojo.ai/skills. This npm
package is the local (stdio) twin — same skills, plus local-file uploads.
Quick start
# 1. Get an API key
open https://pixeldojo.ai/api-platform/api-keys
# 2. Set it
export PIXELDOJO_API_KEY=pd_your_api_key_here
# 3. See install snippets for your editor
npx @pixeldojo/mcp initAdd to your editor's MCP config (e.g. ~/.config/claude-code/mcp.json):
{
"mcpServers": {
"pixeldojo": {
"command": "npx",
"args": ["-y", "@pixeldojo/mcp"],
"env": {
"PIXELDOJO_API_KEY": "pd_your_api_key_here"
}
}
}
}Restart your agent. You'll see 16 new tools.
Named skills
| Skill | What it does |
|---|---|
| pixeldojo_generate | Any prompt → image or video. Defaults to seedream-5 (stills); pass any apiId, e.g. seedance-2-5 for video. The recommended models are the ones PixelDojo's studios use. |
| pixeldojo_edit | Change an existing image with a text instruction (multi-image capable). |
| pixeldojo_character | Consistent characters across shots. |
| pixeldojo_storyboard | One video shot from a scene brief (use pixeldojo_film for multi-shot). |
| pixeldojo_film | Film Studio: a multi-shot film from an idea, or a music video lip-synced to your song (song_url or song_path). |
| pixeldojo_video | Video Studio verbs on an existing clip: change (restyle/edit), move (motion transfer or character swap), extend. Uses each verb's studio engine. |
| pixeldojo_episode | Faceless Studio: a narrated faceless video episode from a topic (script, scenes, voice, music, export). |
| pixeldojo_ad | Marketing Studio: a product video ad from a URL or product images. |
| pixeldojo_upscale | Enhance any image (up to 16×) or video (up to 4K). |
| pixeldojo_audio | Full audio scenes: dialogue + effects + music in one clip (Seed Audio 1.0). Reference clips are hosted URLs; local audio files are not accepted. |
| pixeldojo_library | Search your media library: saved My Media + recent generations. |
| pixeldojo_save_workflow / run_workflow / list_workflows | Save a multi-step chain once, run it by name from any chat. |
| pixeldojo_upload | Local file → 24h temp URL, for reference inputs. |
| pixeldojo_from_url | Product page URL → structured product info. Free. |
| pixeldojo_campaign / campaign_status | One product URL → hero + lifestyle set + optional video. |
| pixeldojo_status | Poll long-running jobs after a 30s sync handoff. |
Generation skills take a model field for whitelist-checked overrides. Pass
any apiId from the API Platform catalog.
References. image_url is for stills, video_url for a source clip, and
an audio URL can ride along in either. Each lands in the field the chosen
model actually declares for that kind of media. A clip or a track with no
model named routes to an engine that can read one; naming a model that
can't gets you the working engine plus a one-line note saying so.
Model-specific settings. Anything the shared inputs don't cover — a seed,
a negative prompt, a resolution tier, a quality toggle — goes in params
under that model's own field name, in the same call that names the model
({"model": "seedance-2-reference", "params": {"resolution": "1080p"}}). A
wrong field comes back named with its allowed values and nothing is charged.
How long jobs work
Generation skills wait synchronously for up to 30 seconds. If the
job is still running, they return { jobId, statusUrl } and the LLM follows
up by calling pixeldojo_status with the same jobId. Polling uses
exponential backoff (1s → 2s → 4s → 8s, capped) to keep load low on long
jobs like LoRA training and 60-second video generation.
Errors
Every error includes the next action:
- Missing key → "Set PIXELDOJO_API_KEY. Get one at pixeldojo.ai/api-platform/api-keys."
- 401 → same.
- 402 / insufficient credits → "Top up at pixeldojo.ai/api-platform/buy-credits."
- 429 → "Rate limit hit. Try again in a few seconds."
- Wrong model override → lists the allowed models for the skill.
Privacy
API keys (pd_xxx tokens) are never written to logs. The redaction layer
strips any matching token from every log message before it reaches stdout
or stderr.
Telemetry
Every API call sets x-pixeldojo-source: mcp/<version> and
x-pixeldojo-skill: pixeldojo_<name> headers so PixelDojo's Tool Health
dashboard can attribute traffic separately. No personal data is sent
beyond what the API call itself requires.
License
MIT.
