UNITHdocs
Sign inarrow_forward

Configuration parameters allow you to customize and personalize your Digital Human's behavior, appearance, and functionality. These attributes are available across all Digital Human creation methods and can be modified after initial setup to refine the end user experience.

Most parameters can be updated at any time using the Update a Digital Human endpoint.

info

Multiple parameters can be changed in a single update request.

error_outline

We distinguish between streaming digital humans (default) and legacy synthesizer digital humans (higher latency). Some parameters such as text-splitter or ttsStream need to be set accordingly. For embedding of the streaming digital humans, please refer to our SDK documentation.

Conversation Parameters

greetings

This is the welcome message that the Digital Human will deliver to the end user upon first interaction.

  • Type: string
    • Example: ["Hi there, I am john"]
  • Operating Modes: applies to all
code
curl -X 'PUT' \
  'https://platform-api.unith.ai/head/update' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourBearerToken' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "yourHeadId",
  "greetings": "Hi there, I am John. How can I help you today?"
}'

suggestions

These are a list of menu-like options that suggest to the user what to engage the digital human about. These options are clickable via the UNITH front end.

  • Type: list of strings.
    • Example: ["Who is UNITH", "Where are UNITH offices?"]
  • Operating Modes: doc_qa, oc
code
curl -X 'PUT' \
  'https://platform-api.unith.ai/head/update' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourBearerToken' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "yourHeadId",
  "suggestions": [
    "Who is UNITH?",
    "Where are UNITH offices located?",
    "Tell me about your services"
  ]
}'
info

In doc_qa mode, suggestions are automatically generated when you upload a document. Review and edit these suggestions to match your use case. Each new document upload overwrites the existing suggestions list, so keep a local backup before uploading new documents.

warning_amber

Suggestions can only be clicked once per conversational session. After a user selects a suggestion, it becomes unavailable for the remainder of that session.

isRandomSuggestions

Controls whether suggestions are displayed in random order or in the sequence defined in your suggestions list.

  • Type: true/false
  • Values: true (random order) or false (sequential order)
  • Operating Modes: doc_qa, oc
code
curl -X 'PUT' \
  'https://platform-api.unith.ai/head/update' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourBearerToken' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "yourHeadId",
  "isRandomSuggestions": true
}'

systemPrompt

Defines the behavioral instructions and personality for your Digital Human. This prompt guides how the Digital Human responds to user queries.

  • Type: string
    • Example: ["You are an expert in biology."]
  • Operating Modes: doc_qa, oc, plugin
code
curl -X 'PUT' \
  'https://platform-api.unith.ai/head/update' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourBearerToken' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "yourHeadId",
  "systemPrompt": "You are an expert biology professor. Provide clear, educational answers with real-world examples."
}'

Identification Parameters

id

The unique identifier for your Digital Human. This ID is required for all update and management operations.

Type: string (UUID format)

Example: "a412345f-c123-1234-1234-bb85c95e1234"

Operating Modes: All modes

Location: Available in the UNITH interface under Edit > Basic Details

info

The id parameter is required for all Digital Human update operations. You cannot update a Digital Human without providing its ID.

orgPublicId

Your organization's public identifier, visible in the UNITH interface.

  • Type: string
  • Example: "company"
  • Operating Modes: applies to all

alias

The display name shown to end users when they interact with your Digital Human.

  • Type: string
  • Example: "David Beckham"
  • Operating Modes: applies to all
code
curl -X 'PUT' \
  'https://platform-api.unith.ai/head/update' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourBearerToken' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "yourHeadId",
  "alias": "Dr. Sarah Chen"
}'

name

Internal classification name used within the UNITH platform. This is the name we use in the interFace dashboard.

  • Type: string
  • Example: "beckham"
  • Operating Modes: applies to all

videoStreaming

Digital human in streaming mode needs to have videoStreaming set to true. When enabled, some parameters such as splitter is disabled by default.

  • Type: boolean
  • Example: "true"
  • Operating Modes: applies to all

enableEvents

Digital human can send events to an endpoint specified by you. To learn how to use our webhook API, please check the following page.

  • Type: boolean
  • Example: "true"
  • Operating Modes: applies to all

Text-to-Speech (TTS) & Speech-to-Text (STT) Parameters

languageSpeechRecognition

Language code to improve speech recognition. Choose a value supported by Speech service

Type: string (BCP-47 language tag)

Example: "en-US"

Operating Modes: All modes

Reference: Microsoft Azure Speech Service Language Support

