---
title: "Update an Agent"
method: PATCH
path: "/agents/{id}"
tags: ["Agents"]
---

# Update an Agent

`PATCH /agents/{id}`

Updates an existing Agent.

## Path parameters

- `id` string, required

## Headers

- `x-api-key-external` string

## Request body

- AgentUpdateDto
  - `preview_name` string — Agent name
  - `preview_description` string — Description of the agent
  - `presenter` union
    - PartialTalkAgentPresenter — Make all properties in T optional
      - `type` 'talk' — Presenter type
      - `source_url` string — Image URL used to create the avatar.
      - `thumbnail` string — Preview image URL for the avatar.
      - `stitch` boolean — Controls the output framing.<br/> `true` - Original image framing `false` - Close-up framing
      - `voice` union
        - object
          - `type` 'microsoft', required
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
        - object
          - `type` 'elevenlabs', required
          - `voice_id` string — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigElevenlabs
            - `stability` number, double — How stable the voice is and the randomness of each new generation. If ElevenLabs V3 model is selected, must be one of these values: 0.0, 0.5, 1.0 (0.0 = Creative, 0.5 = Natural, 1.0 = Robust).
            - `similarity_boost` number, double — The similarity slider dictates how closely the AI should adhere to the original voice when attempting to replicate it.
            - `rate` string — The speed of the voice. The value is relative to 1. Valid range is 0.7 to 1.2.
            - `style` string — Determines the style exaggeration of the voice. This setting attempts to amplify the style of the original speaker. It does consume additional computational resources and might increase latency if set to anything other than 0. Valid range is 0 to 1.
            - `use_speaker_boost` boolean — boosts the similarity to the original speaker. Using this setting requires a slightly higher computational load, which in turn increases latency.
            - `apply_language_text_normalization` boolean — Controls language text normalization. This helps with proper pronunciation of text in some supported languages. WARNING: This parameter can heavily increase the latency of the request. Currently only supported for Japanese.
            - `apply_text_normalization` 'auto' | 'on' | 'off' — Controls text normalization on the ElevenLabs side (expanding numbers, abbreviations and symbols). 'auto' lets ElevenLabs decide, 'on' forces normalization, 'off' disables it. Defaults to 'off' when not provided.
          - `model_id` string — The model id from the list of available models. https://elevenlabs.io/docs/speech-synthesis/models.
          - `language` string — Voice customization options. To save the language of the selected voice
          - `access` 'public' | 'premium' | 'private' | 'external-private'
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
        - object
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `type` 'azure-openai', required
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
    - PartialClipAgentPresenter — Make all properties in T optional
      - `type` 'clip' — Presenter type
      - `presenter_id` string — ID of the video avatar used by the Agent. <br> Retrieved from the GET/ presenters endpoint.
      - `background` PresenterBackground
        - `color` string — Background color of the Avatar.
        - `source_url` string — Image URL used as the Avatar background.
      - `voice` union
        - object
          - `type` 'microsoft', required
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
        - object
          - `type` 'elevenlabs', required
          - `voice_id` string — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigElevenlabs
            - `stability` number, double — How stable the voice is and the randomness of each new generation. If ElevenLabs V3 model is selected, must be one of these values: 0.0, 0.5, 1.0 (0.0 = Creative, 0.5 = Natural, 1.0 = Robust).
            - `similarity_boost` number, double — The similarity slider dictates how closely the AI should adhere to the original voice when attempting to replicate it.
            - `rate` string — The speed of the voice. The value is relative to 1. Valid range is 0.7 to 1.2.
            - `style` string — Determines the style exaggeration of the voice. This setting attempts to amplify the style of the original speaker. It does consume additional computational resources and might increase latency if set to anything other than 0. Valid range is 0 to 1.
            - `use_speaker_boost` boolean — boosts the similarity to the original speaker. Using this setting requires a slightly higher computational load, which in turn increases latency.
            - `apply_language_text_normalization` boolean — Controls language text normalization. This helps with proper pronunciation of text in some supported languages. WARNING: This parameter can heavily increase the latency of the request. Currently only supported for Japanese.
            - `apply_text_normalization` 'auto' | 'on' | 'off' — Controls text normalization on the ElevenLabs side (expanding numbers, abbreviations and symbols). 'auto' lets ElevenLabs decide, 'on' forces normalization, 'off' disables it. Defaults to 'off' when not provided.
          - `model_id` string — The model id from the list of available models. https://elevenlabs.io/docs/speech-synthesis/models.
          - `language` string — Voice customization options. To save the language of the selected voice
          - `access` 'public' | 'premium' | 'private' | 'external-private'
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
        - object
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `type` 'azure-openai', required
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
    - PartialExpressiveAgentPresenter — Make all properties in T optional
      - `type` 'expressive' — Presenter type
      - `presenter_id` string — Id of avatar that will be shown for user
      - `background` PresenterBackground
        - `color` string — Background color of the Avatar.
        - `source_url` string — Image URL used as the Avatar background.
      - `view_mode` 'standard' | 'zoom-in'
      - `voice` union
        - object
          - `type` 'microsoft', required
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
        - object
          - `type` 'elevenlabs', required
          - `voice_id` string — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigElevenlabs
            - `stability` number, double — How stable the voice is and the randomness of each new generation. If ElevenLabs V3 model is selected, must be one of these values: 0.0, 0.5, 1.0 (0.0 = Creative, 0.5 = Natural, 1.0 = Robust).
            - `similarity_boost` number, double — The similarity slider dictates how closely the AI should adhere to the original voice when attempting to replicate it.
            - `rate` string — The speed of the voice. The value is relative to 1. Valid range is 0.7 to 1.2.
            - `style` string — Determines the style exaggeration of the voice. This setting attempts to amplify the style of the original speaker. It does consume additional computational resources and might increase latency if set to anything other than 0. Valid range is 0 to 1.
            - `use_speaker_boost` boolean — boosts the similarity to the original speaker. Using this setting requires a slightly higher computational load, which in turn increases latency.
            - `apply_language_text_normalization` boolean — Controls language text normalization. This helps with proper pronunciation of text in some supported languages. WARNING: This parameter can heavily increase the latency of the request. Currently only supported for Japanese.
            - `apply_text_normalization` 'auto' | 'on' | 'off' — Controls text normalization on the ElevenLabs side (expanding numbers, abbreviations and symbols). 'auto' lets ElevenLabs decide, 'on' forces normalization, 'off' disables it. Defaults to 'off' when not provided.
          - `model_id` string — The model id from the list of available models. https://elevenlabs.io/docs/speech-synthesis/models.
          - `language` string — Voice customization options. To save the language of the selected voice
          - `access` 'public' | 'premium' | 'private' | 'external-private'
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
        - object
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `type` 'azure-openai', required
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
  - `llm` union
    - OpenAILLM
      - `provider` 'openai' — Large Language Model provider.
      - `instructions` string — Defines what the Agent does and how it should behave.
      - `template` 'rag-grounded' | 'rag-ungrounded' | 'assistant'
      - `prompt_customization` PromptCustomization
        - `role` string — Role the Agent assumes when responding.
        - `personality` string — Personality traits reflected in the Agent’s responses.
        - `topics_to_avoid` string[] — List of topics the Agent should avoid discussing.
        - `max_response_length` number, double — Approximate maximum response length, in words. Default: 75
        - `knowledge_source` 'base_knowledge' | 'documents' — Defines how the Agent receives knowledge.</br> - base_knowledge — Uses inline knowledge from prompt_knowledge - documents — Uses knowledge_id (RAG) (Default: documents)
        - `prompt_knowledge` string — Defines the factual knowledge the Agent uses to answer questions.
      - `temperature` number, double — Controls how predictable or creative the Agent’s responses are. Default values by template: RAG-Grounded: 0.1 RAG-Ungrounded: 0.5 Assistant: 0.5
      - `model` 'gpt-4o-global' | 'gpt-4o-mini' | 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5.4-mini' | 'gpt-5.4-nano' — OpenAI LLM models
    - GoogleLLM
      - `provider` 'google' — Large Language Model provider.
      - `instructions` string — Defines what the Agent does and how it should behave.
      - `template` 'rag-grounded' | 'rag-ungrounded' | 'assistant'
      - `prompt_customization` PromptCustomization
        - `role` string — Role the Agent assumes when responding.
        - `personality` string — Personality traits reflected in the Agent’s responses.
        - `topics_to_avoid` string[] — List of topics the Agent should avoid discussing.
        - `max_response_length` number, double — Approximate maximum response length, in words. Default: 75
        - `knowledge_source` 'base_knowledge' | 'documents' — Defines how the Agent receives knowledge.</br> - base_knowledge — Uses inline knowledge from prompt_knowledge - documents — Uses knowledge_id (RAG) (Default: documents)
        - `prompt_knowledge` string — Defines the factual knowledge the Agent uses to answer questions.
      - `temperature` number, double — Controls how predictable or creative the Agent’s responses are. Default values by template: RAG-Grounded: 0.1 RAG-Ungrounded: 0.5 Assistant: 0.5
      - `model` 'gemini-2.5-flash' | 'gemini-2.5-flash-lite' | 'gemini-3-flash' — Google LLM models
    - OpenAIExternalLLM — OpenAI External LLM
      - `instructions` string — Defines what the Agent does and how it should behave.
      - `template` 'rag-grounded' | 'rag-ungrounded' | 'assistant'
      - `prompt_customization` PromptCustomization
        - `role` string — Role the Agent assumes when responding.
        - `personality` string — Personality traits reflected in the Agent’s responses.
        - `topics_to_avoid` string[] — List of topics the Agent should avoid discussing.
        - `max_response_length` number, double — Approximate maximum response length, in words. Default: 75
        - `knowledge_source` 'base_knowledge' | 'documents' — Defines how the Agent receives knowledge.</br> - base_knowledge — Uses inline knowledge from prompt_knowledge - documents — Uses knowledge_id (RAG) (Default: documents)
        - `prompt_knowledge` string — Defines the factual knowledge the Agent uses to answer questions.
      - `temperature` number, double — Controls how predictable or creative the Agent’s responses are. Default values by template: RAG-Grounded: 0.1 RAG-Ungrounded: 0.5 Assistant: 0.5
      - `secretId` string — ID of the stored secret containing the external OpenAI API key
    - AzureOpenAIExternalLLM — Azure OpenAI External LLM
      - `instructions` string — Defines what the Agent does and how it should behave.
      - `template` 'rag-grounded' | 'rag-ungrounded' | 'assistant'
      - `prompt_customization` PromptCustomization
        - `role` string — Role the Agent assumes when responding.
        - `personality` string — Personality traits reflected in the Agent’s responses.
        - `topics_to_avoid` string[] — List of topics the Agent should avoid discussing.
        - `max_response_length` number, double — Approximate maximum response length, in words. Default: 75
        - `knowledge_source` 'base_knowledge' | 'documents' — Defines how the Agent receives knowledge.</br> - base_knowledge — Uses inline knowledge from prompt_knowledge - documents — Uses knowledge_id (RAG) (Default: documents)
        - `prompt_knowledge` string — Defines the factual knowledge the Agent uses to answer questions.
      - `temperature` number, double — Controls how predictable or creative the Agent’s responses are. Default values by template: RAG-Grounded: 0.1 RAG-Ungrounded: 0.5 Assistant: 0.5
      - `secretId` string — ID of the stored secret containing the external OpenAI API key
    - DIdLLM
      - `provider` 'd-id' — Large Language Model provider.
      - `instructions` string — Defines what the Agent does and how it should behave.
      - `template` 'rag-grounded' | 'rag-ungrounded' | 'assistant'
      - `prompt_customization` PromptCustomization
        - `role` string — Role the Agent assumes when responding.
        - `personality` string — Personality traits reflected in the Agent’s responses.
        - `topics_to_avoid` string[] — List of topics the Agent should avoid discussing.
        - `max_response_length` number, double — Approximate maximum response length, in words. Default: 75
        - `knowledge_source` 'base_knowledge' | 'documents' — Defines how the Agent receives knowledge.</br> - base_knowledge — Uses inline knowledge from prompt_knowledge - documents — Uses knowledge_id (RAG) (Default: documents)
        - `prompt_knowledge` string — Defines the factual knowledge the Agent uses to answer questions.
      - `temperature` number, double — Controls how predictable or creative the Agent’s responses are. Default values by template: RAG-Grounded: 0.1 RAG-Ungrounded: 0.5 Assistant: 0.5
      - `model` 'gpt-oss-120b' — D-ID LLM models
    - AutoLLM — Auto LLM — backend resolves the default provider and model.
      - `provider` 'auto', required — Large Language Model provider.
      - `instructions` string — Defines what the Agent does and how it should behave.
      - `template` 'rag-grounded' | 'rag-ungrounded' | 'assistant'
      - `prompt_customization` PromptCustomization
        - `role` string — Role the Agent assumes when responding.
        - `personality` string — Personality traits reflected in the Agent’s responses.
        - `topics_to_avoid` string[] — List of topics the Agent should avoid discussing.
        - `max_response_length` number, double — Approximate maximum response length, in words. Default: 75
        - `knowledge_source` 'base_knowledge' | 'documents' — Defines how the Agent receives knowledge.</br> - base_knowledge — Uses inline knowledge from prompt_knowledge - documents — Uses knowledge_id (RAG) (Default: documents)
        - `prompt_knowledge` string — Defines the factual knowledge the Agent uses to answer questions.
      - `temperature` number, double — Controls how predictable or creative the Agent’s responses are. Default values by template: RAG-Grounded: 0.1 RAG-Ungrounded: 0.5 Assistant: 0.5
  - `knowledge` PickKnowledgeId — From T, pick a set of properties whose keys are in the union K
    - `id` string, required
  - `starter_message` string[] — List of suggested questions shown to the user at the start of the chat.
  - `greetings` string[] — Greeting messages used when the chat starts. One greeting is selected at random.
  - `user_data` string
  - `embed` boolean — Enables the Agent for use with the SDK or website embedding via D-ID Studio.
  - `triggers` AgentTriggersConfigDto
    - `chat/end` EventTriggerConfigDto
      - `webhooks` WebhookConfigDto[] — Webhooks executed when the event occurs.
        - `url` string, required — a valid url that starts with http or https with regex
        - `headers` object — Additional headers to include
        - `auth` Auth, nullable — Authentication configuration for tools and webhooks (processed/stored)
          - `secret_id` string, required
      - `tools` ToolItem[] — Tools to make available to the LLM for this event
        - `tool_id` string, required — Tool id reference.
        - `static_values` RecordStringJSONValue — Construct a type with a set of properties K of type T
      - `prompt_instructions` string — Event-specific prompt instructions for the LLM
      - `tool_choice` 'auto' | 'required' — Tool choice strategy for LLM function calling
  - `pronunciation_dictionary` PronunciationDictionaryConfig — Pronunciation dictionary configuration applied to the agent's speech.
    - `id` string, required

