A video production
MCP server.

Kleo exposes one film workflow to any MCP client: intake, treatment, storyboard, a render on a GPU rented for the job, and the links to a finished narrated film in 4K at 60 fps — frames by Google Nano Banana Pro, moving footage by ByteDance Seedance 2.5. One narrator, two looks, two products: a film, 15 seconds to 5 minutes, or an animatic of the same storyboard, 15 to 60 seconds. In an assistant there is nothing else to set up: it does the work through the tools below. The MCP server is one way to use Kleo; the other is the Kleo app, with the same account and credits.

https://mcp.kleooai.com/mcp
Koi Supra, the previzThe grey Blender pass behind the Koi Supra film.
01Endpoint

Connect over HTTPS.

Kleo’s connector is a remote MCP server: one address, the Streamable HTTP transport, OAuth 2.1. Configure the address in your MCP client and finish the authorization in the browser; there is no sign-up form and no password.

  • Endpointhttps://mcp.kleooai.com/mcp
  • TransportStreamable HTTP; the same address in every client.
  • AuthOAuth 2.1. During authorization the client opens Kleo’s own page; you click Start free and you are back in the client with 5 credits on the account. No form, no card. The address also takes ?src=<channel> (for example ?src=producthunt): Kleo notes the channel on the new account, and the address works the same without it.
  • Without a tokenA GET on the endpoint answers 401 and carries the OAuth resource metadata. It is a protocol endpoint, not a web page: opening it in a browser is not the connection process.
  • ClientsClaude, ChatGPT, Grok, Claude Code, Cursor, VS Code, OpenCode, Gemini CLI, Windsurf, the Gemini app, and any MCP SDK with the HTTP transport.

Connection steps for every client →

From a terminal or an editor.

Here are two client configurations as examples. The steps for the others, from Claude and ChatGPT to VS Code and Gemini CLI, are on the connect page.

Claude Code cli

# add Kleo once claude mcp add --transport http kleo https://mcp.kleooai.com/mcp # then, inside a session: /mcp → Kleo → Authenticate

Kleo’s page opens in the browser; click Start free and you are back in Claude Code.

Cursor ~/.cursor/mcp.json

{ "mcpServers": { "kleo": { "url": "https://mcp.kleooai.com/mcp" } } }

Save the file. When Cursor connects, Kleo’s page opens: click Start free and you are back in Cursor.

02Workflow

The production sequence.

The tools run in a fixed order. The assistant reads your request, gets the treatment from kleo_adapt_prompt, writes the storyboard under kleo_storyboard_guide, and only then asks Kleo to render.

The kleo tools, in the order the assistant runs them

Tool What it does
kleo_adapt_prompt Reads the request against the intake (subject, length, format, look, film or animatic, AI upscale, music, subtitles, narration language; optional audience, tone, what must appear), asks for what is missing in one message, then returns the spec every picture is checked against and the treatment: logline, angle, opening, acts, ending, look, pacing, narrator.
kleo_upload_link Gives the user a link to upload their own photos (up to 8, valid 48 hours); Kleo draws the characters from them.
kleo_storyboard_guide Explains how to write the storyboard: the direction block, the scenes, the shots and the limits.
kleo_create_video Checks everything, states the exact credits, then starts the render on a GPU rented for that job. Takes product: "film" or "animatic".
kleo_get_job Reports the progress of a job in one call.
kleo_wait_for_video Waits for the render and reports the progress until the film is ready.
kleo_get_result Returns the links to the finished film.
kleo_cancel_job Stops a render and refunds the credits it had not spent.
kleo_list_templates Lists the one workflow, film, with its formats, lengths and voices, and the credits left on the account. The animatic is a product of that same workflow.
kleo_account Shows the credits, whether the account has paid (has_paid, which decides if a film can be ordered), the link to the account page, the referral link, and the private Kleo key.
kleo_redeem Redeems a launch code: one film of up to 15 seconds for an account that has not bought a pack, once per account. A used-up or unknown code is refused in words and charges nothing.
kleo_generate_thumbnail Not in the beta yet.

Use the live server’s tool schemas for the exact arguments. If your client limits how long a tool call may run, the assistant can poll kleo_get_job instead of holding kleo_wait_for_video open.

The sequence, on screen

Treatment, storyboard, footage and edit, as our own ads show them.

The gallery
The Founder Film KitA founder needs a film for his app and gets one without a camera.
Claude's own film studioA folk-horror trailer storyboarded, generated and cut in one chat.
Connect Kleo in ClaudeToo many apps, too much time: add the connector, describe the film, render.
03Parameters

What a render takes.

