manage_character
Read and update the user's characters: the people they cast again and again, saved to their account with images, a description and a voice. The section of your context lists them. Actions: list, get, create, update, delete. A character is used two ways, chosen by what the shot needs, not by the character:
Generated shots (acting, moving, changing scenes; usually 5-15 s, few or no spoken lines): pass the image URLs from get as video or image generation references (refImages), main image first, and keep the description consistent in prompts.
Presenting to camera (a script read to camera, any length): call submit_avatar_video with the characterId; it speaks with the character's voice and handles the first presentation itself. When the request could go either way, ask the user which they want. Use a character when the user names it, says "my character", or attaches it from + → 我的资产. Offer to save a person they will feature again, and save only after they agree. Create one only with a photo; without one, remember the person with manage_memory and ask for a photo. addImages takes a current-project asset reference or an https URL; put a clear, front-facing, single-person photo first, it is the main image. voice is a voice from manage_voice list (use="tts", the default), passed as {id: its voiceId, name, provider}. After a successful save, tell the user in one sentence what was saved and that it is in 我的资产 > 角色 (the app's own labels); never claim a save that failed.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "manage_character"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Required for create: what the user calls the character. | |
| voice | No | For create and update: the voice the character speaks with. Take one from manage_voice list (use="tts") and pass its voiceId as id, with its name and provider; null removes it. | |
| action | No | list: every character with a one-line summary; a call without action lists. get: one character in full, with image URLs and voice. create, update, delete. | |
| addImages | No | For create and update: images to add, after the current ones. | |
| projectId | No | Project for this call (full ID or unambiguous prefix). Explicit-timeline calls never change the target of later calls; legacy project selection applies otherwise. | |
| timelineId | No | Only for a project asset in addImages when no editor is attached to this chat, as on a connector: the full timeline UUID from read_project or manage_timelines action="list". ChatCut uses it to fetch the file from the open editor. | |
| characterId | No | For every action except list and create: the id from list. | |
| description | No | Looks, outfit and personality to keep consistent. | |
| mainImageId | No | For update: the image id from get to make the main image. | |
| removeImageIds | No | For update: ids of images to remove, from get. |