Skip to navigation

OpenAI

Use OpenAI GPT models with your Vapi voice agent

OpenAI provides language models for Vapi voice agents.

You can use OpenAI through Vapi’s default integration, or connect your own account in Integrations.

Supported capability

CapabilityProvider value
Language modelopenai

Language model

Set model.provider to openai and model.model to a GPT model.

curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": { "provider": "openai", "model": "gpt-4.1" }
}'

For additional API configuration options, review the OpenAIModel fields in the Create Assistant API reference.

ModelModel ID
GPT 6 Lunagpt-6-luna
GPT 5.6 Solgpt-5.6-sol
GPT 5.6 Terragpt-5.6-terra
GPT 5.6 Lunagpt-5.6-luna
GPT 5.5gpt-5.5
GPT Instant (latest)chat-latest
GPT 5.4gpt-5.4
GPT 5.4 Minigpt-5.4-mini
GPT 5.2gpt-5.2
GPT 5gpt-5
GPT 5 Minigpt-5-mini
GPT 5 Nanogpt-5-nano
GPT 4.1gpt-4.1
GPT 4.1 Minigpt-4.1-mini
GPT 4ogpt-4o
GPT 4o Minigpt-4o-mini
GPT Realtime Clustergpt-realtime-2025-08-28
GPT Realtime Minigpt-realtime-mini-2025-12-15
GPT Realtime 2gpt-realtime-2
o3o3

You can also set model.temperature from 0 to 2. If omitted, Vapi uses 0.5.

Regional models

To keep model requests in one region, set model.model to a region-qualified model ID. The value after the colon is the Azure region that serves the request. You can also select these IDs in the model picker for assistants, squads, evals, and structured outputs.

curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": { "provider": "openai", "model": "gpt-5.4:eastus2" }
}'

If you’ve added an Azure OpenAI credential for the selected region, Vapi routes the request through it. Otherwise, Vapi uses its own deployment in that region. A region-qualified request never falls back to another region.

ModelRegion-qualified model IDs
GPT 5.6 Solgpt-5.6-sol:westus3
GPT 5.6 Terragpt-5.6-terra:westus3
GPT 5.6 Lunagpt-5.6-luna:westus3
GPT 5.4gpt-5.4:eastus2
gpt-5.4:swedencentral
GPT 5.4 Minigpt-5.4-mini:australiaeast
gpt-5.4-mini:eastus2
gpt-5.4-mini:swedencentral
GPT 5.2gpt-5.2:eastus2
gpt-5.2:swedencentral
GPT 5gpt-5:canadaeast
gpt-5:eastus
gpt-5:eastus2
gpt-5:germanywestcentral
gpt-5:polandcentral
gpt-5:spaincentral
gpt-5:swedencentral
gpt-5:westeurope
GPT 5 Minigpt-5-mini:eastus2
gpt-5-mini:germanywestcentral
gpt-5-mini:polandcentral
gpt-5-mini:spaincentral
gpt-5-mini:swedencentral
gpt-5-mini:westeurope
GPT 5 Nanogpt-5-nano:eastus2
gpt-5-nano:swedencentral

Service tier

For latency-sensitive assistants, you can run supported OpenAI models in OpenAI’s faster processing tier. In the assistant’s model settings, turn on Priority processing. Through the API, set model.serviceTier on a supported model.

ValueBehavior
fastRequests OpenAI’s fast processing tier for lower latency, billed at OpenAI’s fast-tier rates. If OpenAI downgrades the request under load, the call is billed at standard rates. The Priority processing switch sets this value.
autoUses the service tier configured for your OpenAI project.
defaultStandard processing and billing.

serviceTier applies only to models that support fast processing: gpt-6-luna, gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna, and gpt-5.5. It is ignored for other models. When unset, Vapi uses the service tier configured for your OpenAI project. See OpenAI’s pricing for fast-tier rates, and the OpenAIModel fields in the Create Assistant API reference.

curl -X PATCH "https://api.vapi.ai/assistant/ASSISTANT_ID" \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": { "provider": "openai", "model": "gpt-5.6-sol", "serviceTier": "fast" }
}'

When OpenAI reports the tier it served for a Fast-mode request, the model’s cost in the call includes a serviceTierBreakdown that splits usage by served tier.