Skip to main content
Glama

Make several faceless videos

create_videos
DestructiveIdempotent

Make up to 10 faceless videos in one call (more: batches of 10; a month of posts is plan_content), each from an idea or an exact script, with shared defaults (seconds, style_id, formats, voice: matilda/sarah/jessica/alice/liam/chris/brian/george/roger/laura/charlie/river/will/eric/bella/daniel/lily/bill/adam/callum/harry, sound_effects). Every item is checked before any starts; each is idempotent on its own operation id (operation_id.N), so a retry never makes doubles. Each video costs 3 credits to make, plus 1 for each started minute of voice-over and 1 for each started minute of finished video after the first, plus 2 for each extra format; dry_run: true answers the total and starts nothing. Returns the video ids; check each with check_video, then schedule_plan. Cost: About 4 credits per 30-second video (3 credits to make, plus 1 for each started minute of voice-over and 1 for each started minute of finished video after the first, plus 2 for each extra format).

Input Schema

NameRequiredDescriptionDefault
itemsYesUp to 10 videos, each with exactly one of idea or script.
dry_runNotrue: answer the credit cost and start nothing.
defaultsNoSettings every item gets unless it says otherwise.
operation_idYesA stable ID for this request. Preserve it on retries. Use a new ID only for a deliberate new request.

Output Schema

