To use [XaiModel][pydantic_ai.models.xai.XaiModel], you need to either install pydantic-ai, or install pydantic-ai-slim with the xai optional group:
pip/uv-add "pydantic-ai-slim[xai]"To use xAI models from xAI through their API, go to console.x.ai to create an API key.
docs.x.ai contains a list of available xAI models.
Once you have the API key, you can set it as an environment variable:
export XAI_API_KEY='your-api-key'You can then use [XaiModel][pydantic_ai.models.xai.XaiModel] by name:
from pydantic_ai import Agent
agent = Agent('xai:grok-4-1-fast-non-reasoning')
...Or initialise the model directly:
from pydantic_ai import Agent
from pydantic_ai.models.xai import XaiModel
# Uses XAI_API_KEY environment variable
model = XaiModel('grok-4-1-fast-non-reasoning')
agent = Agent(model)
...You can also customize the [XaiModel][pydantic_ai.models.xai.XaiModel] with a custom provider:
from pydantic_ai import Agent
from pydantic_ai.models.xai import XaiModel
from pydantic_ai.providers.xai import XaiProvider
# Custom API key
provider = XaiProvider(api_key='your-api-key')
model = XaiModel('grok-4-1-fast-non-reasoning', provider=provider)
agent = Agent(model)
...Or with a custom xai_sdk.AsyncClient:
from xai_sdk import AsyncClient
from pydantic_ai import Agent
from pydantic_ai.models.xai import XaiModel
from pydantic_ai.providers.xai import XaiProvider
xai_client = AsyncClient(api_key='your-api-key')
provider = XaiProvider(xai_client=xai_client)
model = XaiModel('grok-4-1-fast-non-reasoning', provider=provider)
agent = Agent(model)
...