Skip to main content
Glama

UGC Fans

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). 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

TableJSON 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/...
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. First observed

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only declare the generic profile (not read-only, not idempotent, not destructive), so the description carries real weight and delivers it: it spends account credits, explains the talking-cost relationship to avatar models, states the consent/rights gate for motion and swap, and says it returns a job (async). It does not cover job lifecycle details such as awaiting, cancelling, or failure behavior, which matters for a job-returning mutation.

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?

Three dense sentences, front-loaded with purpose, then modes and cost, then prerequisites. Each sentence carries distinct information (mode semantics, credit cost, eligibility/consent), so nothing is filler, though the parenthetical '(a picture)' and the closing consent sentence are slightly compressed for the amount of constraint they encode.

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?

With no output schema, the description correctly signals the async contract ('returns a job') and covers prerequisites, rights gating, and cost for a 16-parameter tool that is fully schema-documented. It leaves the agent to discover job retrieval via siblings (get_job, wait_job), which is a minor gap rather than a blocking one.

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 genuine meaning by mapping behavior to mode: talking = speak a line, motion = follow a reference clip, swap = replace the person in a clip, product = hold a product picture. This lets an agent infer which of the 16 parameters apply to the chosen kind, beyond the schema's per-parameter prefixes.

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?

Opens with a specific verb and resource ('Puts a saved person on screen and returns a job') and immediately enumerates the four modes (talking, motion, swap, product), so an agent knows exactly what class of output this produces. The 'saved person' scope and the per-mode behaviors distinguish it from generic siblings like ugcfans_make_video even without naming them.

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?

Gives strong preconditions: the person must be saved with a portrait and, if real, recorded consent at ugc.fans/library, and motion/swap additionally require rights_confirmed: true set only after the person confirms use of the source clip. It also names ugcfans_list_models for pricing context. It stops short of routing the agent away from this tool toward specific alternatives, so it is clear context without explicit exclusions.

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.