xAI (Grok)
The xAI (Grok) provider enables your agent to use xAI's powerful Grok models for real-time, multimodal AI interactions.
Installation
Install the xAI-enabled VideoSDK Agents package:
pip install "videosdk-plugins-xai"
Authentication
The xAI plugin requires an xAI API key.
Set XAI_API_KEY in your .env file.
Importing
from videosdk.plugins.xai import XAIRealtime, XAIRealtimeConfig
Example Usage
from videosdk.plugins.xai import XAIRealtime, XAIRealtimeConfig
from videosdk.agents import RealTimePipeline
# Initialize the xAI Grok real-time model
model = XAIRealtime(
model="grok-4-1-fast-non-reasoning",
# When XAI_API_KEY is set in .env - DON'T pass api_key parameter
api_key="your-xai-api-key",
config=XAIRealtimeConfig(
voice="Eve",
# collection_id="your-collection-id" # Optional
)
)
# Create the pipeline with the model
pipeline = RealTimePipeline(model=model)
When using a .env file for credentials, don't pass them as arguments to model instances. The SDK automatically reads environment variables, so omit the api_key parameter from your code.
Key Features
- Multi-modal Interactions: Utilize xAI's powerful Grok models for voice and text.
- Function Calling: Define custom tools to retrieve weather data, interact with external APIs, or perform other actions.
- Web Search: Enable real-time web search capabilities by setting
enable_web_search=True. - X Search: Access X (formerly Twitter) content by setting
enable_x_search=Trueand providingallowed_x_handles.
Configuration Options
model: The Grok model to use (e.g.,"grok-4-1-fast-non-reasoning").api_key: Your xAI API key (can also be set via theXAI_API_KEYenvironment variable).config: AnXAIRealtimeConfigobject for advanced options:voice: (str) The voice to use for audio output (e.g.,"Eve","Ara","Rex","Sal","Leo").enable_web_search: (bool) Enable or disable web search capabilities.enable_x_search: (bool) Enable or disable search on X (Twitter).allowed_x_handles: (List[str]) A list of allowed X handles to search within.collection_id: (str, optional) The ID of a custom collection from your xAI Console storage to provide additional context.turn_detection: Configuration for detecting when a user has finished speaking.
Collection Storage
xAI Grok supports using "collections" to provide additional context to your agent, grounding its responses in your own documents or data.
To use a collection:
- Navigate to xAI Console: Go to your console.x.ai dashboard.
- Access Storage: Click on the Storage section in the sidebar.
- Create New Collection: Click the "Create New Collection" button.
- Upload Files: Upload your relevant documents or data files to the new collection.
- Get Collection ID: Once the collection is created, copy its Collection ID.
- Use in Config: Pass the copied ID to your agent's configuration:
config=XAIRealtimeConfig(
voice="Eve",
collection_id="your-collection-id-from-console",
# ... other config options
)
The agent will now use the content of this collection to inform its responses.
Additional Resources
The following resources provide more information about using xAI (Grok) with the VideoSDK Agents SDK.
Got a Question? Ask us on discord

