|
| 1 | +--- |
| 2 | +title: GPT-Live configuration and compatibility reference |
| 3 | +subtitle: Look up supported fields, transports, and feature restrictions |
| 4 | +description: Look up GPT-Live model settings, defaults, voice configuration, call transports, tools, greetings, recording behavior, and unsupported Vapi features. |
| 5 | +slug: gpt-live/configuration |
| 6 | +--- |
| 7 | + |
| 8 | +Configure GPT-Live through a Vapi assistant with `model.provider: "openai"`, `model.model: "gpt-live-1"`, and an OpenAI voice. The tables below describe this integration's supported behavior. |
| 9 | + |
| 10 | +## Model and voice fields |
| 11 | + |
| 12 | +These fields belong to the assistant configuration. See [Create Assistant](/api-reference/assistants/create) for the complete generated schema. |
| 13 | + |
| 14 | +| Field | Values or behavior | |
| 15 | +| --- | --- | |
| 16 | +| `model.provider` | `openai` | |
| 17 | +| `model.model` | `gpt-live-1` | |
| 18 | +| `model.speaker.instructions` | Speaker prompt; see [instruction precedence](/gpt-live/prompts#understand-instruction-precedence). | |
| 19 | +| `model.speaker.personalityPacks` | Array of `eager-listener`, `idle-hummer`, `bouncy`, and `unhurried`. | |
| 20 | +| `model.reasoner.provider` | `openai`; defaults to OpenAI when omitted. | |
| 21 | +| `model.reasoner.model` | `gpt-5.6-sol`, `gpt-5.6-terra`, or `gpt-5.6-luna`; defaults to `gpt-5.6-terra`. | |
| 22 | +| `model.reasoner.reasoningEffort` | `none`, `low`, `medium`, `high`, `xhigh`, or `max`; defaults to `low`. | |
| 23 | +| `model.reasoner.instructions` | Custom reasoner prompt; omission uses Vapi's default. | |
| 24 | +| `model.tools` | Inline supported tool definitions. | |
| 25 | +| `model.toolIds` | IDs of saved tools to resolve for the assistant. | |
| 26 | +| `voice.provider` | `openai` | |
| 27 | +| `voice.voiceId` | One of the [22 supported voices](/gpt-live/voices). | |
| 28 | + |
| 29 | +A custom prompt replaces the corresponding fallback prompt. An explicit empty string is preserved. See [Configure the speaker and reasoner](/gpt-live/prompts) before overriding defaults. |
| 30 | + |
| 31 | +## Greetings and duration |
| 32 | + |
| 33 | +Use a text greeting if the assistant should begin the conversation. |
| 34 | + |
| 35 | +| Field or feature | Behavior | |
| 36 | +| --- | --- | |
| 37 | +| `firstMessageMode: "assistant-speaks-first"` | Speaks the configured text greeting. | |
| 38 | +| `firstMessageMode: "assistant-waits-for-user"` | Waits for the caller. | |
| 39 | +| `firstMessage` | Text greeting; without usable text, the assistant waits. | |
| 40 | +| `maxDurationSeconds` | Maximum call duration in seconds. | |
| 41 | +| Audio URL greeting | Unsupported; not played as a greeting. | |
| 42 | +| Generated-message first-message mode | Unsupported; the assistant waits for the caller. | |
| 43 | + |
| 44 | +Generated speech may vary from the supplied greeting. A text greeting is not a guarantee of exact prerecorded playback. |
| 45 | + |
| 46 | +## Call transports |
| 47 | + |
| 48 | +Use the [Create Call endpoint](/api-reference/calls/create) or the dashboard's web-call interface. |
| 49 | + |
| 50 | +| Transport | Support | Requirements | |
| 51 | +| --- | --- | --- | |
| 52 | +| WebRTC web call | Supported | Dashboard **Talk** or Vapi web-call interface. | |
| 53 | +| `vapi.websocket` | Supported with restrictions | Raw, mono PCM16 audio at 24 kHz. | |
| 54 | +| `vapi.sip` | Supported | Vapi SIP transport configuration. | |
| 55 | +| Native Twilio | Supported | A configured Twilio phone number and call transport. | |
| 56 | +| Native Telnyx or Vonage | Unsupported | Choose a supported transport. | |
| 57 | + |
| 58 | +### WebSocket configuration |
| 59 | + |
| 60 | +Send this body to `POST https://api.vapi.ai/call` with your Vapi private API key: |
| 61 | + |
| 62 | +```json |
| 63 | +{ |
| 64 | + "assistantId": "YOUR_ASSISTANT_ID", |
| 65 | + "transport": { |
| 66 | + "provider": "vapi.websocket", |
| 67 | + "audioFormat": { |
| 68 | + "format": "pcm_s16le", |
| 69 | + "container": "raw", |
| 70 | + "sampleRate": 24000 |
| 71 | + } |
| 72 | + } |
| 73 | +} |
| 74 | +``` |
| 75 | + |
| 76 | +Connect to `transport.websocketCallUrl` in the response. Send and receive binary audio frames containing signed 16-bit little-endian samples at 24 kHz. Convert your microphone audio to that format before sending it. |
| 77 | + |
| 78 | +The default WebSocket sample rate is not sufficient for GPT-Live; set `24000` explicitly. This audio requirement applies to the Vapi WebSocket transport, not to browser-negotiated WebRTC audio or carrier audio. |
| 79 | + |
| 80 | +Close the WebSocket to end the call, or have the assistant invoke `endCall`. Incoming JSON call-control commands are not supported by this GPT-Live connection. See [WebSocket transport](/calls/websocket-transport) for the general transport, applying the restrictions above. |
| 81 | + |
| 82 | +## Tool and transfer compatibility |
| 83 | + |
| 84 | +The supported tool types are `function`, `apiRequest`, `endCall`, `dtmf`, and `transferCall`. All other tool types are rejected. |
| 85 | + |
| 86 | +| Feature | Support or restriction | |
| 87 | +| --- | --- | |
| 88 | +| Function tools | Synchronous and asynchronous functions. | |
| 89 | +| API request tools | Configured HTTP requests. | |
| 90 | +| Outgoing DTMF | Supported on SIP using RTP DTMF. Use digits as a string, such as `"0011*#"`; native Twilio, web calls, and raw WebSocket calls do not support this tool. | |
| 91 | +| SIP INFO DTMF | Unsupported; use RTP DTMF on SIP. | |
| 92 | +| Incoming keypad collection | Rejected when `keypadInputPlan.enabled` is true. | |
| 93 | +| Blind transfer | Supported on native Twilio and Vapi SIP to configured phone or SIP destinations. | |
| 94 | +| Warm transfer or generated transfer summary | Rejected. | |
| 95 | +| Transfer fallback plans or SIP `bye` verb | Rejected. | |
| 96 | +| SIP transfer with extension dialing | Unsupported; use a direct destination. | |
| 97 | +| Squads and assistant handoffs | Unsupported. | |
| 98 | + |
| 99 | +A configured transfer tool does not make every transport transfer-capable. Web calls and raw WebSocket calls do not gain phone transfer support by adding the tool. Carrier acceptance of a transfer does not confirm that the destination answered. |
| 100 | + |
| 101 | +## Settings that do not apply |
| 102 | + |
| 103 | +GPT-Live handles speech directly. Classic transcriber selection, text-to-speech controls, and start/stop-speaking plans do not configure this audio conversation. |
| 104 | + |
| 105 | +General model fields such as `temperature` and `maxTokens` do not tune this integration. Use the speaker prompt for conversational behavior and `model.reasoner.reasoningEffort` for reasoning effort. |
| 106 | + |
| 107 | +## Unsupported features and artifact behavior |
| 108 | + |
| 109 | +Check these restrictions before moving an existing assistant: |
| 110 | + |
| 111 | +| Feature | Behavior | |
| 112 | +| --- | --- | |
| 113 | +| Model fallbacks | Rejected. GPT-Live also cannot be a fallback model. | |
| 114 | +| Voice fallbacks | Rejected. | |
| 115 | +| Non-OpenAI or custom voice IDs | Rejected unless included in the supported Vapi voice catalog. | |
| 116 | +| Live message injection and call-control commands | Unsupported for this integration. | |
| 117 | +| Listen or monitor sockets | Unsupported. | |
| 118 | +| Reconnecting to an existing GPT-Live session | Unsupported. Start a new call and reconcile pending work in your service. | |
| 119 | +| Recording disabled in the assistant | No recording is created. | |
| 120 | +| Recording-consent plan configured | GPT-Live recording is disabled because this integration does not collect that consent. | |
| 121 | + |
| 122 | +Call artifacts and analysis are separate from your service's authoritative operation records. A transcript cannot by itself establish that a booking succeeded. See [Migrate and test GPT-Live](/gpt-live/testing). |
| 123 | + |
| 124 | +## Post-call analysis and observability |
| 125 | + |
| 126 | +Completed GPT-Live calls use Vapi's shared post-call processing. Configure analysis and observability on the assistant and inspect the resulting call data after processing finishes. |
| 127 | + |
| 128 | +| Capability | Configuration or result | Requirement | |
| 129 | +| --- | --- | --- | |
| 130 | +| Structured outputs | Attach IDs through `artifactPlan.structuredOutputIds`; read `call.artifact.structuredOutputs`. | Create the output definitions and retain the conversation data needed for extraction. | |
| 131 | +| Legacy call analysis | Configure `analysisPlan`. | Existing configurations remain supported; prefer structured outputs for new extraction and evaluation setups. | |
| 132 | +| Scorecards | Grade structured output values; read `call.artifact.scorecards`. | Configure a scorecard and its required structured outputs. | |
| 133 | +| Boards | Query call data and plot outcomes. | Choose metrics available on your calls; classic pipeline timing fields do not describe GPT-Live's architecture. | |
| 134 | +| Monitoring | Configure monitors, thresholds, and notifiers. | Retained call data is required; monitoring is unavailable with Zero Data Retention. | |
| 135 | +| End-of-call reports | Receive configured `end-of-call-report` server messages. | Configure the assistant's Server URL and requested server messages. | |
| 136 | + |
| 137 | +See [Call analysis](/assistants/call-analysis), [Scorecards](/observability/scorecard-quickstart), and [Monitoring](/observability/monitoring-quickstart) for setup. These are post-call capabilities; they do not imply access to live listen sockets or message injection. |
| 138 | + |
| 139 | +An extracted statement such as “booking confirmed” describes the conversation. Verify the booking in your service when measuring actual task success. Analysis results do not replace the authoritative operation record. |
| 140 | + |
| 141 | +## Credentials and cost |
| 142 | + |
| 143 | +If you bring your own OpenAI key, it needs access to GPT-Live and the selected reasoner. Organization access to the Vapi feature is a separate prerequisite. |
| 144 | + |
| 145 | +Review Vapi call costs for your configuration. OpenAI's [model pricing](https://developers.openai.com/api/docs/models/gpt-live-1) describes direct provider charges; it is not a quote for your complete Vapi call. Reasoning, tools, and telephony can contribute additional cost. |
0 commit comments