Set a voice agent's avatar
Replaces the avatar parts picked for this agent. Each part is optional; one left out keeps what the agent's name generates. An empty body clears every pick, so the avatar is drawn from the name alone again.
The parts belong to the agent, not to a version of its configuration, so this takes effect at once for both a versioned agent and one that predates versioning. Nothing is drafted or published, and templates don't carry it.
Authorization
bearerAuth A Tandem bearer token. Requests are scoped to the organization the token belongs to; no organization header is required.
In: header
Path Parameters
The agent's unique ID.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
An agent's hand-picked avatar parts. Every part is optional; one left out keeps what the agent's name generates.
Response Body
application/json
application/json
application/json
application/json
curl -X PUT "https://example.com/v1/agent-media/agents/string/appearance" \ -H "Content-Type: application/json" \ -d '{}'{ "agent": { "id": "string", "name": "string", "publishedVersion": "string", "appearance": { "hue": 0, "colors": [ { "hue": 0, "saturation": 0, "lightness": -0.2 } ], "scheme": "mono", "shape": "circle", "pattern": "glow", "pupil": "dot", "irisTexture": "fibers", "ringCount": 2, "ringWidth": 1.2, "ticks": 12, "dashLength": 2, "dashGap": 1.5, "rotation": 0, "notches": true, "lid": "round", "texture": "none", "temper": "calm" }, "avatarImageUrl": "http://example.com", "createdAt": "2019-08-24T14:15:22Z", "updatedAt": "2019-08-24T14:15:22Z", "systemPrompt": "string", "greeting": "string", "interruptable": true, "channels": [ "voice", "chat" ], "slots": { "llm": { "model": "string", "settings": { "maxTokens": 1, "temperature": 0, "reasoning": { "enabled": false, "budgetTokens": 1024 } } }, "stt": { "provider": "string", "settings": { "language": "string" } }, "tts": { "voiceProvider": "string", "settings": { "language": "string", "voiceId": "string", "engine": "string", "polly": { "rate": "string", "volume": "string" }, "elevenlabs": { "speed": 0.7, "stability": 0, "similarityBoost": 0, "style": 0, "useSpeakerBoost": true, "textNormalization": "auto", "pronunciationDictionaries": [ { "id": "string", "versionId": "string" } ] } } }, "additionalVoices": [ { "voiceProvider": "string", "settings": { "language": "string", "voiceId": "string", "engine": "string", "polly": { "rate": "string", "volume": "string" }, "elevenlabs": { "speed": 0.7, "stability": 0, "similarityBoost": 0, "style": 0, "useSpeakerBoost": true, "textNormalization": "auto", "pronunciationDictionaries": [ { "id": "string", "versionId": "string" } ] } } } ] }, "greetingParts": [ { "language": "string", "text": "string" } ], "variables": [], "dispositions": [], "builtinTools": { "transferToExternal": { "enabled": false, "destinations": [] }, "transferToVoiceAgent": { "enabled": false, "contextCarryover": "none", "destinations": [] }, "captureDtmf": { "enabled": false, "maxDigits": 16, "terminator": "#", "timeoutMs": 10000, "interDigitTimeoutMs": 3000, "interruptsSpeech": true }, "recordingControl": { "enabled": false }, "currentTime": { "enabled": false, "timezone": "America/New_York" }, "setWorkflowVariable": { "enabled": false, "variables": [] } }, "dtmf": { "enabled": false, "interDigitGapMs": 1500, "terminator": "#", "maxDigits": 32, "interruptsSpeech": true }, "thinkingCue": { "kind": "none" }, "vad": { "silenceMs": 200, "threshold": 0.7, "startMs": 200, "minVolume": 0.6, "endOfTurnGraceMs": 600, "bargeInMinWords": 1 }, "turnDetection": { "mode": "silence", "smartStopMs": 3000, "preSpeechMs": 500, "maxDurationSecs": 8 }, "memory": { "depth": "none", "customizeGreeting": false }, "safety": { "redactPii": true, "steeringRules": [ "string" ] }, "skills": { "builtins": [], "custom": [] }, "analysis": { "enabled": false, "builtins": { "sentiment": { "enabled": false, "prompt": "string" }, "outcome": { "enabled": false, "prompt": "string" }, "summary": { "enabled": false, "prompt": "string" } }, "fields": [] }, "retention": { "transcripts": true }, "idle": { "enabled": false, "timeoutMs": 10000, "action": "reprompt", "prompt": "string", "maxReprompts": 2, "onExhausted": "endCall", "disposition": "string" }, "limits": { "maxCallDurationMs": 60000, "warnBeforeEndMs": 5000, "warnPrompt": "string" }, "reliability": { "maxConsecutiveTurnFailures": 1, "toolTimeoutMs": 1000, "steeringJudgeTimeoutMs": 500, "handoffMaxHistoryMessages": 1, "modelRetryMaxAttempts": 1, "modelRetryInitialDelayMs": 100, "modelRetryMaxDelayMs": 100 }, "conversation": { "strategy": "slidingWindow", "windowSize": 10, "summaryRatio": 0.1, "preserveRecentMessages": 2, "pinFirst": 1, "proactiveCompressionThreshold": 0.3 }, "vocabulary": { "terms": [] }, "dataCollection": { "fields": [ { "key": "string", "label": "string", "kind": "full_name", "required": false, "prompt": "" } ] }, "tools": [], "knowledge": { "kbId": "string", "maxResults": 4, "minScore": 0 }, "sourceTemplateId": "string" }}{ "error": "string", "message": "string", "limit": 0, "length": 0, "reason": "string"}{ "error": "string", "message": "string", "limit": 0, "length": 0, "reason": "string"}{ "error": "string", "message": "string", "limit": 0, "length": 0, "reason": "string"}