code
curl -X 'PUT' \
  'https://platform-api.unith.ai/head/update' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourBearerToken' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "yourHeadId",
  "languageSpeechRecognition": "en-US"
}'
info

The default Speech Recognition provider is Microsoft azure. When using digital human in streaming mode (default) you can use elevenlabs as your speech recognition provider with automatic language detection. Please check our embed documentation for more info.

ttsProvider

The text-to-speech engine used for audio synthesis. Available providers include ElevenLabs, Microsoft Azure, and custom Voice Connectors.

Type: string

Example: "elevenlabs", "azure"

Operating Modes: All modes

warning_amber

When updating ttsProvider, make sure to include the id of the voice using ttsVoice parameter.

ttsVoice

The voice that will be associated with the Digital Human. This list is sourced from our Voice Connectors.

Type: string

Example: en-IN-AaravNeural

Operating Modes: All modes

info

For optimal Digital Human performance, refer to the Voice Selection Guide for recommended voices based on your TTS provider.

customWords

A dictionary mapping words to their custom pronunciations. Use this to override default pronunciation for brand names, acronyms, or specialized terminology.

Type: object (key-value pairs)

Example: {"UNITH": "You-nith", "API": "A P I"}

Operating Modes: All modes

code
curl -X 'PUT' \
  'https://platform-api.unith.ai/head/update' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourBearerToken' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "yourHeadId",
  "customWords": {
    "UNITH": "You-nith",
    "Xavi": "Ha-vee"
  }
}'
info

Custom word pronunciations are voice-specific. A pronunciation that works for one voice may not be necessary or appropriate for another. Configure customWords independently for each Digital Human based on its assigned voice.

phrases

A list of phrases used to improve speech recognition accuracy for brand names, proper nouns, and uncommon terms that may be difficult to recognize without prior knowledge.

Type: Array of strings

Example: ["UNITH", "Anthropic", "LangChain"]

Operating Modes: All modes

code
curl -X 'PUT' \
  'https://platform-api.unith.ai/head/update' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourBearerToken' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "yourHeadId",
  "phrases": ["UNITH", "Anthropic", "LangChain"]
}'

User Interface Parameters

language

The display language for the UNITH frontend application interface (buttons, labels, system messages).

Type: string (BCP-47 language tag)

Example: "en-US", "es-ES", "fr-FR"

Operating Modes: All modes

warning_amber

In streaming frontend mode, the interface language is automatically detected from the user's browser settings. For example, if a user's browser is configured to Spanish, the frontend will automatically load in Spanish — no manual configuration required.

If you require a language that is not currently supported, contact the UNITH team to request it be added.

Use the endpoint below to retrieve the full list of currently supported UI languages.

code
curl -X 'GET' \
  'https://platform-api.unith.ai/languages/all' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourBearerToken'
code
"ui_languages": {
    "ar-AE": "Arabic (United Arab Emirates)",
    "bg-BG": "Bulgarian (Bulgaria)",
    "bs-BA": "Bosnian (Bosnia and Herzegovina)",
    "cs-CZ": "Czech (Czechia)",
    "de-DE": "German (Germany)",
    "en-US": "English (United States)",
    "es-ES": "Spanish (Spain)",
    "fr-FR": "French (France)",
    "it-IT": "Italian (Italy)",
    "ka-GE": "Georgian (Georgia)",
    "kk-KZ": "Kazakh (Kazakhstan)",
    "lt-LT": "Lithuanian (Lithuania)",
    "lv-LV": "Latvian (Latvia)",
    "nl-NL": "Dutch (Netherlands)",
    "pl-PL": "Polish (Poland)",
    "pt-PT": "Portuguese (Portugal)",
    "ro-RO": "Romanian (Romania)",
    "ru-RU": "Russian (Russia)",
    "sk-SK": "Slovak (Slovakia)",
    "sr-RS": "Serbian (Cyrillic, Serbia)",
    "uk-UA": "Ukrainian (Ukraine)",
    "th-TH": "Thai (Thailand)",
    "hu-HU": "Hungarian (Hungary)",
    "id-ID": "Indonesian (Indonesia)"
  }
code
curl -X 'PUT' \
  'https://platform-api.unith.ai/head/update' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourBearerToken' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "yourHeadId",
  "language": "es-ES"
}'

Operational Mode Parameters

operationMode

Defines the conversational framework and AI capabilities your Digital Human will use to process and respond to user queries.

Type: string (fixed values)

Operating Modes: Set during creation only