NameRequiredDescriptionDefault
codeNo
costNo
errorNo
itemsNo
stateNo
statusNo
videosNo
dry_runNo
messageNo
plan_idNo
style_idNo
video_idNo
availableNo
import_idNo
output_idNo
studio_urlNo
version_idNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / defaults / properties / voice / description
      Previous value: -"The narrator for a video made from words: matilda, sarah, jessica, alice, liam, chris, brian, george, roger, laura, charlie, river, will, eric, bella, daniel, lily, bill, adam, callum, harry. Leave out to let Clypmint pick one that fits."New value: +"The narrator for a video made from words: matilda, sarah, jessica, alice, liam, chris, brian, george, roger, laura, charlie, river, will, eric, bella, daniel, lily, bill, adam, callum, harry (sarah: calm, reassuring, health and money; alice: a clear British educator; brian: deep documentary; liam: energetic ads). Leave out to let Clypmint pick one that fits the words. \"Voice: <name>\" in instructions does the same."
    • changedInput schema / properties / items / items / properties / voice / description
      Previous value: -"The narrator for a video made from words: matilda, sarah, jessica, alice, liam, chris, brian, george, roger, laura, charlie, river, will, eric, bella, daniel, lily, bill, adam, callum, harry. Leave out to let Clypmint pick one that fits."New value: +"The narrator for a video made from words: matilda, sarah, jessica, alice, liam, chris, brian, george, roger, laura, charlie, river, will, eric, bella, daniel, lily, bill, adam, callum, harry (sarah: calm, reassuring, health and money; alice: a clear British educator; brian: deep documentary; liam: energetic ads). Leave out to let Clypmint pick one that fits the words. \"Voice: <name>\" in instructions does the same."
  2. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"https://json-schema.org/draft/2020-12/schema"New value: +"http://json-schema.org/draft-07/schema#"
  3. Changed4 schema fields changed
    • changedInput schema / properties / defaults / properties / voice / description
      Previous value: -"The narrator for a video made from words: matilda, sarah, jessica, alice, liam, chris, brian, george. Leave out to let Clypmint pick one that fits."New value: +"The narrator for a video made from words: matilda, sarah, jessica, alice, liam, chris, brian, george, roger, laura, charlie, river, will, eric, bella, daniel, lily, bill, adam, callum, harry. Leave out to let Clypmint pick one that fits."
    • changedInput schema / properties / defaults / properties / voice / enum
      Previous value: -[
      -  "matilda",
      -  "sarah",
      -  "jessica",
      -  "alice",
      -  "liam",
      -  "chris",
      -  "brian",
      -  "george"
      -]New value: +[
      +  "matilda",
      +  "sarah",
      +  "jessica",
      +  "alice",
      +  "liam",
      +  "chris",
      +  "brian",
      +  "george",
      +  "roger",
      +  "laura",
      +  "charlie",
      +  "river",
      +  "will",
      +  "eric",
      +  "bella",
      +  "daniel",
      +  "lily",
      +  "bill",
      +  "adam",
      +  "callum",
      +  "harry"
      +]
    • changedInput schema / properties / items / items / properties / voice / description
      Previous value: -"The narrator for a video made from words: matilda, sarah, jessica, alice, liam, chris, brian, george. Leave out to let Clypmint pick one that fits."New value: +"The narrator for a video made from words: matilda, sarah, jessica, alice, liam, chris, brian, george, roger, laura, charlie, river, will, eric, bella, daniel, lily, bill, adam, callum, harry. Leave out to let Clypmint pick one that fits."
    • changedInput schema / properties / items / items / properties / voice / enum
      Previous value: -[
      -  "matilda",
      -  "sarah",
      -  "jessica",
      -  "alice",
      -  "liam",
      -  "chris",
      -  "brian",
      -  "george"
      -]New value: +[
      +  "matilda",
      +  "sarah",
      +  "jessica",
      +  "alice",
      +  "liam",
      +  "chris",
      +  "brian",
      +  "george",
      +  "roger",
      +  "laura",
      +  "charlie",
      +  "river",
      +  "will",
      +  "eric",
      +  "bella",
      +  "daniel",
      +  "lily",
      +  "bill",
      +  "adam",
      +  "callum",
      +  "harry"
      +]
  4. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "description": "Clypmint create_videos result. Error results carry error; successful requests expose the identifiers and state available for the next step. Signed media stays in private metadata.",
      +  "properties": {
      +    "available": {
      +      "type": "boolean"
      +    },
      +    "code": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "cost": {
      +      "additionalProperties": true,
      +      "type": "object"
      +    },
      +    "dry_run": {
      +      "type": "boolean"
      +    },
      +    "error": {
      +      "type": "string"
      +    },
      +    "import_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "items": {
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "output_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "plan_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "state": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "type": [
      +        "string",
      +        "integer",
      +        "null"
      +      ]
      +    },
      +    "studio_url": {
      +      "format": "uri",
      +      "type": "string"
      +    },
      +    "style_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "version_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "video_id": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "videos": {
      +      "items": {
      +        "additionalProperties": true,
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  5. Added

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare destructive=true and idempotent=true, and the description adds real context: every item is validated before any rendering starts, retries are safe because each item is keyed on operation_id.N, and dry_run returns cost without starting work. The only shortfall is that it never says what makes this destructive or how partial failures are reported, though it does say validation happens up front.

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

Conciseness3/5

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

Front-loaded with the batch limit and routing, which is good, but the pricing is stated twice in near-identical wording, padding the definition. The long inline voice list also bloats a sentence that the schema already documents.

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 nested, 4-parameter batch mutation with an output schema and annotations, the description covers the cap, the per-item idea-or-script requirement, shared defaults, idempotency, dry-run, cost, and the next steps. An agent has everything needed to call it correctly and interpret the result.

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 baseline is 3, but the description adds meaning beyond the schema: it lists the shared defaults by name (seconds, style_id, formats, voice, sound_effects), enumerates the voice options, and ties seconds and extra formats to cost impact. It still leaves asset_ids, style_version and music_staging_key unexplained.

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?

States a specific verb and resource ('make up to 10 faceless videos in one call') and distinguishes itself from singular create_video and from plan_content for a month of posts. An agent can route between batch, single, and planning tools without opening a 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?

Explicit routing rules: more than 10 videos means batches of 10, a month of posts means plan_content, and the follow-up path is check_video then schedule_plan. It also names the dry_run condition for price checking before committing.

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