Service eligibility and regional restrictions
PuppyIP serves only compliant overseas businesses and their authorized personnel. Proxy services are not available in mainland China. The service may only be used for lawful business activities outside mainland China. Use of this service within mainland China is prohibited.
Hosting a proxy IP or server overseas does not change these restrictions. The service must not be provided to end users in mainland China through relaying, forwarding, sharing or resale. Before use, read the Terms of Service.
Key Takeaways
- This change concerns the developer Speech-to-Speech API. It does not establish an equivalent change to consumer Grok, separate transcription APIs or text models.
- grok-voice-latest currently points to grok-voice-3.0. Applications pinned to grok-voice-2.0 need to choose 3.0 or the alias that follows the latest model.
- The same-API and same-price statements apply to the xAI 2.0-to-3.0 upgrade. They do not make every provider integration identical or establish one price for all associated services.
- Servers can use an API key. Browser and mobile clients should follow the documented short-lived ephemeral-token approach to keep the long-lived key off the client.
Identify the change: a developer voice-conversation model
Two adjacent release entries dated October 14 announce Grok Voice 3.0 for Speech-to-Speech and mark Grok Voice 2.0 as deprecated. This API uses a bidirectional WebSocket to exchange user audio, conversation information, and audio and text responses for applications such as voice assistants.
Keep this separate from Speech-to-Text model migration, the standalone Text-to-Speech API and Grok text-model updates. These entries also do not establish consumer Grok subscription benefits, third-party launch dates, or availability for every country and account.
Inspect the connection model: alias or version pin
Start with the model actually passed when the voice connection is established. If it is grok-voice-latest, the current documentation says the alias points to grok-voice-3.0 and sessions using it already run the new model. An old configuration label containing “Voice 2” is not sufficient evidence that a connection still uses 2.0.
If the application explicitly pins grok-voice-2.0, the upgrade section says to set model to grok-voice-3.0; the release notes also allow grok-voice-latest. Pinning 3.0 makes the selected deployment version explicit. Choosing latest means following future alias changes, so subsequent version reviews still matter.
The model is a connection URL query parameter, for example wss://api.x.ai/v1/realtime?model=grok-voice-3.0. Inspect the code, SDK argument or deployment configuration that actually opens the connection, rather than only a display label. This is separate from choosing a voice in a consumer app.
Keep the protocol, then check the session configuration
For the xAI Voice 2.0-to-3.0 upgrade, the documentation says the endpoint, session parameters and events are unchanged. An existing integration can therefore start by checking model selection without rewriting its entire event handler solely because the version number changed. This compatibility statement does not automatically extend to another provider’s API.
Sessions are still configured through session.update. The current page lists voice, instructions, audio formats, and turn_detection.type settings such as server_vad or null. reasoning.effort defaults to high and can be set to none. These are current configuration details, rather than proof that each setting is new in 3.0 or evidence of a measured performance improvement.
Choose authentication by runtime and keep API keys on servers
A server can pass an xAI API key in the Authorization header. For browser and mobile clients, the documentation recommends short-lived ephemeral tokens so the long-lived API key stays off the client. Do not copy the server example’s API key into frontend code.
A native browser WebSocket cannot set arbitrary headers in the same way as the server example. The browser example passes an ephemeral token through a WebSocket subprotocol with the xai-client-secret. prefix. Implement issuance, expiry and renewal using the ephemeral-token documentation; the token is not a permanent public credential.
Separate same pricing from deprecation
Both the release notes and upgrade section explicitly say 3.0 has the same price as 2.0. This is a relative statement between models. The reviewed upgrade page does not give a numeric amount, currency or billing unit from which to quote a rate, and it does not establish unchanged total bills for telephony, external tools or third-party platforms. Check the billing items relevant to the integration separately.
Deprecated marks 2.0 as a deprecated model; it does not itself announce a shutdown at a particular time. The current upgrade instructions provide no Voice 2.0 end-of-life date, grace period or regional enforcement schedule. Avoid presenting this as an emergency migration with a documented cutoff.
Plan an observable upgrade check for an existing application
As operational advice, have the integration owner record the actual model, prompt, voice, audio format and turn-detection settings. In a controlled environment, use a short, non-sensitive conversation to inspect connection behavior, audio exchange, event order and error handling. For a 2.0 pin, separating the model change from unrelated feature changes makes diagnosis easier; this is suggested practice rather than an official mandatory test list.
Applications using latest also merit a behavior check because the alias has changed. Record an owner, change window and rollback conditions in advance; whether an older model can support a rollback depends on the service support available at that time. An unchanged API does not guarantee identical prompts, business workflows or handling of calls already in progress.
Sources
Frequently Asked Questions
Does an alias change force an established long call onto the new model?
The documentation confirms that latest points to 3.0 and says sessions using the alias already run the new model. It does not specify the transition time for every open connection, a hot-migration mechanism or an uninterrupted-call guarantee. Distinguish model selection on a new connection from a call already in progress, and plan around the application’s connection lifecycle.
Does a Grok subscription cover these voice API charges?
The release entries and Speech-to-Speech page do not establish a mapping between consumer subscriptions and developer API credits, or confirm third-party plans. Check the account, billing and availability conditions for the service being used. Same pricing does not imply free or unlimited subscription usage.
Can an OpenAI Realtime integration also migrate by changing only the model?
Do not apply the unchanged-API statement for xAI 2.0-to-3.0 to a cross-provider migration. The current page separately lists OpenAI Realtime event-name differences and unsupported events; for example, xAI does not emit rate_limits.updated. Check the events and payloads the application actually uses against that compatibility section.
Why are the release entries dated October 14 but the footer says October 13?
Both Voice release entries are dated October 14, and the current upgrade page lists 3.0. The reviewed pages nevertheless retain October 13 last-updated metadata. The explicit entries establish the announcement date; this discrepancy does not establish an exact launch time, timezone or account-by-account activation schedule.