-
public final class ConversationConfigConfiguration class for conversation sessions
This class defines the parameters needed to start a conversation with an ElevenLabs agent. Exactly one of agentId, conversationToken, or signedUrl must be provided.
Public Agents (no authentication required):
Use
agentIdonly — works in both voice and text-only mode.SDK fetches the per-session token from the public endpoint.
Private Agents — voice (LiveKit/WebRTC):
Use
conversationToken, generated on your backend with your API key.
Private Agents — text-only (raw WebSocket):
Use
signedUrl, returned by your backend's call to/v1/convai/conversation/get-signed-url. The SDK opens it verbatim.
-
-
Field Summary
-
Constructor Summary
Constructors Constructor Description ConversationConfig(String agentId, String conversationToken, String signedUrl, String userId, Boolean textOnly, Integer audioInputSampleRate, String apiEndpoint, String websocketUrl, String environment, Overrides overrides, Map<String, Object> customLlmExtraBody, Map<String, Object> dynamicVariables, Map<String, ClientTool> clientTools, Function1<String, Unit> onConnect, Function2<String, String, Unit> onMessage, Function1<ConversationMode, Unit> onModeChange, Function1<ConversationStatus, Unit> onStatusChange, Function1<Boolean, Unit> onCanSendFeedbackChange, Function1<ConversationEvent.ClientToolCall, Unit> onUnhandledClientToolCall, Function1<Float, Unit> onVadScore, Function1<Float, Unit> onAudioLevelChanged, Function1<AudioFrame, Unit> onAudioFrame, Function1<Map<String, Object>, Unit> onAudioAlignment, Function1<Map<String, Object>, Unit> onAgentResponseMetadata, Function1<String, Unit> onUserTranscript, Function1<String, Unit> onAgentResponse, Function2<String, String, Unit> onAgentResponseCorrection, Function2<String, Integer, Unit> onUserTranscriptEvent, Function2<String, Integer, Unit> onTentativeUserTranscriptEvent, Function2<String, Integer, Unit> onAgentResponseEvent, Function3<AgentResponsePartType, String, Integer, Unit> onAgentResponsePartEvent, Function2<String, Integer, Unit> onAgentResponseCorrectionEvent, Function4<String, String, String, Boolean, Unit> onAgentToolResponse, Function3<String, String, String, Unit> onConversationInitiationMetadata, Function1<Integer, Unit> onInterruption, Function1<DisconnectionDetails, Unit> onDisconnect, Function2<Integer, String, Unit> onError, AudioPipelineConfiguration audioConfiguration, Boolean useMediaStream)
-
Method Summary
-
-
Constructor Detail
-
ConversationConfig
ConversationConfig(String agentId, String conversationToken, String signedUrl, String userId, Boolean textOnly, Integer audioInputSampleRate, String apiEndpoint, String websocketUrl, String environment, Overrides overrides, Map<String, Object> customLlmExtraBody, Map<String, Object> dynamicVariables, Map<String, ClientTool> clientTools, Function1<String, Unit> onConnect, Function2<String, String, Unit> onMessage, Function1<ConversationMode, Unit> onModeChange, Function1<ConversationStatus, Unit> onStatusChange, Function1<Boolean, Unit> onCanSendFeedbackChange, Function1<ConversationEvent.ClientToolCall, Unit> onUnhandledClientToolCall, Function1<Float, Unit> onVadScore, Function1<Float, Unit> onAudioLevelChanged, Function1<AudioFrame, Unit> onAudioFrame, Function1<Map<String, Object>, Unit> onAudioAlignment, Function1<Map<String, Object>, Unit> onAgentResponseMetadata, Function1<String, Unit> onUserTranscript, Function1<String, Unit> onAgentResponse, Function2<String, String, Unit> onAgentResponseCorrection, Function2<String, Integer, Unit> onUserTranscriptEvent, Function2<String, Integer, Unit> onTentativeUserTranscriptEvent, Function2<String, Integer, Unit> onAgentResponseEvent, Function3<AgentResponsePartType, String, Integer, Unit> onAgentResponsePartEvent, Function2<String, Integer, Unit> onAgentResponseCorrectionEvent, Function4<String, String, String, Boolean, Unit> onAgentToolResponse, Function3<String, String, String, Unit> onConversationInitiationMetadata, Function1<Integer, Unit> onInterruption, Function1<DisconnectionDetails, Unit> onDisconnect, Function2<Integer, String, Unit> onError, AudioPipelineConfiguration audioConfiguration, Boolean useMediaStream)
- Parameters:
agentId- Agent identifier for public agentsconversationToken- Pre-generated WebRTC token for private voice agentssignedUrl- Pre-signed WebSocket URL for private text-only agentsuserId- Optional user identifier for conversation trackingtextOnly- Whether to use text-only mode (true) or voice mode (false, default)audioInputSampleRate- Sample rate for audio recording in Hz (default: 48000 for high quality)apiEndpoint- Base URL for ElevenLabs API (default: "https://api.elevenlabs.websocketUrl- WebSocket URL for LiveKit WebRTC connection (default: "wss://livekit.rtc.elevenlabs.environment- Optional environment name for the agent (defaults to "production" on the server)audioConfiguration- Optional microphone pipeline settings (software mute, muted-speech callbacks)
-
-
Method Detail
-
getIsPrivateAgent
final Boolean getIsPrivateAgent()
-
getAgentId
final String getAgentId()
-
getConversationToken
final String getConversationToken()
-
getSignedUrl
final String getSignedUrl()
-
getTextOnly
final Boolean getTextOnly()
-
getAudioInputSampleRate
final Integer getAudioInputSampleRate()
-
getApiEndpoint
final String getApiEndpoint()
-
getWebsocketUrl
final String getWebsocketUrl()
-
getEnvironment
final String getEnvironment()
-
getOverrides
final Overrides getOverrides()
-
getCustomLlmExtraBody
final Map<String, Object> getCustomLlmExtraBody()
-
getDynamicVariables
final Map<String, Object> getDynamicVariables()
-
getClientTools
final Map<String, ClientTool> getClientTools()
-
getOnConnect
final Function1<String, Unit> getOnConnect()
-
getOnMessage
final Function2<String, String, Unit> getOnMessage()
-
getOnModeChange
final Function1<ConversationMode, Unit> getOnModeChange()
-
getOnStatusChange
final Function1<ConversationStatus, Unit> getOnStatusChange()
-
getOnCanSendFeedbackChange
final Function1<Boolean, Unit> getOnCanSendFeedbackChange()
-
getOnUnhandledClientToolCall
final Function1<ConversationEvent.ClientToolCall, Unit> getOnUnhandledClientToolCall()
-
getOnVadScore
final Function1<Float, Unit> getOnVadScore()
-
getOnAudioLevelChanged
final Function1<Float, Unit> getOnAudioLevelChanged()
-
getOnAudioFrame
final Function1<AudioFrame, Unit> getOnAudioFrame()
-
getOnAudioAlignment
final Function1<Map<String, Object>, Unit> getOnAudioAlignment()
-
getOnAgentResponseMetadata
final Function1<Map<String, Object>, Unit> getOnAgentResponseMetadata()
-
getOnUserTranscript
final Function1<String, Unit> getOnUserTranscript()
-
getOnAgentResponse
final Function1<String, Unit> getOnAgentResponse()
-
getOnAgentResponseCorrection
final Function2<String, String, Unit> getOnAgentResponseCorrection()
-
getOnUserTranscriptEvent
final Function2<String, Integer, Unit> getOnUserTranscriptEvent()
-
getOnTentativeUserTranscriptEvent
final Function2<String, Integer, Unit> getOnTentativeUserTranscriptEvent()
-
getOnAgentResponseEvent
final Function2<String, Integer, Unit> getOnAgentResponseEvent()
-
getOnAgentResponsePartEvent
final Function3<AgentResponsePartType, String, Integer, Unit> getOnAgentResponsePartEvent()
-
getOnAgentResponseCorrectionEvent
final Function2<String, Integer, Unit> getOnAgentResponseCorrectionEvent()
-
getOnAgentToolResponse
final Function4<String, String, String, Boolean, Unit> getOnAgentToolResponse()
-
getOnConversationInitiationMetadata
final Function3<String, String, String, Unit> getOnConversationInitiationMetadata()
-
getOnInterruption
final Function1<Integer, Unit> getOnInterruption()
-
getOnDisconnect
final Function1<DisconnectionDetails, Unit> getOnDisconnect()
-
getOnError
final Function2<Integer, String, Unit> getOnError()
-
getAudioConfiguration
final AudioPipelineConfiguration getAudioConfiguration()
-
getUseMediaStream
final Boolean getUseMediaStream()
-
-
-
-