You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Construct vendors directly from agora_agent, then bind a client with Agent(client=client, ...). The bound client selects CNAgent or GlobalAgent for IDE hints based on area, but does not restrict which vendor classes you can configure.
greeting_configs accepts either a dict or LlmGreetingConfigs. In v2.7, greeting_configs.interruptable=False makes the greeting uninterruptible; True follows the global interruption settings.
OpenAI
Parameter
Type
Required
Default
Description
api_key
str
BYOK only
None
OpenAI API key. Optional for supported Agora-managed OpenAI models.
model
str
Yes
—
Model name
base_url
str
BYOK only
None
OpenAI Chat Completions endpoint URL. Required when api_key is set.
temperature
float
No
None
Sampling temperature (0.0–2.0)
top_p
float
No
None
Nucleus sampling (0.0–1.0)
max_tokens
int
No
None
Maximum tokens to generate
system_messages
List[Dict]
No
None
System messages
greeting_message
str
No
None
Greeting message
greeting_audio_url
str
No
None
Publicly accessible greeting audio URL
failure_message
str
No
None
Failure message
input_modalities
List[str]
No
None
Input modalities
output_modalities
List[str]
No
None
Output modalities
params
Dict[str, Any]
No
None
Additional model parameters
headers
Dict[str, str]
No
None
Custom HTTP headers forwarded to the LLM provider
greeting_configs
Dict[str, Any]
No
None
Greeting playback configuration
template_variables
Dict[str, str]
No
None
Template variables for messages
greeting_configs may also include audio_download_timeout_ms, audio_pcm_sample_rate, and uninterruptible_asr_policy.
The SDK also includes named helpers for the remaining Agora-supported LLM providers. These helpers choose the correct request format internally.
Class
Provider
Key parameters
Groq
Groq
api_key, model, base_url
VertexAILLM
Google Vertex AI
api_key, model, project_id, location, url?
AmazonBedrock
Amazon Bedrock
access_key, secret_key, region, model
Dify
Dify
api_key, url, model, user?, conversation_id?
CustomLLM
OpenAI-compatible LLM
api_key, model, base_url
TTS Vendors
ElevenLabsTTS
Parameter
Type
Required
Default
Description
key
str
Yes
—
ElevenLabs API key
model_id
str
Yes
—
Model ID (e.g., eleven_flash_v2_5)
voice_id
str
Yes
—
Voice ID
base_url
str
Yes
—
WebSocket base URL
sample_rate
int
No
None
Sample rate: 16000, 22050, 24000, or 44100 Hz
skip_patterns
List[int]
No
None
Skip patterns
optimize_streaming_latency
int
No
None
Latency optimization level (0–4)
stability
float
No
None
Voice stability (0.0–1.0)
similarity_boost
float
No
None
Similarity boost (0.0–1.0)
style
float
No
None
Style exaggeration (0.0–1.0)
use_speaker_boost
bool
No
None
Enable speaker boost
MicrosoftTTS
Parameter
Type
Required
Default
Description
key
str
Yes
—
Azure subscription key
region
str
Yes
—
Azure region (e.g., eastus)
voice_name
str
Yes
—
Voice name (e.g., en-US-JennyNeural)
sample_rate
int
No
None
Sample rate: 8000, 16000, 24000, or 48000 Hz
speed
float
No
None
Speaking rate multiplier
volume
float
No
None
Audio volume
skip_patterns
List[int]
No
None
Skip patterns
OpenAITTS
Parameter
Type
Required
Default
Description
api_key
str
BYOK only
None
OpenAI API key
voice
str
Yes
—
Voice: alloy, echo, fable, onyx, nova, shimmer
model
str
BYOK only
None
Model: tts-1 or tts-1-hd
base_url
str
BYOK only
None
OpenAI TTS endpoint URL
instructions
str
No
None
Custom instructions for voice style, accent, pace, and tone
speed
float
No
None
Speech speed multiplier
skip_patterns
List[int]
No
None
Skip patterns
api_key, model, and base_url are required together for BYOK. Without api_key, model must be omitted or set to the Agora-managed tts-1 path. Fixed sample rate: 24000 Hz.
CartesiaTTS
Parameter
Type
Required
Default
Description
api_key
str
Yes
—
Cartesia API key
voice_id
str
Yes
—
Voice ID (serialized as {"mode": "id", "id": "..."})
model_id
str
Yes
—
Model ID
base_url
str
No
None
WebSocket URL
language
str
No
None
Target language
sample_rate
int
No
None
Sample rate: 8000–48000 Hz
skip_patterns
List[int]
No
None
Skip patterns
GoogleTTS
Parameter
Type
Required
Default
Description
key
str
Yes
—
Google Cloud API key
voice_name
str
Yes
—
Voice name
language_code
str
No
None
Language code (e.g., en-US)
sample_rate_hertz
int
No
None
Sample rate in Hz
skip_patterns
List[int]
No
None
Skip patterns
AmazonTTS
Parameter
Type
Required
Default
Description
access_key
str
Yes
—
AWS access key
secret_key
str
Yes
—
AWS secret key
region
str
Yes
—
AWS region (e.g., us-east-1)
voice_id
str
Yes
—
Amazon Polly voice ID
engine
str
Yes
—
Amazon Polly engine type
skip_patterns
List[int]
No
None
Skip patterns
DeepgramTTS
Parameter
Type
Required
Default
Description
api_key
str
Yes
—
Deepgram API key
model
str
Yes
—
Deepgram TTS model (e.g., aura-2-thalia-en)
base_url
str
No
None
WebSocket endpoint; defaults server-side to wss://api.deepgram.com/v1/speak
sample_rate
int
No
None
Sample rate in Hz (for example, 24000)
additional_params
Dict[str, Any]
No
None
Additional Deepgram TTS parameters, flattened into params
skip_patterns
List[int]
No
None
Skip patterns
GradiumTTS
Parameter
Type
Required
Default
Description
api_key
str
Yes
—
Gradium API key
url
str
No
None
WebSocket endpoint for streaming TTS output
model_name
str
No
None
Gradium TTS model name (e.g., default)
voice_id
str
No
None
Gradium voice identifier
sample_rate
int
No
None
Audio sample rate in Hz
additional_params
Dict[str, Any]
No
None
Additional Gradium TTS parameters, flattened into params
skip_patterns
List[int]
No
None
Skip patterns
HumeAITTS
Parameter
Type
Required
Default
Description
key
str
Yes
—
Hume AI API key
voice_id
str
Yes
—
Hume AI voice ID
provider
str
Yes
—
Voice provider type, such as CUSTOM_VOICE or HUME_AI
config_id
str
No
None
Configuration ID
base_url
str
No
None
Base URL
speed
float
No
None
Playback speed
trailing_silence
float
No
None
Trailing silence in seconds
skip_patterns
List[int]
No
None
Skip patterns
RimeTTS
CredentialMode is exported from agora_agent as the shared credential mode constants for provider integrations.
Parameter
Type
Required
Default
Description
key
str
BYOK: Yes; Managed: No
None
Rime API key
speaker
str
BYOK: Yes; Managed: No
None
Speaker ID
model_id
str
Yes
—
Model ID
base_url
str
Managed: Yes; BYOK: No
None
WebSocket URL
credential_mode
CredentialMode
No
None
Shared credential mode ("managed" or "byok"); omission uses BYOK validation
skip_patterns
List[int]
No
None
Skip patterns
When credential_mode is omitted or set to "byok", provide key, speaker, and model_id:
AgentKit serializes credential_mode at the top level of the Rime TTS configuration, alongside vendor and params. It omits the field when the option is not provided, preserving the existing BYOK request shape.
FishAudioTTS
Parameter
Type
Required
Default
Description
key
str
Yes
—
Fish Audio API key
reference_id
str
Yes
—
Reference ID
backend
str
Yes
—
Backend model version
skip_patterns
List[int]
No
None
Skip patterns
MiniMaxTTS
Parameter
Type
Required
Default
Description
key
str
BYOK only
None
MiniMax API key. Optional for supported Agora-managed MiniMax models
group_id
str
BYOK only
None
MiniMax group ID
model
str
Yes
—
Model name (e.g., speech-02-turbo)
voice_id
str
Conditional
None
Voice style identifier. Exactly one of voice_id or timber_weights is required.
timber_weights
List[Dict[str, Any]]
Conditional
None
Voice mixing configuration. Exactly one of voice_id or timber_weights is required.
speed
float
No
None
Speaking speed
vol
float
No
None
Volume gain
pitch
float
No
None
Pitch adjustment
emotion
str
No
None
Emotion style
latex_read
bool
No
None
Whether to read LaTeX expressions
english_normalization
bool
No
None
Whether to normalize English text
sample_rate
int
No
None
Output sample rate in Hz. Serialized as params.audio_setting.sample_rate.
pronunciation_dict
Dict[str, Any]
No
None
Pronunciation replacement dictionary
language_boost
str
No
None
Language boost strategy
url
str
No
None
Optional endpoint override
skip_patterns
List[int]
No
None
Skip patterns
key and group_id are required together for BYOK. url is optional. In both BYOK and managed modes, exactly one of voice_id or timber_weights must be provided. Without key, model must be one of the supported Agora-managed MiniMax models.
MistralTTS
Parameter
Type
Required
Default
Description
api_key
str
Yes
—
Mistral API key
model
str
No
None
Mistral TTS model name (e.g., voxtral-mini-tts-2603)
voice
str
No
None
Mistral voice identifier
additional_params
Dict[str, Any]
No
None
Additional Mistral TTS parameters, flattened into params
skip_patterns
List[int]
No
None
Skip patterns
TypecastTTS
Parameter
Type
Required
Default
Description
api_key
str
Yes
—
Typecast API key
voice_id
str
Yes
—
Typecast voice identifier
model
str
Yes
—
Typecast TTS model name, for example ssfm-v30
additional_params
Dict[str, Any]
No
None
Additional Typecast parameters, flattened into params
skip_patterns
List[int]
No
None
Skip patterns
MurfTTS
Parameter
Type
Required
Default
Description
key
str
Yes
—
Murf API key
voice_id
str
No
None
Voice ID (e.g., Ariana, Natalie)
base_url
str
No
None
WebSocket endpoint
locale
str
No
None
Voice locale
rate
float
No
None
Speech rate
pitch
float
No
None
Pitch adjustment
model
str
No
None
TTS model
sample_rate
int
No
None
Audio sample rate
skip_patterns
List[int]
No
None
Skip patterns
SarvamTTS
Parameter
Type
Required
Default
Description
key
str
Yes
—
Sarvam API key
speaker
str
Yes
—
Speaker name
target_language_code
str
Yes
—
Target language code
pitch
float
No
None
Pitch adjustment
pace
float
No
None
Speed of speech
loudness
float
No
None
Volume level
sample_rate
int
No
None
Audio sample rate
skip_patterns
List[int]
No
None
Skip patterns
GenericTTS
GenericTTS currently supports HTTP and HTTPS endpoints. WebSocket endpoints are rejected until a WebSocket-backed generic TTS implementation is available. AgentKit serializes the current HTTP implementation with the internal vendor value generic_http.
Parameter
Type
Required
Default
Description
url
str
Yes
—
HTTP(S) endpoint of the generic TTS service
headers
Dict[str, str]
No
None
Custom headers to include in requests to the generic TTS service
model
str
No
None
TTS model name
voice
str
No
None
Voice name
api_key
str
No
None
API key for the generic TTS service
speed
float
No
None
Speech rate
sample_rate
int
No
None
Output audio sample rate in Hz
response_format
str
No
None
Output audio format; use pcm
instruction
str
No
None
Additional voice style control instruction
additional_params
Dict[str, Any]
No
None
Additional generic TTS parameters
skip_patterns
List[int]
No
None
Skip patterns
XaiTTS
Parameter
Type
Required
Default
Description
api_key
str
Yes
—
xAI API key
language
str
Yes
—
BCP-47 language code for speech synthesis
voice_id
str
No
None
xAI voice identifier
sample_rate
int
No
None
Audio sample rate in Hz
additional_params
Dict[str, Any]
No
None
Additional xAI TTS parameters
skip_patterns
List[int]
No
None
Skip patterns
STT Vendors
Use turn_detection.language for Agora interaction language; it defaults to en-US. Provider-specific language values remain under asr.params and may use a different format. If with_stt() is omitted, AgentKit defaults to AresSTT for global clients and FengmingSTT for Area.CN clients. AgentKit populates REST asr.language from turn_detection.language.
SpeechmaticsSTT
Parameter
Type
Required
Default
Description
api_key
str
Yes
—
Speechmatics API key
language
str
Yes
—
Language code (e.g., en)
uri
str
No
None
Speechmatics streaming WebSocket URL
additional_params
Dict[str, Any]
No
None
Additional parameters
DeepgramSTT
Parameter
Type
Required
Default
Description
api_key
str
BYOK only
None
Deepgram API key. Optional only for Agora-managed nova-2 and nova-3.
model
str
No
None
Model (e.g., nova-2)
language
str
No
None
Language code (e.g., en-US)
keyterm
str
No
None
Boost specialized terms and brands; serialized as asr.params.keyterm
smart_format
bool
No
None
Enable smart formatting
punctuation
bool
No
None
Enable punctuation
additional_params
Dict[str, Any]
No
None
Additional parameters
For nova-2 and nova-3, omit api_key to use Agora-managed credentials. For all other Deepgram models, AgentKit requires api_key.
MicrosoftSTT
Parameter
Type
Required
Default
Description
key
str
Yes
—
Azure subscription key
region
str
Yes
—
Azure region (e.g., eastus)
language
str
Yes
—
Language code (e.g., en-US)
additional_params
Dict[str, Any]
No
None
Additional parameters
OpenAISTT
Parameter
Type
Required
Default
Description
api_key
str
Yes
—
OpenAI API key
model
str
No
None
Model (default: whisper-1)
language
str
No
None
Language code
prompt
str
No
None
Prompt for OpenAI transcription
input_audio_transcription
Dict[str, Any]
No
None
OpenAI transcription settings
additional_params
Dict[str, Any]
No
None
Additional parameters
GoogleSTT
Parameter
Type
Required
Default
Description
project_id
str
Yes
—
Google Cloud project ID
location
str
Yes
—
Google Cloud region
adc_credentials_string
str
Yes
—
Google service account credentials JSON string
language
str
Yes
—
Language code (e.g., en-US)
model
str
No
None
Recognition model
additional_params
Dict[str, Any]
No
None
Additional parameters
AmazonSTT
Parameter
Type
Required
Default
Description
access_key
str
Yes
—
AWS Access Key ID
secret_key
str
Yes
—
AWS Secret Access Key
region
str
Yes
—
AWS region (e.g., us-east-1)
language
str
Yes
—
Amazon language_code
additional_params
Dict[str, Any]
No
None
Additional parameters
AssemblyAISTT
Parameter
Type
Required
Default
Description
api_key
str
Yes
—
AssemblyAI API key
language
str
Yes
—
Language code
uri
str
No
None
AssemblyAI streaming WebSocket URL
additional_params
Dict[str, Any]
No
None
Additional parameters
AresSTT
Parameter
Type
Required
Default
Description
keywords
List[str]
No
None
Hotwords that improve ASR accuracy
additional_params
Dict[str, Any]
No
None
Additional parameters
SarvamSTT
Parameter
Type
Required
Default
Description
api_key
str
Yes
—
Sarvam API key
language
str
Yes
—
Language code (e.g., en, hi)
additional_params
Dict[str, Any]
No
None
Additional parameters
XaiSTT
Parameter
Type
Required
Default
Description
api_key
str
Yes
—
xAI API key
base_url
str
No
None
WebSocket endpoint URL for the xAI streaming STT API
sample_rate
int
No
None
Audio sample rate in Hz
language
str
No
None
Language code for speech recognition
additional_params
Dict[str, Any]
No
None
Additional xAI STT parameters
CN Vendors
CN LLM Vendors
All CN LLM helpers reuse the OpenAI-compatible shape and set a different vendor internally.