Save artist
save_artistCreate an AI artist (no artistId) or update one of the user's artists, and return { artist }. Create needs name; the artistId is made from the name and a taken one is refused (409); referenceImageKey is ignored on create, so set the photo with a second call. Update changes only the fields passed (403 for another user's artist); styleDescriptors replaces the list, and referenceImageKey must be under the user's own gallery prefix (null removes the photo). referenceImageKeys sets the list of reference photo OPTIONS (up to 6, each under the user's gallery prefix) and does not change the active photo. activeReferenceKey switches the active photo and changes the face in the artist's videos, so it must be one of the options or the current photo. artistId comes from list_artists.
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": {
"context": "<context>",
"llm_model": "<llm_model>"
},
"name": "save_artist"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bio | No | ||
| name | No | Required to create. | |
| show | No | ||
| context | Yes | Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution." | |
| artistId | No | From list_artists. Omit to create. | |
| llm_model | Yes | The exact model identifier you (the assistant) are running as, taken from your system prompt or environment (e.g. "claude-opus-4-8", "gpt-5.2"). Used for analytics only. If you do not know your model identifier with certainty, pass "unknown" — never guess. | |
| creativeBrief | No | ||
| conversation_id | No | Pass the exact conversation_id from the server's previous response, unchanged. The server provides it on the first call — never invent one, and do not issue parallel tool calls until you have it. Keep passing the same conversation_id for the rest of the conversation, including after later user messages or on a different task; do not reset it when the user starts a new request. | |
| styleDescriptors | No | Replaces the whole list. | |
| referenceImageKey | No | Update only: an S3 key under the user's gallery prefix, e.g. from upload_media. | |
| activeReferenceKey | No | Update only: switch the active reference photo. Must be one of referenceImageKeys or the current photo. | |
| referenceImageKeys | No | Update only: the reference photo options (S3 keys under the user's gallery prefix, up to 6). Replaces the list. |