Claude Code

One command. Every creative model.

That ships the art.

claude mcp add wires the NinjaChat server into Claude Code — your terminal agent generates the screenshots, diagrams, hero art, and demo video your repo needs, mid-task.

Connect Claude Code
Step 1

Connect Claude Code. Once.

Get your API key.

Key creation is free. You’ll need developer credit to activate it.

What happens after I get my key?

We’ll show you how to add NinjaChat to Claude Code, with your key already filled in. Then you can send your first prompt.

Check your connection Free

Enable NinjaChat in a new chat, then send this check.

View check prompt

Use NinjaChat to check my account balance and spending headroom, then list the available image models. Do not generate anything or add credits. If NinjaChat is unavailable, tell me which setup step is missing.

Balance & spending limit

Step 2 · First ask in Claude Code

Paste this.
Review the quote.

Check the connection above, then paste your request. Approve the quoted cost before generating.

AERA racing shoe over wet night trackExample style · your result will vary

Say this in Claude Code

Use NinjaChat for this task: Make one cinematic racing shoe image over a wet night track. After approval, save it under public/ninjachat-hero with the correct file extension and verify the file. First check my balance and use estimate_cost to quote the model, quantity, dimensions or duration, and total price. Ask for any missing reference files. Do not generate, publish, or add credits until I approve the quote. For video, retain the job ID and poll get_generation_status until complete; resume that job instead of starting another. Return the finished media and download links.

Step 3 · What Claude Code ships

AERA live. Still, then rain.

Landing page, hero asset, and motion clip — wired into the tree.

AERA · motion

Same shoe. Night track. Then the rain moves.

Models

Every model Claude Code ships with.

Image and video engines behind one URL — Claude Code asks, NinjaChat runs them. New models appear here; your connection never changes.

Google Veo 3.1Veo 3.1
Seedance 2.0Seedance
An editorial shot of a cobalt coat in white dunes — a real FLUX.2 Pro run
FLUX.2 ProFLUX.2 Pro
Kling 2.6 ProKling
Google Veo 3.1 FastVeo Fast
A flamenco dancer mid-turn under a single spotlight — a real Seedream run
Seedream 4.5Seedream
A red-sailed boat crossing a mirror-still turquoise fjord — a real Nano Banana 2 run
Google Nano Banana 2Nano Banana 2
Seedance LiteSeedance Lite
A matte espresso machine in a shaft of morning light — a real Nano Banana Pro run
Google Nano Banana ProNB Pro
A red fox mid-leap over a frozen creek at sunrise — a real Nano Banana run
Google Nano BananaNano Banana
A hummingbird frozen mid-air at a fuchsia flower — a real Z-Image Turbo run
Z-Image TurboZ-Image
GPT Image 2's take on the tiny astronaut asleep on a crescent moon
GPT Image 2GPT Image

What Claude Code can call.

Make

  • generate_imageCreate images and download the full-resolution results.
  • generate_videoTurn a description into a video.

Decide

  • compare_modelsTry one prompt across models with a spending limit.

Library

  • upload_assetUpload an image to edit or use as a reference.

Money

  • get_account_balanceSee available credit and monthly spending.

Also on the server

create_mediagenerate_speechedit_imageimage_to_videoedit_videoextend_videoget_generation_statussearch_creationsget_creationsave_creation_aslist_creative_entitiessearch_modelsestimate_costprepare_scrub_videopublish_pageadd_credits

Troubleshooting

When it doesn't connect.

/mcp lists ninjachat as “failed”

Check the key and endpoint. Keep --header at the end of the add command. If ninjachat already exists, update that entry instead of adding it again.

Works in one project but not another

The server was added with local scope (the default). Re-add with --scope user to register it across every project on the machine.

Tool calls fail with 402 / insufficient credits

Balance is empty or the monthly spending limit is hit. Call add_credits, open the checkout_url for the user, then retry. Raise a monthly limit at ninjachat.ai → Developers → Billing. get_account_balance shows current headroom without spending anything.

Long video jobs look stuck

Video generation is async and can take a few minutes. Claude Code should poll get_generation_status — if it gave up, just ask it to check the job again; nothing is lost and nothing double-bills.

Questions, answered.

More ways to use the server.

Build log — Claude Code shipped a site, visuals includedClaude Code docs — MCPModel Context Protocol

AERA · Racing

Claude Code can create now.

Every frame of AERA was generated through NinjaChat — then Claude Code shipped it.

Connect Claude Code

Every frame of AERA was generated through the NinjaChat MCP server.