Mit CometAPI entwickelnEine API für mehrere Modelle erforderlich?Teste den Workflow im Playground und erstelle anschließend einen API-Schlüssel, sobald Modell und Kosten zu deinem Anwendungsfall passen.
Stellen Sie mit Python eine Verbindung zu Grok Voice 3.0 her, generieren Sie eine gesprochene Antwort, senden Sie Audio, fügen Sie Tools hinzu und beheben Sie häufige Probleme mit der Echtzeit-API.
Grok Voice 3.0 ist das Echtzeit-Sprach-zu-Sprach-Modell von xAI, veröffentlicht am 14. Oktober 2026. Der API-Modelname lautet grok-voice-3.0; mit Stand 3. November 2026 verweist grok-voice-latest points to this version auf diese Version. Die Launch-Ankündigung nennt Sprachsitzungen zu $0.08 pro Minute ($4.80 pro Stunde). Es kombiniert Gesprächsführung, Unterbrechungsbehandlung und Tool-Nutzung für Sprachassistenten und Kundensupport. Mit einfachem Python, einem xAI-API-Schlüssel und der Bibliothek websockets können Sie eine Aufforderung senden und eine gesprochene Antwort speichern. Beginnen Sie mit dem Beispiel unten und fügen Sie dann aufgezeichnetes Audio, Live-Mikrofon-Streaming und Business-Tools hinzu, wenn Ihre Anwendung wächst.
Weiterlernen
Diesen Artikel mit der nächsten Entscheidung verknüpfen.
Auf Klarheit, Quellenangabe und aktuelle API-Terminologie geprüft.
Key Takeaways
Grok Voice 3.0 tauscht Sprache und Text in Echtzeit aus. Ihre Anwendung sendet und empfängt über die gesamte Unterhaltung hinweg Sitzungsereignisse per WebSocket.
Ihr erster Test kann eine einzelne Text-zu-Audio-Runde sein. Eine abspielbare Antwort bestätigt, dass Authentifizierung und Audiogenerierung funktionieren, bevor Sie ein Mikrofon hinzufügen.
Audioeingaben erfordern ein passendes Format und eine klare Rundenabgrenzung. Ihre Anwendung kann aufgezeichnetes PCM-Audio mit manuellem Rundenabschluss übermitteln oder Mikrofon-Audio mit serverseitiger Spracherkennung streamen.
Ihre Anwendung steuert Geschäftsaktionen. Sie validiert Funktionsargumente und Benutzerberechtigungen, führt die genehmigte Aktion aus und gibt das Ergebnis zurück, damit der Sprachagent fortfahren kann.
Browser- und Mobile-Clients verwenden kurzlebige Anmeldedaten. Ihr Server behält den permanenten API-Schlüssel und stellt temporäre Token für Clientverbindungen aus.
What Is Grok Voice 3.0?
Grok Voice 3.0 ist ein Echtzeit-konversationales Sprachmodell von xAI, das unter dem SpaceX Super Intelligence Branding betrieben wird. Es akzeptiert gesprochene oder Text-Eingaben und kann innerhalb einer laufenden Sitzung Audio und Text zurückgeben. Das Modell ist für Voice-Agent-Anwendungsfälle optimiert und dient nicht als Drop-in-Ersatz für allgemeine rein textbasierte Grok-Modelle.
Traditionelle Sprachassistenten verketten häufig Spracherkennung, ein Sprachmodell und Sprachsynthese. Grok Voice stellt stattdessen eine Sprach-zu-Sprach-Sitzung mit integriertem konversationalem Verhalten und Tool-Unterstützung bereit. Diese Architektur kann die Orchestrierungsschicht für Entwickler vereinfachen, wenngleich Anwendungen weiterhin Audioerfassung, Transport, Autorisierung, Business-Integrationen und Monitoring benötigen.
Die Grok Voice 3.0 Modelldefinition führt Text und Audio als Ein- und Ausgabemodalitäten. Für dieses Tutorial ist der erste sinnvolle Prüfpunkt eine abspielbare Antwort aus einem serverseitigen Python-Skript.
Key Features and Capabilities of Grok Voice 3.0
Eine Live-Unterhaltung führen: Sprache und Text über WebSocket während der gesamten Sitzung austauschen.
Unterbrechungen handhaben: serverseitige Spracherkennung verwenden und die geplante Wiedergabe stoppen, sobald der Anrufer zu sprechen beginnt.
Business-Tools nutzen: eigene Funktionen für Aufgaben wie Bestellabfrage und Terminplanung anbinden.
Dies sind veröffentlichte Benchmark-Ergebnisse und keine Garantien für Ihre Bereitstellung. Testen Sie eigene Akzente, Geräuschbedingungen, Tools und Eskalationspfade, bevor Sie den Agenten mit Kunden einsetzen.
What Do You Need Before Calling the Grok Voice 3.0 API?
Erstellen Sie ein Konto oder melden Sie sich in der xAI Console an, generieren Sie einen API-Schlüssel und prüfen Sie, ob Ihr Konto Zugriff und verfügbares Nutzungsguthaben hat. Verwenden Sie für das Python-Beispiel ein lokales Terminal oder einen vertrauenswürdigen Server.
Python 3.11 oder neuer und pip in derselben Umgebung verfügbar.
Ein gültiger xAI-API-Schlüssel, gespeichert als XAI_API_KEY.
Eine Netzwerkverbindung, die ausgehende sichere WebSocket-Verbindungen zulässt.
Ein Mediaplayer zum Öffnen der erzeugten WAV-Datei.
Generieren Sie einen Schlüssel in der xAI Console. Speichern Sie ihn in einer Umgebungsvariable statt ihn im Anwendungscode zu hinterlegen.
Setzen Sie den API-Schlüssel für das aktuelle Bash-Terminal.
export XAI_API_KEY="your_xai_api_key"
Unter Windows PowerShell:
Setzen Sie den API-Schlüssel für die aktuelle PowerShell-Sitzung.
$env:XAI_API_KEY="your_xai_api_key"
Installieren Sie den WebSocket-Client in Ihrer Python-Umgebung.
python -m pip install "websockets>=14,<18"
Führen Sie die verbleibenden Befehle in derselben Terminal-Sitzung aus. Falls Sie eine virtuelle Umgebung verwenden, aktivieren Sie sie vor der Paketinstallation.
How to Use the Grok Voice 3.0 API with Python
Die native Realtime-API verwendet eine WebSocket-Verbindung. Anders als gewöhnliche Text-Chat-Completions tauscht sie laufende Sitzungsereignisse aus und streamt Audio-Chunks während einer laufenden Unterhaltung.
Step 1: Select a fixed model and configure the session
Die API akzeptiert einen versionierten Modellnamen in der WebSocket-URL. Das Beispiel verwendet grok-voice-3.0, sodass die angeforderte Version explizit ist. Ein session.update-Ereignis setzt die Stimme, das Audioformat und die manuelle Rundenbehandlung; warten Sie auf session.updated, bevor Sie die Aufforderung übermitteln.
Step 2: Send text and collect the spoken response
Speichern Sie das folgende Skript als grok_voice_demo.py. Es sendet eine Text-Aufforderung, sammelt Base64-codierte Audio-Chunks und schreibt eine mono, 24 kHz, 16-Bit PCM-WAV-Datei. Es stoppt auch bei API-Fehlern, fehlgeschlossenem Abschluss oder einer Antwort ohne Audio.
Erzeugen Sie eine gesprochene Antwort aus einer Text-Aufforderung und speichern Sie sie als WAV-Datei.
Nach einer erfolgreichen Antwort gibt das Terminal Saved grok_response.wav aus. Öffnen Sie die Datei in einem Mediaplayer und prüfen Sie, ob Sie eine vollständige Antwort in normaler Geschwindigkeit hören. Eine fehlende oder nicht abspielbare Datei ist ein Grund, die zurückgegebenen Ereignisse und die Audio-Konfiguration zu prüfen, bevor Sie weitere Funktionen hinzufügen.
Die Referenz zu Realtime-Ereignissen beschreibt die hier verwendete Sitzungsbestätigung und den Antwort-Lebenszyklus. Das Skript wartet die gesamte Runde ab, bevor die Datei geschrieben wird; eine interaktive Sprachanwendung sollte Audio-Chunks beim Eintreffen abspielen.
How Do You Send Audio to Grok Voice 3.0?
Recorded audio with manual turn completion
Dieses Beispiel verwendet eine mono, 24 kHz, 16-Bit PCM-WAV-Datei. Grok Voice 3.0 unterstützt auch andere PCM-Abtastraten, μ-law, A-law und Opus. Das tatsächliche Format muss der session.update-Konfiguration entsprechen. Ersetzen Sie nur den conversation.item.create-Block im vorherigen Skript durch das folgende Snippet. Behalten Sie den anschließenden response.create-Aufruf und die bestehende Empfangsschleife bei.
Ersetzen Sie den Textnachrichten-Block durch einen Upload von aufgezeichnetem Audio innerhalb von main().
with wave.open("request.wav", "rb") as source:
if (
source.getnchannels() != 1
or source.getsampwidth() != 2
or source.getframerate() != SAMPLE_RATE
or source.getcomptype() != "NONE"
):
raise ValueError("Use mono, 24 kHz, 16-bit PCM WAV audio.")
pcm = source.readframes(source.getnframes())
if len(pcm) < SAMPLE_RATE * 2 // 10:
raise ValueError("Use a spoken recording longer than 100 ms.")
for offset in range(0, len(pcm), 4800):
await ws.send(json.dumps({
"type": "input_audio_buffer.append",
"audio": base64.b64encode(pcm[offset:offset + 4800]).decode("ascii"),
}))
await ws.send(json.dumps({"type": "input_audio_buffer.commit"}))
while (await receive_event(ws)).get("type") != "input_audio_buffer.committed":
pass
Rücken Sie diesen Ersatz auf dasselbe Einrückungsniveau wie der ursprüngliche Textnachrichten-Block ein, innerhalb des WebSocket-Kontexts. Es sendet rohe PCM-Samples aus der WAV-Datei, nicht den WAV-Container-Header. Das erste Skript wählt explizit die manuelle Rundenbehandlung, daher sind das Committen des Puffers und das Anfordern einer Antwort getrennte Aktionen.
Live microphone capture and immediate playback
Für eine interaktive Unterhaltung erfassen Sie Audio kontinuierlich, konvertieren es in das konfigurierte Eingabeformat und senden kurze Chunks, während eine separate Empfangsschleife Antworten verarbeitet. Wählen Sie server_vad für automatische Rundenerkennung statt des im Beispiel mit aufgezeichneter Datei verwendeten manuellen Modus. Vermeiden Sie es, ein zweites response.create zu senden, wenn der Server die Antwort bereits erstellt.
Bei einer Unterbrechung stoppen Sie die Wiedergabe von in der Warteschlange befindlichem Assistant-Audio zügig. Allein die Netzwerkstornierung entfernt nicht den Sound, der bereits von Ihrer Anwendung gepuffert wurde. Halten Sie die Wiedergabewarteschlange klein und verfolgen Sie, wie viel Audio der Zuhörer tatsächlich gehört hat, damit Ihre Anwendung den Gesprächszustand konsistent halten kann.
How to Add Tools to a Grok Voice 3.0 Agent?
Anwendungen können Tools wie Bestellabfrage, Terminplanung oder Kontoverifizierung bereitstellen. Der Agent kann eine komplexe gesprochene Anfrage interpretieren, eine autorisierte Funktion aufrufen und das Ergebnis zur Fortsetzung nutzen. Das ist besonders hilfreich, wenn ein Kunde in einem Anruf mehrere zusammenhängende Änderungen wünscht.
Die API unterstützt benutzerdefinierte Funktionen und serververwaltete Tools. Bei einer benutzerdefinierten Funktion implementiert Ihre Anwendung die Aktion; das Definieren eines Tools verbindet das Modell nicht aus sich heraus mit Ihrer Datenbank.
Deklarieren Sie Funktionsname, Beschreibung und JSON-Argument-Schema in session.tools.
Handhaben Sie response.function_call_arguments.done, parsen Sie die Argumente und validieren Sie die Berechtigung des Anrufers, bevor Sie die Funktion ausführen.
Geben Sie das Ergebnis als conversation.item.create-Ereignis zurück, mit item.type auf function_call_output und der passenden call_id gesetzt.
Senden Sie response.create, nachdem die erforderlichen Funktionsergebnisse übermittelt wurden. Wenn mehrere Aufrufe zusammen eintreffen, geben Sie alle Ergebnisse zurück, bevor Sie das Modell um Fortsetzung bitten.
Beginnen Sie mit einem schreibgeschützten Tool, etwa der Prüfung des Lieferstatus einer Bestellung. Für Aktionen, die Buchungen ändern, Rückerstattungen ausstellen oder Bestellungen aufgeben, erzwingen Sie Identitätsprüfungen, Bestätigungen und Schutz vor Doppelanfragen in der Anwendung.
How to Use Grok Voice 3.0 in Browser and Mobile Apps
Verwenden Sie kurzlebige Anmeldedaten für Client-seitige Verbindungen. Ihr Server fordert mit seinem permanenten API-Schlüssel ein kurzlebiges Token an und übergibt das Token an den Client. Authentifizieren Sie Anfragen an Ihren eigenen Token-Endpunkt und setzen Sie Nutzungslimits, damit er nicht zu einem unbeschränkten Gateway wird.
Halten Sie Mikrofonzustimmung, Aufnahme-Steuerung und Verbindungsstatus in der Oberfläche sichtbar. Handhaben Sie Verbindungsverlust explizit: stoppen Sie veraltete Wiedergabe, informieren Sie den Nutzer über die Wiederherstellung der Verbindung und vermeiden Sie die Wiederholung von Aktionen, die möglicherweise bereits abgeschlossen sind.
How to Troubleshoot Common Grok Voice 3.0 API Errors
Authentifizierungsfehler: bestätigen Sie, dass XAI_API_KEY im Terminal gesetzt ist, in dem das Skript läuft, und dass der Schlüssel zu einem Konto mit Zugriff gehört. Fügen Sie den Schlüssel nicht in Logs oder Support-Nachrichten ein.
Unerwartete Argumente der Client-Bibliothek: verifizieren Sie, dass pip die gewünschte websockets-Version in die Python-Umgebung installiert hat, in der das Skript ausgeführt wird.
Kein Audioausgang: inspizieren Sie Fehlerereignisse und response.done, bestätigen Sie, dass session.updated die Konfiguration bestätigt hat, und prüfen Sie, dass für die manuelle Runde eine Antwort angefordert wurde.
Verzerrte Wiedergabe: vergleichen Sie die tatsächlichen Bytes mit dem konfigurierten Codec, der Abtastrate, der Kanalzahl und dem WAV-Header. Das Umbenennen einer MP3-Datei in WAV konvertiert sie nicht.
Timeout: prüfen Sie den Netzwerkzugang und den Dienststatus und inspizieren Sie das letzte erfolgreiche Ereignis. Versuchen Sie eine fehlgeschlagene Verbindung getrennt von einer Business-Aktion erneut, die möglicherweise bereits ausgeführt wurde.
What Should You Budget for Grok Voice 3.0 API Calls?
Sprachnutzung und benutzerdefinierte Integrationen können separate Kosten verursachen. Für dieses Tutorial sind die relevanten veröffentlichten Tarife die Realtime-Sitzung und Texteingaben; eigenständige Transkriptions- und Sprachgenerierungsprodukte sind separate Dienste.
Speech-to-speech-Sitzung: $0.08 pro Minute, entsprechend $4.80 pro Stunde.
Texteingabe während einer Sprachsitzung: $0.004 pro Texteingabe.
Tarife geprüft am 29. Oktober 2026. Siehe die offizielle Preisseite für aktuelle Preise.
Zum Beispiel entsprechen 500 abrechenbare Sitzungsminuten $40 an Basis-Sprachkosten. Diese Schätzung schließt Texteingaben, optionale Tools, Telefonie und Ihre eigene Infrastruktur aus. Beginnen Sie mit kurzen Testsitzungen und schließen Sie Leerlaufverbindungen, sobald die Unterhaltung endet.
Conclusion
Beginnen Sie mit einer vollständigen Grok Voice 3.0 API-Runde: verbinden, Sitzung konfigurieren, eine Aufforderung übermitteln, Audio empfangen und das Ergebnis abspielen. Sobald dieser Pfad funktioniert, fügen Sie aufgezeichnete Sprache hinzu und bauen Sie Mikrofonerfassung und Streaming-Wiedergabe darum herum. Führen Sie Business-Tools erst ein, nachdem Gesprächs- und Fehlerbehandlungspfade zuverlässig sind.