Skip to main content
Glama

manage_avatar

Manage the user's saved AI avatars, voices, and avatar-video batches. Load the digital-human Skill first; resolve only fields needed for the current intent. Saved avatar reads, rename, delete and default-voice binding work at account scope without a project. Project media and video operations require a targeted project. Reuse a ready saved avatar when the user names its exact ID, attached reference or unique saved name. Ask only when selection is unresolved or ambiguous: use the Widget Forms Skill visual-choice surface with ready saved avatars that have a preview, never text-only choices, and never silently choose among duplicate names. In embedded ChatCut, use ; the host prefers video and falls back to its image. Reuse an available saved defaultVoice unless the user asks for another voice; defaultVoice reports its current name and availability. Pass defaultVoiceRef to submit contracts. An exact user-chosen voice needs no picker. When voice choice is ambiguous or the user wants auditions, call manage_voice action=list use=avatar and use playable choices with a non-empty previewUrl plus a localized clone_voice action. If no saved avatar is suitable, offer create. Photo creation/revision requires an imported project JPEG/PNG and explicit likeness consent; an upload alone is not consent. Never pass an external source URL. Delete only after explicit confirmation. Voice results expose opaque voiceRef values. Never request, infer, or reveal provider, model, engine, or provider-specific identifiers. In published plugins, never emit raw ChatCut tags. In Codex, map the saved identity id to id, name to label, previewVideoUrl to previewVideo, and previewImageUrl to preview as poster/fallback. Voice choices map voiceRef to the host option id and previewUrl to its audio URL. Embedded voice selection uses one with playable cards and a final card.

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": {
      "action": "<action>"
    },
    "name": "manage_avatar"
  }
}

Input Schema

NameRequiredDescriptionDefault
kindNoRequired for create.
nameNoRequired for create and rename.
textNoOptional replacement text for regenerate-segment when keeping the existing voice.
limitNoTotal playable voice result limit, from 1 to 100. Defaults to 5. Use exactly 5 when recommending voices; request more only when the user explicitly asks to browse more.
tokenNoOpaque continuation token for voices.
actionYes
promptNoSynthetic-avatar description for prompt creation or revision.
speechNoOptional replacement speech source object for regenerate-segment. Pass an object, never a quoted or JSON-stringified value.
taskIdNoRequired for get-task, accept-task, and retry-task. Accepts a unique id prefix.
batchIdNoRequired for get-batch, regenerate-segment, remove-segment, and reorder-segments. Accepts a unique id prefix.
refreshNoFor get: refresh non-terminal identity revisions first.
languageNoOptional language filter for voices.
voiceRefNoRequired for set-default-voice: opaque voiceRef (from manage_voice action=list use=avatar) to save as the avatar's default voice for future generations.
projectIdNoProject for this call (full ID or unambiguous prefix). Explicit-timeline calls never change the target of later calls; legacy project selection applies otherwise.
segmentIdNoRequired for regenerate-segment and remove-segment. Accepts a unique id prefix.
identityIdNoRequired for get, rename, set-default-voice, create-revision, and delete. Accepts a unique id prefix or an exact, unique saved avatar name.
segmentIdsNoFor reorder-segments, every active segment exactly once in the intended order.
timelineIdNo
sourceAssetIdNoImported ChatCut JPEG/PNG asset for photo create/create-revision. A video must be converted to a representative still first.
confirmedDeleteNoRequired and true for delete after the user explicitly confirmed permanent deletion.
confirmedConsentNoRequired and true when create/create-revision uses a real-person image. The user explicitly confirmed ownership or permission.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Since annotations are minimal, the description carries the full burden of behavioral transparency. It details crucial constraints like never revealing provider identifiers, never passing external URLs, the necessity of explicit confirmation for deletion, and platform-specific rules (Codex mapping, ChatCut tags).

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 definition is extremely long and highly dense, reading more like a technical API specification than a concise instruction set. While it is not brief, every sentence provides critical information, preventing the score from dropping to 1 or 2.

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?

Given the complexity (21 parameters and multiple operational modes), the description is complete. It covers necessary UI interactions, safety protocols (consent), workflow logic, and mapping rules for different environments (Codex, ChatCut).

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

Parameters5/5

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

The description adds significant meaning beyond the schema, especially regarding identifier usage. It clarifies that `identityId` can be a unique saved name or an exact ID, defines the strict use case for the `limit` parameter (use 5 when recommending), and details asset requirements (JPEG/PNG for photos).

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?

The purpose is stated immediately and clearly: 'Manage the user's saved AI avatars, voices, and avatar-video batches.' It precisely defines the resource managed and the operations available (load, resolve, rename, delete, etc.).

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?

The description provides exhaustive usage guidelines, distinguishing between usage at account scope versus project scope. It specifies exact conditions, such as using an exact ID versus allowing ambiguity, and details when to use specific actions (e.g., calling manage_voice action=list use=avatar).

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.