Skip to main content
Glama

Prepare videos (quote)

create_project

Step 1 of 2: nothing is charged. Creates a draft project from a website URL and/or a brief with your settings (goal: a preset, or custom with a one-line goal_description of the user's own goal; platform, aspect, duration, tier, resolution, language, voice, music, quantity, Brand Kit), starts the free site analysis when a URL is given, and returns a quote: quote_id, credits per video and in total, balance after. Show the quote to the user; only after they approve that exact amount, call confirm_operation(quote_id). Quotes expire after 30 minutes. Language: the one you pass always wins; without it the films follow the analysed site's language (applied once the analysis is read, at the latest at confirm_operation), else the brief's, with a native voice of that language.

Input Schema

NameRequiredDescriptionDefault
urlNoWebsite or product page to analyse (free).
goalYessales, signups, app_installs, launch, awareness, explainer or retarget; or custom, with goal_description (the user's own goal).
lookNoThe film's look: auto (default, picked from your brand) or a style family: editorial-paper, dark-tech, playful, luxe-editorial, bold-retail, soft-gradient, brutalist-grid, organic-illustrated (get_options describes each).
tierNoDeprecated: use quality. t1 / t2 = standard, t3 = studio.
briefNoWhat to say: product, audience, offer, angle. Required (20+ characters) without a url.
titleNo
aspectNo
qualityNostandard (default) or studio: one rate per second each (get_options qualities).
captionsNoBurned-in subtitles of the voice-over (default off: the video already shows its key words on screen).
languageNoThe films' language (voice-over, on-screen text, title). Default: the analysed site's language (with a url: applied when the analysis is done, at the latest when the quote is confirmed), else the brief's, else en. A language given here always wins.
platformNoWhere it runs; sets the default aspect and safe zones.
quantityNoIndependent variants of the same brief (plan maximum in get_options).
voice_idNoA voice id from get_options; default: one that suits the goal, a native speaker of the language where we have one.
music_moodNo
resolutionNo1080p
visibilityNoDefault: the account setting (public in the gallery unless changed).
brand_kit_idNoFrom list_brand_kits; default: the account's default kit.
duration_secondsNo
goal_descriptionNoWith goal custom (required then): the user's own goal in one line, ≤ 140 characters — what viewers should do after watching ("Book a free 15-minute call with our team"). The script, pacing and call to action are written for it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / goal / description
      Previous value: -"sales, signups, app_installs, launch, awareness, explainer or retarget"New value: +"sales, signups, app_installs, launch, awareness, explainer or retarget; or custom, with goal_description (the user's own goal)."
    • changedInput schema / properties / goal / enum
      Previous value: -[
      -  "sales",
      -  "signups",
      -  "app_installs",
      -  "launch",
      -  "awareness",
      -  "explainer",
      -  "retarget"
      -]New value: +[
      +  "sales",
      +  "signups",
      +  "app_installs",
      +  "launch",
      +  "awareness",
      +  "explainer",
      +  "retarget",
      +  "custom"
      +]
    • addedInput schema / properties / goal_description
      Added value: +{
      +  "description": "With goal custom (required then): the user's own goal in one line, ≤ 140 characters — what viewers should do after watching (\"Book a free 15-minute call with our team\"). The script, pacing and call to action are written for it.",
      +  "maxLength": 560,
      +  "type": "string"
      +}
    • removedInput schema / properties / language / default
      Removed value: -"en"
    • addedInput schema / properties / language / description
      Added value: +"The films' language (voice-over, on-screen text, title). Default: the analysed site's language (with a url: applied when the analysis is done, at the latest when the quote is confirmed), else the brief's, else en. A language given here always wins."
    • changedInput schema / properties / voice_id / description
      Previous value: -"A voice id from get_options; default: one that suits the goal."New value: +"A voice id from get_options; default: one that suits the goal, a native speaker of the language where we have one."
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: nothing is charged, the site analysis is free, the call returns a quote rather than a job, quotes expire after 30 minutes, and the tool is non-destructive and gated on user approval. Language resolution precedence (explicit > site > brief > en) is spelled out with the timing caveat ('at the latest at confirm_operation').

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?

Front-loads the two most decision-relevant facts ('Step 1 of 2: nothing is charged') before any detail. The single dense paragraph is efficient, though the trailing language-precedence sentence is long and largely duplicates the schema's language description.

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 19-parameter, non-idempotent, open-world tool with no output schema, the description still names the return payload (quote_id, credits per video and total, balance after) and the confirmation/expiry contract. Nothing critical to calling it correctly is missing.

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

Parameters3/5

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

Schema coverage is 74%, so the baseline is 3. The description enumerates parameter names (platform, aspect, duration, tier, resolution, voice, music, quantity, Brand Kit) but mostly without adding meaning beyond the schema, and it restates the goal/custom/goal_description rules already documented in the schema.

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 ('Creates a draft project') and pins its place in the pipeline ('Step 1 of 2'), which is exactly what separates it from confirm_operation and get_estimate. An agent can pick it correctly 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 Guidelines4/5

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

Explicit sequencing guidance: 'Show the quote to the user; only after they approve that exact amount, call confirm_operation(quote_id)' — a clear when-to-use and when-not-to-proceed rule. The sibling get_estimate, which also produces cost estimates, is never mentioned, so one alternative remains ambiguous.

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.