Skip to main content
Glama

Kleo

Create a video

kleo_create_video

Step 3. ASK FIRST, THEN CALL. Do not call this until the user has said, in their own words, what the video should be about. If the subject is YOUR idea and not theirs — you suggested a topic, or you filled a vague request in with your own guess — stop and ask them, and wait for the answer. A render spends a credit they cannot get back once it starts and takes about twenty minutes, so a video nobody asked for is not a fast answer, it is a wasted one. When their request is short but clear ("a Short about pirates"), that is enough: do not interrogate them. When it is missing the subject entirely, ask for the subject and nothing else. Starts rendering, in the chosen look (realistic or animation), either the FILM — every shot generated as moving footage from its own frame, narrated, 4K 60 fps; for accounts that have bought a credit pack (kleo_account → has_paid) — or the ANIMATIC of the same storyboard (product: "animatic": the drawn frames with the camera moving over each one, same narrator and layer, no generated clip; 5 credits flat, up to 60 seconds, every account) — from a prompt, a length, a format and the user's two answers about music and subtitles (plus your storyboard from kleo_storyboard_guide, if you wrote one). The price follows the length for a film (1 credit buys 2 seconds of film, 10 credits minimum: 15 credits for a 30-second Short, 30 for a minute, 150 for five minutes; an animatic of the same storyboard (the drawn frames with camera moves and the narration, no generated clip, up to 60 seconds) costs 5 credits flat); the tool answers with the exact credits before anything is charged, and a render takes 25-35 minutes on a rented GPU (an animatic fifteen to twenty). Returns at once with the video number (job_id), the estimated minutes (eta_min) and the credits used; the render runs on a GPU in the background. Tell the user the number and the estimate, then offer to check progress with kleo_get_job. If the tool returns an error, nothing was charged: fix what it says and call again.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
musicNoThe user's answer about music, exactly as you passed it to kleo_adapt_prompt: "no" (or null) for none; "yes" or the kind they want for an instrumental track under the narration (the treatment's "music" brief is used when it has one). Kleo orders the track from kie.ai and ducks it under the voice.
styleNoThe look: "realistic" (cinematic live action) or "animation" (a 2D animated film); both narrated; every shot starts as one frame drawn in that look — a generated clip in the film, a camera move over the frame in the animatic. Pass the treatment's "look"; when omitted the treatment decides, and realistic when nothing says.
voiceNoVoice id from kleo_list_templates (narrator-en-m, narrator-en-f, narrator-it-m, narrator-it-f). The engine ids used inside a storyboard (am_michael, af_heart, bf_emma, im_nicola, if_sara) are accepted too. Optional.
formatYes16:9 for YouTube/landscape, 9:16 for a Short/TikTok/Reel, as the user said or answered it. Required: Kleo never picks a frame for the user.
promptYesWhat the video is about, IN THE USER'S OWN WORDS (8 to 4000 characters): topic, angle, facts, names, tone, anything that must appear on screen. If you are about to write this field out of an idea of your own, that is the sign to ask them instead: the credit and the twenty minutes are theirs, so the subject has to be theirs too.
productNoWhat to make from the storyboard: "film" (default; every shot a generated clip, priced by length, for accounts that have bought a credit pack) or "animatic" (the same drawn frames with the camera moving over each one, the same narrator and layer, 4K 60 fps, no generated clip; 5 credits flat, up to 60 seconds, every account). Say which one you are ordering to the user before you call.
languageNoVoice and caption language. A storyboard you pass must declare this same language.en
templateNoOptional; the only one is "film" (realistic or animated, 16:9 for YouTube or 9:16 for Shorts; 15 to 300 seconds for a film, 15 to 60 for an animatic). Omit it.
subtitlesNoThe user's answer about burned-in subtitles: true/"yes" for thin cinema subtitles in the picture, false/"no" for none. An .srt file is delivered either way.
treatmentNoThe treatment object kleo_adapt_prompt returned for this request, unchanged or edited as the user asked (logline, angle, device, opening, ending, acts, visual, pacing, narrator, motifs, decisions, prose, variation). Kleo plans the direction and every scene under it. Checked before anything is charged; on error the tool lists the problems. Omit it and Kleo writes a treatment itself while planning — the user just never sees it first.
duration_sYesLength in seconds, as the user said or answered it (kleo_adapt_prompt asks when the request does not say). Required: Kleo never picks a length for the user.
storyboardNoOptional but recommended: the storyboard you wrote following kleo_storyboard_guide (a Keou project object without id, script_file, music_quiet or image scenes). IT MUST INCLUDE THE "direction" BLOCK the guide asks for first — a storyboard without one is refused, because the direction is what keeps a character the same person across shots and gives every scene the colour of its section. Its format and language must equal the ones you pass here, and its voice must belong to that language. When omitted entirely, Kleo plans the whole storyboard, direction included, from the prompt. Checked before anything is charged; on error the tool lists the problems so you can fix them and call again.
notify_emailNoOptional: email the download links when the render finishes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes far beyond the sparse annotations: it discloses that a render spends a non-refundable credit, takes 25–35 minutes, runs on a rented GPU in the background, returns job_id/eta_min/credits, charges nothing on error, and that animatics have a flat 5-credit cost. This rich behavioral context is genuinely useful for an agent deciding whether and how to invoke the tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense wall of text with heavy redundancy: film and animatic definitions and pricing are repeated nearly verbatim, and many parentheticals restate schema content. It is front-loaded with the critical ask-first rule, but it is not concise; several sentences could be trimmed or converted to structured bullets without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 13 parameters, nested objects, and no output schema, the description is exceptionally complete. It covers return shape, cost, timing, error behavior, user consent prerequisites, storyboard requirements, pricing rules, and the follow-up sibling tool. Nothing essential for correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents each parameter thoroughly. The description adds value by linking parameters to workflow decisions—e.g., prompt must be in the user's own words, product choice affects pricing, storyboard must include the direction block, and the render's cost depends on duration and product. This is a meaningful increment over the individual schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool starts rendering a video (film or animatic) from a prompt, length, format, and user preferences, naming the exact deliverable and workflow. It distinguishes itself from siblings by explicitly handing off to kleo_get_job for progress checks and referencing kleo_adapt_prompt and kleo_storyboard_guide as upstream tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit when-to-call and when-not-to-call guidance: 'Do not call this until the user has said, in their own words, what the video should be about.' It also states that short clear requests are sufficient, that missing subjects should be asked for, and that after calling, the agent should offer kleo_get_job to check progress.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.