Skip to main content
Glama

Make a clip of a saved person

ugcfans_make_performance

Puts a saved person on screen and returns a job: talking has them speak a line, motion has them move as a reference clip moves, swap puts them in place of the person in a clip, and product shows them holding a product (a picture). Without a quote, returns the cost and makes nothing. With a held quote, spends the account's credits; a talking clip costs about what its avatar model costs (ugcfans_list_models, kind avatar). The person must be saved with a portrait and, if real, recorded consent at https://ugc.fans/library. motion and swap need rights_confirmed: true, given only after the person confirms they may use the source clip.

Input Schema

NameRequiredDescriptionDefault
kindYesWhat to make.
noteNoswap: what to change, in words.
textNotalking: words to speak.
brandNoproduct: the id of a saved brand whose kit holds the product pictures.
imageNotalking: which picture of the person to use, out/...
quoteNoThe held quote for this exact request, after the person confirms its cost.
voiceNotalking, with script or text: the id of the saved voice to speak in.
personYesThe id of the saved person.
scriptNotalking: the id of a saved script to speak.
sourceNomotion and swap: the reference clip's address, out/...
speechNotalking: the id of a saved line to use as the audio.
productNoproduct: the product's name.
settingNomotion and product: where it happens.
handlingNoproduct: how the person has it.
motion_fromNomotion: follow the clip itself or its pose (default clip).
product_imagesNoproduct: pictures of the product, out/...
rights_confirmedNomotion and swap: the person confirms they may use the source clip.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / quote
      Added value: +{
      +  "description": "The held quote for this exact request, after the person confirms its cost.",
      +  "maxLength": 4096,
      +  "type": "string"
      +}
  2. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only cover safety flags (non-read-only, non-idempotent, non-destructive), and the description goes well beyond them: the quote-then-spend credit model, the cost being tied to the avatar model (pointing at ugcfans_list_models), the consent/portrait prerequisite, and the rights_confirmed gate with its provenance. These are material operational facts an agent would otherwise have to guess.

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?

One dense paragraph, front-loaded with the mode enumeration and the quote/spend rule before the prerequisites. Nearly every clause carries information, though the sentence packing the four modes is long and could be broken for scanability.

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

Completeness4/5

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

For a 17-parameter mutation tool with no output schema, the description supplies the prerequisites, the pricing/no-op branch, and the fact that a job is returned. It does not say how to follow up on the returned job (siblings ugcfans_wait_job/get_job exist) or what the failure modes are, which is the main remaining gap.

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 description coverage is 100%, so the baseline is 3, but the description adds cross-parameter meaning the schema cannot: quote is the held quote that authorises spend for that exact request, and rights_confirmed is only valid after the person confirms use of the source clip. It also disambiguates text/script/speech as three ways to drive a talking clip.

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

Purpose4/5

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

States a concrete verb and resource ("Puts a saved person on screen and returns a job") and then enumerates the four modes (talking, motion, swap, product) with a one-line definition of each. That makes the tool's scope unmistakable, though it never names or contrasts a sibling (e.g. ugcfans_make_video, ugcfans_finish_clip) to anchor it in the toolset.

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: without a quote it returns cost and makes nothing, with a held quote it spends credits, and motion/swap require rights_confirmed: true which is only granted after the person confirms rights to the source clip. It also states the prerequisite that the person must be saved with a portrait and recorded consent. An agent knows exactly when it may and may not call this.

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.