A minimal call
Pick a model
Themodel field is always provider-prefixed: openai/gpt-5.5, anthropic/claude-sonnet-4-6, gemini/gemini-3.1-pro-preview. Browse the full set on the Models page.
You can call any model from any SDK. The Anthropic SDK can talk to a Google model, the OpenAI SDK can talk to a Claude model. The provider prefix decides where the call routes. The SDK only sets the request shape.
If you don’t pass model, the call falls through to your default-model rule, which sets a model per organization or project so you can keep model names out of your code.
Common parameters
Reasoning models (the GPT-5 family, Claude with extended thinking) also accept
reasoning_effort: "low" | "medium" | "high" to control how much the model “thinks” before answering.
The response shape
Response
choices[0].message.contentis the assistant’s replychoices[0].finish_reasonis why the model stopped (stop,length,tool_calls,content_filter)
What’s next
Conversations
Multi-turn chat with message history.
Tool calling
Let the model call your code.
Streaming
Stream tokens as they’re generated.
Structured output
Get JSON back instead of free text.