kleo_create_video receives the request in your words plus the choices the intake asked for. The treatment and the storyboard come from the two planning tools, not from your keyboard.

  • promptThe request in the user’s own words.
  • productfilm (the default: every shot a generated clip, priced by length, for accounts that have bought a pack) or animatic (the drawn frames under a moving camera, no generated clip, 5 credits up to 20 seconds and 10 up to 60, 15 to 60 seconds, for every account).
  • duration_s15 to 300 seconds for a film, 15 to 60 for an animatic.
  • format16:9 for YouTube and landscape, 9:16 for a Short and vertical.
  • stylerealistic (generated live-action footage, cinematic) or animation (a 2D animated film). Nano Banana Pro draws every frame in that look; in a film Seedance 2.5 turns each frame into moving footage, an animatic keeps the look in its drawn frames.
  • languageen (the default) or it narration.
  • musicThe user’s answer: no, yes or the kind of track they want, an instrumental bed under the narration.
  • subtitlesyes for burned-in subtitles, no for none; an .srt file comes with the film either way.
  • ai_upscaleFilm only: yes for Real-ESRGAN + RIFE on every shot, for the film’s credits again (at least 5), refunded automatically if it cannot be applied; otherwise the classic 4K 60 fps finish.
  • referencesOptional: the handles of the user’s pictures, from kleo_adapt_prompt or a kleo_upload_link upload.
  • voiceOptional: narrator-en-m, narrator-en-f, narrator-it-m or narrator-it-f.
  • treatmentOptional: the treatment returned by kleo_adapt_prompt (logline, angle, opening, acts, ending, look, pacing, narrator).
  • storyboardOptional: the storyboard written under kleo_storyboard_guide (direction block, scenes, shots, limits).

Price

A film costs one credit per 1.5 seconds, rounded up, with a 10-credit minimum: 15 s = 10, 20 s = 14, 30 s = 20, 60 s = 40, 3 min = 120, 5 min = 200. An animatic is 5 credits up to 20 seconds and 10 up to 60. Packs are one-off: €5 = 10 credits, €15 = 35, €40 = 100. A €5 pack adds 10 purchased credits and unlocks film rendering: exactly one 15-second film. A 20-second film costs 14 credits and a 30-second film 20. Your 5 starter credits buy one animatic of up to 20 seconds. A launch code opens one free 15-second film before any pack. Ask your assistant to confirm the credits for your chosen product and the exact quote before you buy or render.

Launch codes, referral, email

kleo_redeem takes a launch code (PRODUCTHUNT, HN, REDDIT, X, TIKTOK): one film of up to 15 seconds for an account that has not bought a pack, once per account, 30 accounts per code. kleo_account shows the account’s referral link: a new account made through it that buys its first pack gets 5 extra credits on that pack, and the referrer 10.

Nothing is charged until the job is accepted

kleo_create_video answers with the exact credits first; a refused call charges nothing, and kleo_cancel_job refunds the credits a stopped render had not spent.

Render time

A film typically takes 25–35 minutes on the rented GPU, an animatic about 15–20; the server tells the assistant the estimate for the job. It is not a fixed time.

Credit packs and the cost of any length →

Footage, not stills

Kleo films cut into the Kleo team’s ads: every shot moves.

The examples
One sentence, any lookKleo's 30-second reel: Apex, Tether, 15 seconds to 5 minutes.
The DiverA deep-sea diver leaves the laundromat for the bowling lane.
Kleo AI x ClaudePaywall after paywall, then Kleo in Claude: from grey previz to the finished film.
04Output

A finished video as the output.

One MP4: 4K (3840×2160 or 2160×3840) at 60 fps, 16:9 or 9:16, with one narrator in English or Italian and, in a film, every shot generated as moving footage by Seedance 2.5. kleo_get_result hands the assistant a link to the file; the link is good for 7 days.

Kleo never publishes to YouTube, TikTok or another channel. The film carries the music track and burned-in subtitles the user asked for in the intake. The current Terms specify a small Kleo mark on the video. Review the output conditions before purchasing. Two looks are available: realistic and animation. See the looks and sample notes.

Watch the realistic samples →

Finished videos

16:9 or 9:16: Shorts the Kleo team cut from Kleo films.

Vertical ads
Hello, KittenA ginger kitten trots up to the lens and meows.
Blender to filmGrey Blender previz on top, the finished shots underneath.
Previz to filmA woman in white and a blue car in neon rain: previz above, film below.
AI is not creativeMotion graphics made by Claude Opus 5.5 and Kleo.
05Account

Account and job handling.

Keep the OAuth tokens and the Kleo key out of logs and public examples: the key is private, and whoever has it owns the account. There is no dashboard; the account page (a read-only balance and the checkout links) is reached by asking the assistant, and kleo_account returns it.

A render spends credits: ask for confirmation before kleo_create_video runs, and reuse the job identifier when checking progress or cancelling.

Film

Open Kleo
Copied