Integrations
Claude Desktop (MCP)
SteadyShot ships an MCP server that lets Claude Desktop call every major SteadyShot operation by natural language. Generate characters, scenes, storybooks, and variations without leaving the chat.
Brand-kit tools below (
list_brand_kits, get_brand_kit, generate_with_brand) are in private beta and require beta access on your account. Request access →Install
- Grab an API key at steadyshot.ai/api-keys.
- Open Claude Desktop’s settings → Developer → Edit Config.
- Add the SteadyShot MCP block to
claude_desktop_config.json:
json
{
"mcpServers": {
"steadyshot": {
"command": "npx",
"args": ["-y", "steadyshot-mcp"],
"env": {
"STEADYSHOT_API_KEY": "ss_live_xxxxxxxxxxxxxxxx"
}
}
}
}Restart Claude Desktop. The 🔌 icon at the bottom of the chat should show steadyshot connected with 12 tools available.
Running from source instead? Point
command at node and args at the absolute path of mcp-server.mjs in your local clone.What you can ask
- “List my characters” →
list_characters - “Generate a scene of Luna reading by a campfire” →
generate_scene - “Make 4 frowning variations of that scene” →
vary_scene - “Generate a 5-page storybook of Luna meeting Milo at the seaside” →
generate_storybook - “Combine Luna with the Acme brand kit for a marketing shot” →
generate_scenewith both ids - “Generate reference sheets for character X” →
generate_references
All tools
| Tool | What it does |
|---|---|
list_characters | List all your characters. |
get_character | Get one character + references. |
generate_scene | Generate a single-character (and/or brand) scene. |
vary_scene | Create 1-4 single-dimension variations of an existing scene. |
generate_multi_scene | Scene with 2-4 characters together. |
generate_storybook | Multi-page storybook with optional PDF export. |
generate_references | Generate reference sheet views for a character. |
list_brand_kits | List your brand kits. (beta) |
get_brand_kit | Get one brand kit + assets. (beta) |
generate_with_brand | Brand-only scene generation (no character). (beta) |
delete_character | Permanently delete a character. |
Credits + auth
Every tool call bills against the credits of the user whose API key is in your MCP config. Same plan limits, same per-action costs as the web UI — Claude doesn’t get any special billing.
Sample conversations
These are real prompts that exercise multi-turn workflows. Claude figures out which tool to call from context and threads image_ids automatically.
Conversation 1 — character → scene → variation
text
You: "Show me my characters"
↳ list_characters → ["Mira (locked)", "Beanie (locked)", "Kai (draft)"]
You: "Generate Mira sitting by a moonlit pond"
↳ generate_scene(character_id=mira-id, prompt="Mira sitting by a moonlit pond")
→ returns image_id + url, Claude shows the image
You: "Make 4 versions with different expressions"
↳ vary_scene(image_id=<prev>, vary="expression", target="varied", count=4)
→ 4 thumbnails inline
You: "I like #3 — now make her at golden hour"
↳ vary_scene(image_id=<#3 image_id>, vary="lighting", target="golden hour", count=1)Conversation 2 — full storybook from scratch
text
You: "Generate a 4-page bedtime story for Mira:
1. She wakes up in a forest clearing
2. She finds a glowing mushroom
3. She touches it and it pulses with light
4. She runs home through the trees, smiling
Style: studio ghibli watercolor. Export to PDF."
↳ generate_storybook(
character_id=mira-id,
pages=[
"She wakes up in a forest clearing",
"She finds a glowing mushroom",
"She touches it and it pulses with light",
"She runs home through the trees, smiling"
],
art_style="studio ghibli watercolor",
export_pdf=true
)
→ returns 4 page images + a pdf_urlConversation 3 — brand kit + character together
text
You: "Generate Beanie holding an Acme Coffee cup at a sunlit café"
↳ list_brand_kits → ["Acme Coffee"]
↳ generate_scene(
character_id=beanie-id,
brand_kit_id=acme-id,
prompt="Beanie holding an Acme Coffee cup at a sunlit café"
)
→ image with the exact Acme logo on the cup, brand palette obeyedBuild your own MCP-compatible client
The SteadyShot MCP server is a standard Model Context Protocol stdio server. Any MCP-compatible client can connect — not just Claude Desktop.
- Server source:
mcp-server.mjsin the SteadyShot repo. Single file, ~370 lines, no build step. - Tools registered: see the table above. Each tool is declared in the
toolsarray and routed viaCallToolRequestSchema. - Transport: stdio (newline-delimited JSON-RPC). Wrap with your own MCP client SDK to call from a custom agent.