Skip to main content

RoomOptions

RoomOptions is a configuration class that defines how an AI agent connects to and behaves within a VideoSDK meeting room. It serves as the primary interface for customizing agent behavior, meeting connection parameters, and session management settings.

Introduction

The RoomOptions class is the central configuration point for VideoSDK AI agents, providing comprehensive control over how agents join meetings, interact with participants, and manage their sessions. This configuration is passed to the JobContext during agent initialization and influences all aspects of the agent's behavior within the meeting environment.

Core Features

  • Meeting Connection: Configure room ID and authentication for VideoSDK meetings
  • Agent Identity: Set display name and visual representation
  • Session Management: Control automatic session termination and timeouts
  • Media Capabilities: Enable vision processing and meeting recording
  • Development Tools: Playground mode for testing and development
  • Error Handling: Custom error handling callbacks
  • Avatar Integration: Support for virtual avatars

Basic Example

main.py
from videosdk.agents import RoomOptions, JobContext  

# Basic configuration
room_options = RoomOptions(
room_id="your-meeting-id",
name="My AI Agent",
playground=True
)

# Create job context
context = JobContext(room_options=room_options)

Parameters

Parameters that you can pass with RoomOptions:

ParameterTypeDefaultDescription
room_idOptional[str]NoneUnique identifier for the VideoSDK meeting
auth_tokenOptional[str]NoneVideoSDK authentication token
nameOptional[str]"Agent"Display name of the agent in the meeting
playgroundboolTrueEnable playground mode for easy testing
visionboolFalseEnable video processing capabilities
recordingboolFalseEnable meeting recording
avatarOptional[Any]NoneVirtual avatar for visual representation
join_meetingOptional[bool]TrueWhether agent should join the meeting
on_room_errorOptional[Callable]NoneError handling callback function
auto_end_sessionboolTrueAutomatically end session when participants leave
session_timeout_secondsOptional[int]30Timeout for automatic session termination
signaling_base_urlOptional[str]NoneCustom VideoSDK signaling server URL

Additional Resources

Got a Question? Ask us on discord