Skip to main content
Glama

Run a Marketing Agent style

run_marketing_style

Starts a Marketing Agent style on the user's product photo and reserves its credits (refunded in full if it fails). Files must be the user's own uploads (create_upload or import_image). An avatar is a real person: ask whether they agreed and pass consent true; UGC with an avatar also needs consent_id: give the script in wish and call request_consent for lip_sync first (a refusal says how). Pass max_credits (the price you showed, per run) and a new idempotency_key per intended run. count 1–4 starts separate jobs for styles with batch. UGC is one video job: the person (avatar photo or a Tevyon character) holds the product and says the script in wish, word for word, in a Tevyon voice; its length and price follow the script. Without wish Tevyon writes a short script (hook, benefit, call to action, about 10 s) from the product photo and returns it as script.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "style_id": "<style_id>",
      "idempotency_key": "<idempotency_key>"
    },
    "name": "run_marketing_style"
  }
}

Input Schema

NameRequiredDescriptionDefault
lookNoOwn styles (own: true): the scene, light and mood in the user's words; ad_reference can add a picture to follow.
wishNoScene wish, the lettering for text styles (required where textRequired: the user's exact words, never invented), a description for posters without photo, or the spoken script for UGC (up to 220 characters, about 15 s; leave it out and Tevyon writes one).
countNo
voiceNoUGC: a Tevyon voice id that says the script (women v-11 … v-20, men v-01 … v-10). Left out: a voice that fits the person (a character's own, or read from the avatar photo), returned as voice.
aspectNoOne of the style's aspects.
avatarNoPath of a photo of the person (styles with avatar).
consentNotrue only if the person in avatar agreed.
productNoPath of the product photo (/api/media/uploads/…).
durationNoSeconds, for video styles within the style's duration.
style_idYesFrom list_marketing_styles.
characterNoUGC: a Tevyon character id (fig-01 … fig-48) instead of an avatar photo; needs no consent.
subtitlesNoUGC: the script as captions in the video, timed to the speech (free; recommended, most feeds play muted; off when left out).
consent_idNoUGC with an avatar: the consent_id from request_consent for lip_sync (references [avatar], the script of wish), after the user confirmed in Tevyon.
max_creditsNoThe credits of one run you showed. Nothing starts if it now costs more.
ad_referenceNoPath of an ad whose layout and look to follow (styles with adReference).
wait_secondsNoSeconds to wait for the job to finish (0 to 50).
idempotency_keyYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations by disclosing billing behavior (credits reserved up front, refunded in full on failure, max_credits blocks a run if the price rose) and dedup semantics (a new idempotency_key per intended run). It also explains job cardinality (count 1–4 = separate jobs; UGC = one video job) and that Tevyon falls back to writing a ~10 s script when wish is omitted, returned as script.

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?

The lead sentence is well front-loaded and credit/consent guidance earns its place, but the final two sentences are dense run-ons that restate schema-level facts about wish, voice, and character. Splitting the UGC explanation into discrete points would be easier to scan than the current semicolon-chained paragraph.

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, credit-spending job launcher with no output schema, the description covers cost, consent, idempotency, and UGC flow well and even names some returned fields (script, voice). It never says what the call itself returns (job id, status) or how to follow up via get_job, 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 coverage is already 88%, so the baseline is 3, and the description still adds meaning: max_credits is "the price you showed, per run", count launches separate jobs, wish is spoken word for word in UGC and drives length and price. It does not cover look, aspect, duration, or wait_seconds beyond what the schema says, so it stops short of a 5.

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: "Starts a Marketing Agent style on the user's product photo and reserves its credits." It also names the related siblings (create_upload/import_image for files, request_consent for consent) so an agent can tell it apart from continue_marketing_ugc and ask_marketing_agent.

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 conditional routing: files must come from create_upload or import_image; consent true plus a consent_id from request_consent when a real avatar appears in UGC, with a stated fallback when refused. It also states when to pass count (batch styles) and when a UGC run is a single video job, so the agent knows which path it is on.

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