xAI meluncurkan Grok Voice bersama Grok 4.3. Untuk developer, poin utamanya jelas: fitur suara tersedia gratis di xAI Console. Tidak ada biaya per menit atau per token untuk agen suara, text-to-speech, speech-to-text, dan Custom Voice. Yang tetap dihitung adalah penggunaan token Grok 4.3 saat agen melakukan reasoning, dengan alokasi gratis dari console untuk pengujian.
Panduan ini menunjukkan cara menjalankan Grok Voice tanpa biaya: mulai dari membuat API key, memilih atau mengkloning suara, membuka sesi WebSocket, menambahkan tool calling, hingga menguji alur lengkap dengan Apidog sebelum masuk ke produk.
Jika Anda membutuhkan cakupan API Grok 4.3 yang lebih luas, baca juga panduan API Grok 4.3. Untuk perbandingan dengan stack OpenAI, lihat Grok Voice vs GPT-Realtime.
TL;DR
- Grok Voice gratis untuk pengguna di xAI Console (
console.x.ai). - Tidak ada biaya per menit atau per token untuk TTS, STT, agen suara, atau Custom Voice.
- Model utama:
grok-voice-think-fast-1.0. - Time-to-first-audio di bawah 1 detik; xAI mengklaim sekitar 5x lebih cepat dari pesaing terdekat.
- Tersedia 80+ suara preset dalam 28 bahasa.
- Ada 5 persona agen suara bawaan: Eve, Ara, Rex, Sal, Leo.
- Custom Voice dapat dibuat dari sekitar 1 menit audio ucapan dan siap dalam kurang dari 2 menit.
- Endpoint WebSocket:
wss://api.x.ai/v1/realtime?model=grok-voice-think-fast-1.0
- Gunakan Apidog untuk menguji sesi WebSocket, REST TTS, dan STT dalam satu project.
Apa yang Gratis di Grok Voice
Akses gratis tersedia melalui xAI Console. Setelah login ke console.x.ai, buat API key, lalu Anda bisa memakai empat antarmuka suara berikut tanpa biaya fitur suara:
Voice Agent
Speech-to-speech real-time dengan tool calling, server-side voice activity detection, dan turn-taking bawaan.Text-to-Speech
80+ suara preset dalam 28 bahasa. Output dapat berupa MP3 atau μ-law untuk telephony.Speech-to-Text
Transkripsi streaming dan batch dalam 25 bahasa input, termasuk timestamp tingkat kata dan speaker diarization.Custom Voice
Kloning suara dari sampel audio singkat.voice_idyang dihasilkan dapat dipakai di TTS dan voice agent.
Yang perlu diperhatikan: saat voice agent melakukan reasoning menggunakan Grok 4.3, token reasoning tetap dihitung terhadap kredit console Anda. Kredit gratis cukup untuk validasi end-to-end, tetapi production workload tetap membutuhkan perencanaan kuota.
Langkah 1: Buat API Key
Masuk ke console.x.ai menggunakan akun X Anda.
Kemudian:
- Buka halaman API Keys.
- Buat key baru.
- Aktifkan scope
voicedanchat. - Simpan key di environment variable.
export XAI_API_KEY="xai-..."
Untuk aplikasi browser, jangan kirim API key utama ke client. Gunakan ephemeral token melalui pengaturan console atau endpoint:
/v1/realtime/sessions
Token ini berumur pendek dan dapat diberikan ke browser untuk membuka koneksi WebSocket tanpa mengekspos key utama.
Langkah 2: Pilih Suara
Ada dua opsi: memakai suara preset atau membuat Custom Voice.
Opsi A: Gunakan suara preset
Voice agent menyediakan lima persona bawaan:
| Voice | Karakter | Cocok untuk |
|---|---|---|
| Eve | Wanita, energik | Support flow yang ramah |
| Ara | Wanita, hangat | Assistant umum |
| Rex | Pria, percaya diri | Sales script |
| Sal | Netral, halus | Narasi panjang |
| Leo | Pria, otoritatif | Compliance atau flow formal |
Untuk TTS, pustaka suara lebih besar: 80+ suara dalam 28 bahasa. Anda cukup mengirim nama voice melalui parameter voice.
Opsi B: Buat Custom Voice
Siapkan file WAV berisi sekitar 1 menit ucapan bersih dari satu pembicara. Hindari musik latar, noise, dan potongan audio yang tidak konsisten.
Contoh request:
curl https://api.x.ai/v1/custom-voices \
-H "Authorization: Bearer $XAI_API_KEY" \
-F "name=narrator-jane" \
-F "language=en" \
-F "audio=@sample.wav"
Respons akan berisi voice_id. ID ini dapat digunakan di endpoint TTS dan voice agent.
Rekomendasi praktis:
- Gunakan ruangan tenang.
- Rekam satu speaker saja.
- Gunakan intonasi natural.
- Hindari kompresi audio berlebihan.
- Durasi maksimal referensi adalah 120 detik, tetapi kualitas audio lebih penting daripada panjang file.
Langkah 3: Jalankan Voice Agent via WebSocket
Voice agent berjalan sebagai satu sesi WebSocket:
- Client membuka koneksi.
- Client mengirim konfigurasi sesi.
- Client mengirim audio input.
- Server mengembalikan audio output secara streaming.
Endpoint:
wss://api.x.ai/v1/realtime?model=grok-voice-think-fast-1.0
Contoh minimal Node.js:
import WebSocket from "ws";
const ws = new WebSocket(
"wss://api.x.ai/v1/realtime?model=grok-voice-think-fast-1.0",
{
headers: {
Authorization: `Bearer ${process.env.XAI_API_KEY}`,
},
}
);
ws.on("open", () => {
ws.send(JSON.stringify({
type: "session.update",
session: {
voice: "ara",
instructions: "You are a friendly support agent. Keep replies under two sentences.",
input_audio_format: "pcm16",
output_audio_format: "pcm16",
turn_detection: {
type: "server_vad",
},
},
}));
});
ws.on("message", (raw) => {
const event = JSON.parse(raw.toString());
if (event.type === "response.audio.delta") {
const audio = Buffer.from(event.delta, "base64");
process.stdout.write(audio);
}
if (event.type === "response.audio.done") {
console.log("\nAudio response selesai.");
}
});
Audio user dikirim sebagai event input_audio_buffer.append dalam format PCM16 base64.
Contoh bentuk event:
{
"type": "input_audio_buffer.append",
"audio": "BASE64_PCM16_AUDIO_FRAME"
}
Event penting yang perlu Anda tangani:
| Event | Fungsi |
|---|---|
session.update |
Mengatur voice, instruksi, format audio, dan tool |
input_audio_buffer.append |
Mengirim frame audio user |
response.audio.delta |
Menerima potongan audio output |
response.audio.done |
Menandai akhir respons audio |
response.function_call_arguments.done |
Menandai model ingin memanggil tool |
Gunakan PCM16 24 kHz untuk aplikasi browser atau desktop. Untuk integrasi telephony, gunakan μ-law.
Langkah 4: Tambahkan Tool Calling
Voice agent dapat memanggil function di aplikasi Anda saat percakapan berlangsung. Ini berguna untuk use case seperti cek status order, validasi akun, membuat tiket, atau mengambil data internal.
Deklarasikan tool di session.update:
ws.send(JSON.stringify({
type: "session.update",
session: {
tools: [
{
type: "function",
name: "lookup_order",
description: "Look up the status of a customer order by order number.",
parameters: {
type: "object",
properties: {
order_id: {
type: "string",
},
},
required: ["order_id"],
},
},
],
},
}));
Saat model ingin memanggil tool, server akan mengirim event:
response.function_call_arguments.done
Alur implementasinya:
- Parse nama function dan argument dari event.
- Jalankan function di backend Anda.
- Kirim hasilnya kembali sebagai
function_call_output. - Model melanjutkan percakapan dan membacakan hasilnya.
Contoh pola pengiriman hasil:
ws.send(JSON.stringify({
type: "conversation.item.create",
item: {
type: "function_call_output",
call_id: event.call_id,
output: JSON.stringify({
status: "shipped",
estimated_delivery: "Friday",
}),
},
}));
Grok Voice juga menyediakan tool bawaan web_search, yang dapat digunakan untuk mendasarkan jawaban pada informasi baru tanpa membangun retrieval layer sendiri.
Langkah 5: Gunakan TTS Tanpa Voice Agent
Jika Anda hanya butuh text-to-speech, gunakan endpoint REST. Ini lebih sederhana untuk prompt audio, onboarding message, narasi, voicemail, atau voice-over aplikasi.
Contoh:
curl https://api.x.ai/v1/tts \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-tts-1",
"voice": "ara",
"input": "Welcome back to your account. Your last login was Tuesday at 3pm.",
"format": "mp3"
}' \
--output greeting.mp3
Format output:
| Format | Kapan digunakan |
|---|---|
mp3 |
Audio fidelity tinggi untuk web, app, dan media |
mulaw |
Telephony 8 kHz untuk SIP/PSTN bridge |
Endpoint ini sinkron. Anda mengirim teks dan langsung menerima byte audio, tanpa sesi streaming.
Langkah 6: Uji WebSocket dan REST di Apidog
Debug WebSocket dari terminal biasanya tidak nyaman karena percakapan bersifat stateful. Lebih mudah jika sesi, message, dan event response bisa disimpan dan diputar ulang.
Workflow yang bisa Anda gunakan di Apidog:
- Buat environment baru.
- Simpan
XAI_API_KEYsebagai variable. - Buat request WebSocket ke endpoint Grok Voice.
- Tambahkan header authorization:
Authorization: Bearer {{XAI_API_KEY}}
-
Simpan message JSON seperti:
session.updateinput_audio_buffer.appendresponse.create
Jalankan sesi dan inspeksi event server dalam struktur tree.
Ulangi test dengan voice atau instruction berbeda.
Bandingkan output untuk mengecek perubahan latency, turn-taking, dan respons model.
Unduh Apidog, buat request WebSocket baru, lalu simpan konfigurasi sesi Anda sebagai koleksi. Koleksi yang sama juga bisa memuat endpoint REST untuk TTS dan STT.
Untuk pola pengujian API stateful yang lebih luas, lihat alat pengujian API untuk insinyur QA.
Batasan Free Tier
Fitur suara Grok Voice tidak memiliki biaya per menit atau per token di console. Namun, ada beberapa batasan yang tetap perlu Anda desain sejak awal.
1. Rate limit
Console menerapkan batas request per menit untuk mencegah abuse. Batas ini cukup untuk development dan demo, tetapi bukan pengganti kapasitas production.
Jika terkena rate limit:
- kurangi frekuensi request,
- batch request REST jika memungkinkan,
- gunakan retry dengan backoff,
- atau naik ke tier berbayar.
2. Kuota Custom Voice
Satu akun dapat menyimpan jumlah Custom Voice terbatas. Jika slot penuh, hapus voice lama atau buat ulang voice yang masih digunakan.
3. Token reasoning
Saat voice agent memakai Grok 4.3 untuk berpikir, penggunaan token dihitung terhadap kredit console. Kredit gratis cukup untuk prototyping, tetapi production traffic perlu paket berbayar.
Cara Membandingkan Voice Sebelum Production
Sebelum memilih voice, jalankan test script yang sama untuk beberapa preset.
Minimal gunakan tiga jenis kalimat:
- Sapaan singkat:
Halo, terima kasih sudah menghubungi kami. Saya akan membantu Anda hari ini.
- Konfirmasi:
Mengerti, semuanya sudah siap. Saya akan mengirimkan detailnya sekarang.
- Kalimat panjang dengan angka dan tanggal:
Pesanan nomor 48291 dibuat pada 12 Mei pukul 15.30 dan dijadwalkan tiba pada Jumat pagi.
Uji juga dengan tiga gaya bicara:
- tenang,
- normal,
- mendesak.
Dengarkan intonasi, kejelasan angka, jeda antarfrasa, dan konsistensi nada. Grok Voice menangani variasi ini dengan baik dibanding banyak TTS engine, tetapi audit manual tetap penting sebelum production.
FAQ
Apakah Grok Voice benar-benar gratis?
Fitur suara seperti TTS, STT, voice agent, dan Custom Voice tidak dikenakan biaya per menit atau per token di xAI Console. Namun, reasoning Grok 4.3 di balik voice agent tetap dihitung terhadap kredit console.
Apakah saya perlu akun X?
Ya. Login ke xAI Console menggunakan akun X.
Bisakah Grok Voice digunakan dari browser?
Ya. Gunakan ephemeral token. Buat token dari server melalui /v1/realtime/sessions, kirim token jangka pendek ke browser, lalu buka koneksi WebSocket langsung dari client. API key utama tetap berada di server.
Format audio apa yang didukung?
Untuk TTS, output tersedia sebagai MP3 fidelity tinggi atau μ-law 8 kHz. Voice agent menggunakan PCM16 24 kHz secara internal.
Apakah bisa dipakai untuk telephony?
Ya. Output μ-law adalah format umum untuk integrasi SIP dan PSTN. Anda tetap membutuhkan provider SIP karena xAI tidak menyediakan gateway SIP sendiri saat ini.
Bagaimana kualitas Custom Voice?
Kualitas sangat bergantung pada audio referensi. Sampel bersih 60 detik di ruangan tenang biasanya lebih baik daripada sampel 120 detik yang berisik. Setelah dibuat, voice_id dapat dipakai di TTS dan voice agent tanpa kloning ulang.
Bisakah digunakan untuk karakter AI dalam game?
Ya. Endpoint TTS cukup cepat untuk runtime generation, dan Custom Voice memungkinkan setiap karakter memiliki voice sendiri. Untuk dialog panjang, gunakan pola chunked TTS agar latency tetap rendah.
Kesimpulan
Grok Voice adalah salah satu jalur paling sederhana untuk membuat agen suara real-time dengan biaya awal nol. Anda bisa mulai dari xAI Console, membuat API key, memilih voice, membuka sesi WebSocket, lalu menguji seluruh flow di Apidog sebelum integrasi production.
Langkah implementasi yang direkomendasikan:
- Buat API key di
console.x.ai. - Uji satu voice preset seperti
ara. - Jalankan sesi WebSocket minimal.
- Tambahkan tool calling jika perlu data internal.
- Uji ulang di Apidog dengan beberapa voice dan instruction.
- Baru integrasikan ke aplikasi atau telephony layer Anda.
Saat siap menghubungkan voice agent ke reasoning Grok 4.3 yang lebih luas, baca panduan API Grok 4.3. Untuk membandingkan dengan stack OpenAI, lihat Grok Voice vs GPT-Realtime.


Top comments (0)