{ ... "operationMode": "voiceflow", "voiceflowApiKey": "your voiceflow conversation API key) ... }

ModeDescriptionUse Case
doc_qaDocument-informed Q&A using UNITH RAG pipelineKnowledge bases, FAQ systems, document search
ocOpen conversation powered by ChatGPTGeneral conversations, customer support
tttText-to-video modePre-scripted video content generation
pluginCustom conversational engine integrationExternal AI systems, proprietary chatbots

See Operation Modes definitions

error_outline

Operation modes cannot be changed after creation. If you need to change the operation mode, you must create a new Digital Human.


Advanced Configuration Parameters

These parameters provide fine-grained control over performance, security, caching behavior, and integration settings for your Digital Human.

conversationSettings

Configures the Large Language Model (LLM) provider and specific model used for generating conversational responses.

  • Type: object
  • Operating Modes: doc_qa, oc, plugin
code
{
  "conversationSettings": {
    "chat_model_settings": {
      "llm_name": "gpt-4.1-mini-2025-04-14",
      "provider": "openai"
      "api_key": "yourApiKey"
    }
  }
}

Parameters

FieldTypeDescriptionExample
llm_namestringSpecific LLM model identifier"gpt-4.1-mini-2025-04-14"
providerstringLLM provider"openai", "anthropic", "azure"
api_keystringYour api key for the selected providerN/A
warning_amber

Different LLM models have varying response times, token limits, and cost implications. Choose a model that balances performance requirements with your use case needs.

semanticThreshold

Controls the semantic similarity threshold for retrieving cached responses in conversations. For detailed information on semantic caching and performance optimization, check out the documentation here.

videoCache

Enables or disables video response caching. When enabled, generated video responses are stored and reused for identical or semantically similar queries.

  • Type: boolean
  • Default: true
  • Operating Modes: All modes
code
curl -X 'PUT' \
  'https://platform-api.unith.ai/head/update' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourBearerToken' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "yourHeadId",
  "videoCache": true
}'
info

Enabling video caching significantly improves response times for frequently asked questions. This works in conjunction with semanticThreshold settings.

ttsStream

Controls whether text-to-speech audio is streamed in real-time or pre-generated before delivery.

  • Type: boolean
  • Default: false
  • Values:
    • true: Audio is streamed as it's generated (lower latency for first audio)
    • false: Audio is fully generated before delivery (more stable playback)
  • Operating Modes: All modes
error_outline

When using streaming mode you need to use a provider that supports audio streaming - ttsStream. Text-splitter also needs to be disabled in streaming mode.

warning_amber

Streaming TTS can reduce perceived latency but may introduce audio playback issues on unstable network connections.

splitter

Controls text chunking behavior for long-form responses. When enabled, responses are split into smaller segments for processing.

  • Type: boolean
  • Default: false
  • Operating Modes: All modes
error_outline

Text splitter - splitter needs to be disabled when using streaming mode, and it should be enabled with the legacy synthesizer. This will happen automatically when the videoStreaming parameter is toggled.


Security & Embedding Parameters

allowedOrigins

Configures Cross-Origin Resource Sharing (CORS) settings to control which domains can access your Digital Human via web requests.

  • Type: Array of strings
  • Default: ["*"] (all origins allowed)
  • Example: ["https://example.com", "https://app.example.com"]
  • Operating Modes: All modes
error_outline

This parameter is only relevant if you are embedding non-streaming digital human. For embeding of the streaming digital human please refer to our SDK documentation.

allowedIframeOrigins

Specifies which domains are permitted to embed your Digital Human within an iframe. Provides an additional security layer beyond CORS.

code
curl -X 'PUT' \
  'https://platform-api.unith.ai/head/update' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer yourBearerToken' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "yourHeadId",
  "allowedIframeOrigins": [
    "https://trusted-partner.com",
    "https://internal-portal.company.com"
  ]
}'
error_outline

This parameter is only relevant if you are embedding non-streaming digital human. For embeding of the streaming digital human please refer to our SDK documentation.


Important Notes

Parameter Updates: Most parameters can be updated multiple times after Digital Human creation using the /head/update endpoint. You can modify multiple parameters in a single request.

Operation Mode Immutability: The operationMode cannot be changed after creation. Plan your operation mode carefully based on your use case requirements.

Voice-Specific Settings: Parameters like customWords are voice-specific and may need adjustment when changing voices.

Voice provider and voice Id: When changing voice provider make sure to also include a specific voice id.

Bearer Token Required: All API requests require a valid Bearer token in the Authorization header.

scheduleLast updated Apr 9, 2026