## Response `200`

OK

- AgentResponseDto — Response DTO for agent transformation
  - `id` string, required — Id of agent
  - `preview_description` string — Description of the agent
  - `presenter` union
    - TalkAgentPresenter
      - `type` 'talk', required — Presenter type
      - `voice` union
        - object
          - `type` 'microsoft', required
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
        - object
          - `type` 'elevenlabs', required
          - `voice_id` string — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigElevenlabs
            - `stability` number, double — How stable the voice is and the randomness of each new generation. If ElevenLabs V3 model is selected, must be one of these values: 0.0, 0.5, 1.0 (0.0 = Creative, 0.5 = Natural, 1.0 = Robust).
            - `similarity_boost` number, double — The similarity slider dictates how closely the AI should adhere to the original voice when attempting to replicate it.
            - `rate` string — The speed of the voice. The value is relative to 1. Valid range is 0.7 to 1.2.
            - `style` string — Determines the style exaggeration of the voice. This setting attempts to amplify the style of the original speaker. It does consume additional computational resources and might increase latency if set to anything other than 0. Valid range is 0 to 1.
            - `use_speaker_boost` boolean — boosts the similarity to the original speaker. Using this setting requires a slightly higher computational load, which in turn increases latency.
            - `apply_language_text_normalization` boolean — Controls language text normalization. This helps with proper pronunciation of text in some supported languages. WARNING: This parameter can heavily increase the latency of the request. Currently only supported for Japanese.
            - `apply_text_normalization` 'auto' | 'on' | 'off' — Controls text normalization on the ElevenLabs side (expanding numbers, abbreviations and symbols). 'auto' lets ElevenLabs decide, 'on' forces normalization, 'off' disables it. Defaults to 'off' when not provided.
          - `model_id` string — The model id from the list of available models. https://elevenlabs.io/docs/speech-synthesis/models.
          - `language` string — Voice customization options. To save the language of the selected voice
          - `access` 'public' | 'premium' | 'private' | 'external-private'
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
        - object
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `type` 'azure-openai', required
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
      - `source_url` string, required — Image URL used to create the avatar.
      - `thumbnail` string, required — Preview image URL for the avatar.
      - `stitch` boolean — Controls the output framing.<br/> `true` - Original image framing `false` - Close-up framing
    - ClipAgentPresenter
      - `type` 'clip', required — Presenter type
      - `voice` union
        - object
          - `type` 'microsoft', required
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
        - object
          - `type` 'elevenlabs', required
          - `voice_id` string — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigElevenlabs
            - `stability` number, double — How stable the voice is and the randomness of each new generation. If ElevenLabs V3 model is selected, must be one of these values: 0.0, 0.5, 1.0 (0.0 = Creative, 0.5 = Natural, 1.0 = Robust).
            - `similarity_boost` number, double — The similarity slider dictates how closely the AI should adhere to the original voice when attempting to replicate it.
            - `rate` string — The speed of the voice. The value is relative to 1. Valid range is 0.7 to 1.2.
            - `style` string — Determines the style exaggeration of the voice. This setting attempts to amplify the style of the original speaker. It does consume additional computational resources and might increase latency if set to anything other than 0. Valid range is 0 to 1.
            - `use_speaker_boost` boolean — boosts the similarity to the original speaker. Using this setting requires a slightly higher computational load, which in turn increases latency.
            - `apply_language_text_normalization` boolean — Controls language text normalization. This helps with proper pronunciation of text in some supported languages. WARNING: This parameter can heavily increase the latency of the request. Currently only supported for Japanese.
            - `apply_text_normalization` 'auto' | 'on' | 'off' — Controls text normalization on the ElevenLabs side (expanding numbers, abbreviations and symbols). 'auto' lets ElevenLabs decide, 'on' forces normalization, 'off' disables it. Defaults to 'off' when not provided.
          - `model_id` string — The model id from the list of available models. https://elevenlabs.io/docs/speech-synthesis/models.
          - `language` string — Voice customization options. To save the language of the selected voice
          - `access` 'public' | 'premium' | 'private' | 'external-private'
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
        - object
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `type` 'azure-openai', required
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
      - `presenter_id` string, required — ID of the video avatar used by the Agent. <br> Retrieved from the GET/ presenters endpoint.
      - `background` PresenterBackground
        - `color` string — Background color of the Avatar.
        - `source_url` string — Image URL used as the Avatar background.
    - ExpressiveAgentPresenter
      - `type` 'expressive', required — Presenter type
      - `voice` union
        - object
          - `type` 'microsoft', required
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
        - object
          - `type` 'elevenlabs', required
          - `voice_id` string — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigElevenlabs
            - `stability` number, double — How stable the voice is and the randomness of each new generation. If ElevenLabs V3 model is selected, must be one of these values: 0.0, 0.5, 1.0 (0.0 = Creative, 0.5 = Natural, 1.0 = Robust).
            - `similarity_boost` number, double — The similarity slider dictates how closely the AI should adhere to the original voice when attempting to replicate it.
            - `rate` string — The speed of the voice. The value is relative to 1. Valid range is 0.7 to 1.2.
            - `style` string — Determines the style exaggeration of the voice. This setting attempts to amplify the style of the original speaker. It does consume additional computational resources and might increase latency if set to anything other than 0. Valid range is 0 to 1.
            - `use_speaker_boost` boolean — boosts the similarity to the original speaker. Using this setting requires a slightly higher computational load, which in turn increases latency.
            - `apply_language_text_normalization` boolean — Controls language text normalization. This helps with proper pronunciation of text in some supported languages. WARNING: This parameter can heavily increase the latency of the request. Currently only supported for Japanese.
            - `apply_text_normalization` 'auto' | 'on' | 'off' — Controls text normalization on the ElevenLabs side (expanding numbers, abbreviations and symbols). 'auto' lets ElevenLabs decide, 'on' forces normalization, 'off' disables it. Defaults to 'off' when not provided.
          - `model_id` string — The model id from the list of available models. https://elevenlabs.io/docs/speech-synthesis/models.
          - `language` string — Voice customization options. To save the language of the selected voice
          - `access` 'public' | 'premium' | 'private' | 'external-private'
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
        - object
          - `voice_id` string, required — Voice ID selected from the list of available voices.</br>Retrieve available options from the GET /voices endpoint.
          - `voice_config` VoiceConfigMicrosoft
            - `style` string — The style of the voice. Available styles change between voices.
            - `rate` string — The speed of the voice. The value is relative to 1, 0.5 being half speed, 2 being twice as fast, etc. Another option is a constant value from x-slow/slow/medium/fast/x-fast.
            - `pitch` string — The pitch of the voice. Value could be an absolute value in Hz (including units), a relative value in Hz or st(semitones) or a constant value from x-low/low/medium/high/x-high.
          - `language` string — Voice customization options. To save the language of the selected agent voice
          - `type` 'azure-openai', required
          - `ssml` boolean — When true, the agent's text is sent to the TTS provider as SSML without escaping (caller-authored SSML); otherwise special characters are escaped. Only supported for Microsoft voices.
      - `presenter_id` string, required — Id of avatar that will be shown for user
      - `background` PresenterBackground
        - `color` string — Background color of the Avatar.
        - `source_url` string — Image URL used as the Avatar background.
      - `view_mode` 'standard' | 'zoom-in'
  - `llm` union
    - OpenAILLM
      - `provider` 'openai' — Large Language Model provider.
      - `instructions` string — Defines what the Agent does and how it should behave.
      - `template` 'rag-grounded' | 'rag-ungrounded' | 'assistant'
      - `prompt_customization` PromptCustomization
        - `role` string — Role the Agent assumes when responding.
        - `personality` string — Personality traits reflected in the Agent’s responses.
        - `topics_to_avoid` string[] — List of topics the Agent should avoid discussing.
        - `max_response_length` number, double — Approximate maximum response length, in words. Default: 75
        - `knowledge_source` 'base_knowledge' | 'documents' — Defines how the Agent receives knowledge.</br> - base_knowledge — Uses inline knowledge from prompt_knowledge - documents — Uses knowledge_id (RAG) (Default: documents)
        - `prompt_knowledge` string — Defines the factual knowledge the Agent uses to answer questions.
      - `temperature` number, double — Controls how predictable or creative the Agent’s responses are. Default values by template: RAG-Grounded: 0.1 RAG-Ungrounded: 0.5 Assistant: 0.5
      - `model` 'gpt-4o-global' | 'gpt-4o-mini' | 'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5.4-mini' | 'gpt-5.4-nano' — OpenAI LLM models
    - GoogleLLM
      - `provider` 'google' — Large Language Model provider.
      - `instructions` string — Defines what the Agent does and how it should behave.
      - `template` 'rag-grounded' | 'rag-ungrounded' | 'assistant'
      - `prompt_customization` PromptCustomization
        - `role` string — Role the Agent assumes when responding.
        - `personality` string — Personality traits reflected in the Agent’s responses.
        - `topics_to_avoid` string[] — List of topics the Agent should avoid discussing.
        - `max_response_length` number, double — Approximate maximum response length, in words. Default: 75
        - `knowledge_source` 'base_knowledge' | 'documents' — Defines how the Agent receives knowledge.</br> - base_knowledge — Uses inline knowledge from prompt_knowledge - documents — Uses knowledge_id (RAG) (Default: documents)
        - `prompt_knowledge` string — Defines the factual knowledge the Agent uses to answer questions.
      - `temperature` number, double — Controls how predictable or creative the Agent’s responses are. Default values by template: RAG-Grounded: 0.1 RAG-Ungrounded: 0.5 Assistant: 0.5
      - `model` 'gemini-2.5-flash' | 'gemini-2.5-flash-lite' | 'gemini-3-flash' — Google LLM models
    - OpenAIExternalLLM — OpenAI External LLM
      - `instructions` string — Defines what the Agent does and how it should behave.
      - `template` 'rag-grounded' | 'rag-ungrounded' | 'assistant'
      - `prompt_customization` PromptCustomization
        - `role` string — Role the Agent assumes when responding.
        - `personality` string — Personality traits reflected in the Agent’s responses.
        - `topics_to_avoid` string[] — List of topics the Agent should avoid discussing.
        - `max_response_length` number, double — Approximate maximum response length, in words. Default: 75
        - `knowledge_source` 'base_knowledge' | 'documents' — Defines how the Agent receives knowledge.</br> - base_knowledge — Uses inline knowledge from prompt_knowledge - documents — Uses knowledge_id (RAG) (Default: documents)
        - `prompt_knowledge` string — Defines the factual knowledge the Agent uses to answer questions.
      - `temperature` number, double — Controls how predictable or creative the Agent’s responses are. Default values by template: RAG-Grounded: 0.1 RAG-Ungrounded: 0.5 Assistant: 0.5
      - `secretId` string — ID of the stored secret containing the external OpenAI API key
    - AzureOpenAIExternalLLM — Azure OpenAI External LLM
      - `instructions` string — Defines what the Agent does and how it should behave.
      - `template` 'rag-grounded' | 'rag-ungrounded' | 'assistant'
      - `prompt_customization` PromptCustomization
        - `role` string — Role the Agent assumes when responding.
        - `personality` string — Personality traits reflected in the Agent’s responses.
        - `topics_to_avoid` string[] — List of topics the Agent should avoid discussing.
        - `max_response_length` number, double — Approximate maximum response length, in words. Default: 75
        - `knowledge_source` 'base_knowledge' | 'documents' — Defines how the Agent receives knowledge.</br> - base_knowledge — Uses inline knowledge from prompt_knowledge - documents — Uses knowledge_id (RAG) (Default: documents)
        - `prompt_knowledge` string — Defines the factual knowledge the Agent uses to answer questions.
      - `temperature` number, double — Controls how predictable or creative the Agent’s responses are. Default values by template: RAG-Grounded: 0.1 RAG-Ungrounded: 0.5 Assistant: 0.5
      - `secretId` string — ID of the stored secret containing the external OpenAI API key
    - DIdLLM
      - `provider` 'd-id' — Large Language Model provider.
      - `instructions` string — Defines what the Agent does and how it should behave.
      - `template` 'rag-grounded' | 'rag-ungrounded' | 'assistant'
      - `prompt_customization` PromptCustomization
        - `role` string — Role the Agent assumes when responding.
        - `personality` string — Personality traits reflected in the Agent’s responses.
        - `topics_to_avoid` string[] — List of topics the Agent should avoid discussing.
        - `max_response_length` number, double — Approximate maximum response length, in words. Default: 75
        - `knowledge_source` 'base_knowledge' | 'documents' — Defines how the Agent receives knowledge.</br> - base_knowledge — Uses inline knowledge from prompt_knowledge - documents — Uses knowledge_id (RAG) (Default: documents)
        - `prompt_knowledge` string — Defines the factual knowledge the Agent uses to answer questions.
      - `temperature` number, double — Controls how predictable or creative the Agent’s responses are. Default values by template: RAG-Grounded: 0.1 RAG-Ungrounded: 0.5 Assistant: 0.5
      - `model` 'gpt-oss-120b' — D-ID LLM models
    - AutoLLM — Auto LLM — backend resolves the default provider and model.
      - `provider` 'auto', required — Large Language Model provider.
      - `instructions` string — Defines what the Agent does and how it should behave.
      - `template` 'rag-grounded' | 'rag-ungrounded' | 'assistant'
      - `prompt_customization` PromptCustomization
        - `role` string — Role the Agent assumes when responding.
        - `personality` string — Personality traits reflected in the Agent’s responses.
        - `topics_to_avoid` string[] — List of topics the Agent should avoid discussing.
        - `max_response_length` number, double — Approximate maximum response length, in words. Default: 75
        - `knowledge_source` 'base_knowledge' | 'documents' — Defines how the Agent receives knowledge.</br> - base_knowledge — Uses inline knowledge from prompt_knowledge - documents — Uses knowledge_id (RAG) (Default: documents)
        - `prompt_knowledge` string — Defines the factual knowledge the Agent uses to answer questions.
      - `temperature` number, double — Controls how predictable or creative the Agent’s responses are. Default values by template: RAG-Grounded: 0.1 RAG-Ungrounded: 0.5 Assistant: 0.5
  - `provider` 'd-id-agents' — The provider of the agent
  - `knowledge` Knowledge
    - `id` string, required
    - `provider` 'pinecone'
    - `starter_message` string[] — List of messages to be showen as chat starter questions for the user to ask
    - `base_knowledge` string — Prompt based textual knowledge
  - `starter_message` string[] — List of messages to be showen as chat starter questions for the user to ask
  - `greetings` string[] — Greeting messages for the agent One greeting is randomly displayed at the start of the chat
  - `error` object — Error object in case of errors
    - `details` string
    - `description` string, required
    - `kind` string, required
  - `triggers` AgentTriggersConfig — Agent triggers configuration with event-specific settings
    - `chat/end` EventTriggerConfig — Configuration for a specific trigger event
      - `webhooks` WebhookConfig[] — Webhooks to execute immediately when event fires
        - `url` string, required — a valid url that starts with http or https with regex
        - `headers` object — Additional headers to include
        - `auth` Auth, nullable — Authentication configuration for tools and webhooks (processed/stored)
          - `secret_id` string, required
      - `tools` ToolItem[] — Tools to make available to the LLM for this event
        - `tool_id` string, required — Tool id reference.
        - `static_values` RecordStringJSONValue — Construct a type with a set of properties K of type T
      - `prompt_instructions` string — Event-specific prompt instructions for the LLM
      - `tool_choice` 'auto' | 'required' — Tool choice strategy for LLM function calling
  - `client_key` string — Auto-generated scoped client key for the agent
  - `pronunciation_dictionary` PronunciationDictionaryConfig — Pronunciation dictionary configuration applied to the agent's speech.
    - `id` string, required
  - `metadata` object
    - `plan` string
  - `embed` boolean, required

## Other responses

- `401` — AuthorizationError

---

[API](https://skmtc.net/d-id/apis/realtime-endpoints.md) · [All operations](https://skmtc.net/d-id/apis/realtime-endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/d-id/realtime-endpoints/versions/2f2425e1b6b6/schema)
