Kinoseed

Guide

How to give Claude Code image and video generation (and Cursor)

How to give Claude Code image and video generation with one command: an API key, a remote MCP server and a budget rule. The same setup works in Cursor.

This is how to give Claude Code image and video generation: create a Kinoseed API key, add one remote MCP server with a single command, and ask for a picture. Claude Code then has six new tools, from list_models and quote to generate_image and generate_video, and spends credits from your account when it uses them.

The same server works in Cursor with a short JSON file, so the second half of this guide covers that. It is useful for the jobs coding agents keep running into: a hero image for a landing page, placeholder product shots, an icon set, a short demo clip for a README.

Sign in, create a key on your account page, and call any model with one key.

1. Create an API key

Sign in, open your account page and create a key. It is shown once, so copy it straight into your shell or password manager. Give it only the scopes the agent needs: credits:read, images:generate, videos:generate and jobs:read cover every tool below. See Authentication for scopes and rotation.

Generating begins with a plan from $10 a month (500 credits a month). Every tool page is open to browse without an account.

2. Add the server to Claude Code

Run this once in a terminal, with your key in place of the placeholder:

Terminal
claude mcp add --transport http kinoseed https://kinoseed.app/api/mcp --header "Authorization: Bearer ks_live_YOUR_KEY"

That adds the server for you on this machine. To share it with a team through the repository, add it to .mcp.json instead and let Claude Code read the key from each person's environment, so the file can be committed without a secret in it:

Sharing it through .mcp.json

Each person exports KINOSEED_API_KEY in their shell; Claude Code expands the variable when it connects.

.mcp.json
{
  "mcpServers": {
    "kinoseed": {
      "type": "http",
      "url": "https://kinoseed.app/api/mcp",
      "headers": {
        "Authorization": "Bearer ${KINOSEED_API_KEY}"
      }
    }
  }
}

Check the connection with claude mcp list in a terminal, or /mcp inside a session. Kinoseed should show as connected with six tools.

3. Ask for something

Start with a question that costs nothing: "What would a 5-second Seedance 1.5 Pro clip cost on Kinoseed?" Claude Code should call quote and answer 25 credits (about $0.50) without spending any.

Then ask for real work: "Generate a 16:9 hero image of a ceramic mug on a sunlit desk and save it to public/hero.png." It calls generate_image, which waits for the result, then downloads the URL into the repo. On the default model, Seedream 5.0 · Lite, one image is 8 credits.

Video takes minutes. Claude Code starts it with generate_video and follows the job with get_job until it is final, so ask for a clip and let it carry on with other work meanwhile.

4. Give it a budget rule

Your balance is the hard limit: when it runs out, calls are refused before anything is charged. For a softer limit, add a few lines to CLAUDE.md so the agent asks before it spends:

CLAUDE.md
## Images and video (Kinoseed MCP)
- Before any generate_image or generate_video call, call quote and tell me the price in credits.
- Ask before more than one paid run in a row, or anything over the budget I gave.
- Pick model ids from list_models. Never invent one.
- Save results into the repo with curl -o from the output URL; never paste base64.
- On insufficient_credits, stop and show me details.topUpUrl.

A longer version for any agent's system prompt is on the agent guide. Retries are safe either way: identical generate calls close together return the same job, and a failed run is refunded automatically.

The same setup in Cursor

Cursor reads MCP servers from .cursor/mcp.json in the project, or from ~/.cursor/mcp.json for every project. Create the file with this content and your key:

.cursor/mcp.json
{
  "mcpServers": {
    "kinoseed": {
      "url": "https://kinoseed.app/api/mcp",
      "headers": {
        "Authorization": "Bearer ks_live_YOUR_KEY"
      }
    }
  }
}

Keep the key out of version control: use the file in your home folder, or add the project file to .gitignore. Open Cursor's MCP settings to see the server and its six tools, then ask in Agent mode exactly as you would in Claude Code. The CLAUDE.md lines above work as a Cursor rule too.

Windsurf, Claude Desktop and OpenClaw configs are on the MCP server page. For what each tool does and how to keep an agent's spending in check, read the MCP server for image generation guide.

Questions

Does Claude Code generate images by itself?

No. Claude Code writes and edits code and text; it needs a tool to make images or video. An MCP server like Kinoseed's gives it one, and it decides when to call it.

Where do the generated files go?

The tools return URLs. Ask Claude Code to download them into your project (it will use curl or a script), or keep the URLs; the job also appears in your library on kinoseed.app.

Can I stop it spending too much?

The account balance is a hard ceiling, keys can be revoked at any time, and a rule in CLAUDE.md makes it quote and ask first. A failed run costs nothing.

Does this work with Claude Desktop?

Yes, through mcp-remote, because the desktop connector dialog expects OAuth. The config is on MCP server.

Sign in, create a key on your account page, and call any model with one key.