Skip to main content
Glama

Make character video

make_character_video

Make a short video of one bitHuman house character saying text word for word, in its own voice. Returns video_url (an MP4 that plays inline and expires after 7 days), duration_seconds and share_url, labelled AI character. Example: {"character": "wise-pup", "text": "Welcome back! Ready for today's lesson?"}. Limits: text is 3 to 200 characters and at most 19 seconds when spoken (about 15 s is typical); one video at a time per user; 10 videos per user per UTC day; the same character and text again replays the earlier clip at once. Errors come back as isError with one sentence saying what to do: an unknown character (call list_characters), text too short or too long (rewrite it), personal information such as a phone number, email or street address (remove it), busy (retry in a minute), the daily limit (try again after 00:00 UTC), resting (try later). To hold a conversation in character, write each reply yourself and call this tool once per reply.

Input Schema

NameRequiredDescriptionDefault
textYesThe exact words the character says, 3 to 200 characters (at most 19 seconds of speech). No personal information.
characterYesA character id from list_characters.

Output Schema

NameRequiredDescriptionDefault
talkNo
labelYes
characterYes
share_urlNo
video_urlYes
poster_urlNo
share_textNo
label_burnedNo
duration_secondsYes
make_your_own_urlYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / character / enum
      Previous value: -[
      -  "wise-pup",
      -  "pip-the-red-panda-barista",
      -  "shelly-tidewater",
      -  "gio-the-curious-giraffe-guide",
      -  "grumblewick",
      -  "bolt",
      -  "mochi",
      -  "sprocket",
      -  "rusty",
      -  "peanut",
      -  "yuki",
      -  "chef-waddles",
      -  "naps",
      -  "captain-axl",
      -  "toasty",
      -  "flicker"
      -]New value: +[
      +  "wise-pup",
      +  "pip-the-red-panda-barista",
      +  "shelly-tidewater",
      +  "gio-the-curious-giraffe-guide",
      +  "grumblewick",
      +  "bolt",
      +  "mochi",
      +  "sprocket",
      +  "rusty",
      +  "peanut",
      +  "yuki",
      +  "chef-waddles",
      +  "naps",
      +  "captain-axl",
      +  "toasty",
      +  "flicker",
      +  "mari"
      +]
  2. Changed3 schema fields changed
    • changedInput schema / properties / character / description
      Previous value: -"The character id from list_characters."New value: +"A character id from list_characters."
    • changedInput schema / properties / text / description
      Previous value: -"The exact words the character says."New value: +"The exact words the character says, 3 to 200 characters (at most 19 seconds of speech). No personal information."
    • addedOutput schema / properties / label_burned
      Added value: +{
      +  "type": "boolean"
      +}
  3. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only declare a non-read-only, non-destructive, non-idempotent local mutation; the description goes well beyond that with return fields (video_url expiring after 7 days, duration_seconds, share_url), an AI-labelling disclosure, concurrency and daily quotas, the same-input replay behavior, and a full error taxonomy with recovery actions. The only nuance is that the identical-input replay described is somewhat idempotent-like while idempotentHint=false, but the dominant new-video-with-quota behavior is non-idempotent, so this is not a contradiction.

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

Conciseness4/5

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

Everything stated earns its place given the number of failure modes and limits, and the purpose plus return values are front-loaded. It is a single dense paragraph mixing returns, limits, example, and errors, so light structural separation would help, but there is no filler.

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 two-parameter generation tool the description covers the purpose, the quota and concurrency constraints, the caching behavior, and every recoverable error with a next action, and an output schema exists so return-value detail need not be restated. Nothing needed to call it correctly 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% and the enum/min/maxLength are already in the schema, so the baseline is 3. The description adds real meaning beyond it: the ~19-second speech ceiling (~15 s typical), the word-for-word fidelity requirement, the excluded personal-information content, and a concrete example call.

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 states a specific verb and resource ('Make a short video of one bitHuman house character saying `text` word for word, in its own voice') and distinguishes itself from siblings by routing conversational use to a per-reply pattern rather than talk_to_character and pointing at list_characters for character ids. An agent can tell what this produces without opening the schema.

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?

It gives explicit when-to-use guidance ('To hold a conversation in character, write each reply yourself and call this tool once per reply') and names the alternative for the failure case (unknown character -> call list_characters). Limits, retry timing, and the replay-on-identical-input condition are all stated, so usage conditions are unambiguous.

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.

Resources