Guide
A hosted MCP server for image generation and video
A hosted MCP server for image generation and video: six tools, one API key, a quote before every run. Setup for Claude Code, Cursor, Windsurf and others.
Kinoseed runs a hosted MCP server for image generation and video at https://kinoseed.app/api/mcp. Any agent that speaks the Model Context Protocol over streamable HTTP can list the models, price a run, generate images and clips, and follow a job, with nothing to install and nothing to keep running.
It is the same API as the REST endpoints, behind six tools. The agent pays with the credits of the account its key belongs to, at the same prices as the web app. This guide covers what the tools do, how to connect the common clients, and how to keep an agent's spending in check.
Sign in, create a key on your account page, and call any model with one key.
The six tools
Each tool is the MCP face of one REST operation, with the same inputs, prices and error codes:
list_models: The model catalog: ids, inputs, aspects, durations and an example price in credits.get_credits: The balance behind the key and the plan, if any.quote: What a run would cost, without starting it. Call it before every generate.generate_image: Start an image run. Waits for the result by default and returns the image URLs.generate_video: Start a video run. Returns the job at once by default; follow it with get_job.get_job: One job, optionally held until it finishes.
Image models available through generate_image: GPT Image 2, Nano Banana 2, Nano Banana Pro, Seedream 5.0 · Lite, GPT Image 1.5, Grok Imagine, FLUX 3, FLUX 3 Klein, Nano Banana 2.1, GPT Image 2.5, FLUX.2, Reve and Z-Image. Video models through generate_video: Seedance 2.0, Kling 3.0, Google Veo 3.1, Google Veo 3.1 Lite, Grok Imagine, Wan 3.0, MiniMax H3, Seedance 2.5, Wan 2.7, MiniMax Hailuo 2.3, Seedance 1.5 Pro, Seedance 2.0 Mini, Kling 3.0 Standard, Seedance 2.0 Fast, Kling 2.6 Pro, MiniMax Hailuo 2.3 Fast and Google Veo 3.1 Fast. The agent should pick ids from list_models rather than guess them.
Connecting a client
The server needs one header, Authorization: Bearer ks_live_YOUR_KEY, with an API key from your account page. Claude Code takes one command:
claude mcp add --transport http kinoseed https://kinoseed.app/api/mcp --header "Authorization: Bearer ks_live_YOUR_KEY"{
"mcpServers": {
"kinoseed": {
"url": "https://kinoseed.app/api/mcp",
"headers": {
"Authorization": "Bearer ks_live_YOUR_KEY"
}
}
}
}{
"mcpServers": {
"kinoseed": {
"serverUrl": "https://kinoseed.app/api/mcp",
"headers": {
"Authorization": "Bearer ks_live_YOUR_KEY"
}
}
}
}Claude Desktop's connector dialog expects OAuth, which Kinoseed does not offer yet, so it connects through mcp-remote with the key in a header; the config is on the MCP server page. Machine-readable connection details are in the server card.
What a run looks like
Ask for "a product photo of a ceramic mug on a sunlit desk". A well-behaved agent calls quote first and tells you the price; on the default model, Seedream 5.0 · Lite, one image is 8 credits (about $0.16). Then it calls generate_image, which waits for the result and returns the image URLs.
Video is slower, so generate_video returns the job at once and the agent follows it with get_job and wait_seconds until the status is completed or failed. Results are URLs, never inline base64, so a long clip does not fill the context window.
Keeping an agent's spending in check
An agent with a key can spend real credits. The server is built so that the common mistakes are cheap:
- Retries cannot double-charge. Identical generate calls close together return the same job, and an
idempotency_keyargument makes that explicit, the way theIdempotency-Keyheader does on REST. - Errors are readable. No credits or a bad model id comes back as a tool result with
isError: trueand the same error envelope as REST, so the agent can readinsufficient_creditsand stop instead of looping. - Failures are free. A failed run is refunded automatically, and the job says so.
- Keys are scoped. Give an agent a key with only the scopes it needs, and revoke it when the work is done. See Authentication.
You can generate images and videos with Kinoseed (https://kinoseed.app).
Use the Kinoseed MCP server at https://kinoseed.app/api/mcp if it is connected; otherwise call the REST API at https://kinoseed.app/api/v1 with the header "Authorization: Bearer $KINOSEED_API_KEY".
Rules:
- Runs cost credits from the user's balance. Before every generation, call quote (POST /api/v1/quote) with the exact arguments and tell the user the price in credits. Ask before any batch of runs, and before going past the budget the user gave you.
- Check the balance with get_credits (GET /api/v1/credits) when a quote might not fit. If a call fails with insufficient_credits, stop and give the user details.topUpUrl. Do not retry.
- Pick model ids only from list_models (GET /api/v1/models). Do not invent ids.
- Images: generate_image waits for the result. Videos take minutes: start with generate_video, then call get_job with wait_seconds (or GET /api/v1/jobs/{id}?wait=50) until status is completed or failed. Do not poll faster than every 3 seconds.
- A failed job is refunded automatically (credits.refunded). Report the error to the user; retry at most once, with changed arguments.
- Input images must be public https URLs or URLs returned by the files upload. Never send local paths.
- Send an Idempotency-Key on every REST generation so a retry after a timeout cannot start a second run.
- Return results as the output URLs. Never print the API key.
The balance is the hard ceiling. For a softer one, put a budget rule in the agent's instructions. This block is written for that and names no prices on purpose:
What it costs
There is no charge for the server itself, for list_models, get_credits, quote or get_job. Only generations spend credits, at the same price as the REST API and the web app.
Generating begins with a plan from $10 a month (500 credits a month). Every tool page is open to browse without an account.
Prices per model are in the image generation API with credits guide and on Models.
Questions
Is this a local or a remote MCP server?
Remote. It runs on kinoseed.app over streamable HTTP, so there is no package to install or process to keep alive. Clients that only speak stdio can bridge to it with mcp-remote.
Which clients work?
Claude Code, Claude Desktop (through mcp-remote), Cursor, Windsurf, OpenClaw and any client that supports streamable HTTP with a custom header. Setup for each is on MCP server.
Does the MCP server do video too?
Yes. generate_video starts a clip on any of the video models, and get_job follows it to the video URL.
Can I use it without MCP?
Every tool is a REST operation under /api/v1, described in /openapi.json. The AI video generation API guide shows the REST flow.
Sign in, create a key on your account page, and call any model with one key.