OpenAI WebSocket API: Streaming Real-Time dengan Biaya 75% Lebih Rendah
Smart AIPI kini mendukung OpenAI WebSocket API untuk streaming real-time dua arah. Latensi lebih rendah daripada SSE, koneksi persisten, dan 75% lebih murah. Berikut cara menghubungkannya.
TL;DR: Smart AIPI kini mendukung OpenAI WebSocket API. Hubungkan ke wss://api.smartaipi.com/v1/realtime, kirim event response.create, dan stream respons secara real time melalui koneksi persisten. Model yang sama, protokol yang sama, 75% lebih murah.
WebSocket streaming adalah cara tercepat untuk berinteraksi dengan model AI. Berbeda dengan request HTTP tradisional atau bahkan Server-Sent Events (SSE), WebSocket mempertahankan koneksi persisten dua arah antara aplikasi Anda dan API. Tidak ada setup koneksi untuk setiap request, tidak ada overhead HTTP, tidak ada batasan half-duplex.
Smart AIPI kini mendukung protokol ini di wss://api.smartaipi.com/v1/realtime — sepenuhnya kompatibel dengan OpenAI WebSocket API, dengan biaya 75% lebih rendah.
Mengapa WebSocket Dibanding SSE?
Server-Sent Events telah menjadi standar untuk AI streaming, tetapi ada trade-off yang dihilangkan oleh WebSocket:
| Fitur | SSE (HTTP) | WebSocket |
|---|---|---|
| Koneksi per request | Koneksi baru setiap kali | Persisten (digunakan ulang) |
| Arah | Hanya Server → Client | Dua arah |
| Beberapa request dalam satu koneksi | Tidak | Ya |
| Latensi token pertama | Lebih tinggi (TCP + TLS baru) | Lebih rendah (reuse koneksi) |
| Ideal untuk | Integrasi sederhana | Agents, aplikasi real-time, throughput tinggi |
Untuk loop agent yang melakukan puluhan panggilan API secara berurutan, penghematan latensi kumulatif dari koneksi WebSocket persisten sangat signifikan.
Cara Kerjanya
WebSocket API mengikuti protokol berbasis event. Anda mengirim event JSON ke server dan menerima event JSON kembali — semuanya melalui satu koneksi persisten.
1. Hubungkan dan Autentikasi
Buka koneksi WebSocket dengan API key Anda di header:
wss://api.smartaipi.com/v1/realtime
Authorization: Bearer sk-proj-your-smart-aipi-key
OpenAI-Beta: realtime=v1
2. Kirim Request
Kirim event response.create dengan prompt Anda:
{
"type": "response.create",
"response": {
"model": "gpt-5.3-codex",
"store": false,
"instructions": "You are a helpful assistant.",
"input": [
{
"type": "message",
"role": "user",
"content": [
{ "type": "input_text", "text": "What is WebSocket?" }
]
}
]
}
}
Catatan: Parameter store: false wajib untuk koneksi Smart AIPI WebSocket.
3. Terima Event Streaming
Server mengirim kembali urutan event saat respons dibuat:
| Event | Deskripsi |
|---|---|
| response.created | Objek respons telah dibuat |
| response.output_item.added | Item output baru (message) dimulai |
| response.content_part.added | Bagian konten dimulai di dalam item output |
| response.output_text.delta | Potongan teks (konten streaming yang sebenarnya) |
| response.output_text.done | Output teks selesai |
| response.completed | Seluruh respons selesai (event terminal) |
Contoh Kode
Node.js
import WebSocket from "ws";
const ws = new WebSocket("wss://api.smartaipi.com/v1/realtime", {
headers: {
"Authorization": "Bearer sk-proj-your-key",
"OpenAI-Beta": "realtime=v1",
},
});
ws.on("open", () => {
ws.send(JSON.stringify({
type: "response.create",
response: {
model: "gpt-5.3-codex",
store: false,
input: [{
type: "message",
role: "user",
content: [{ type: "input_text", text: "Hello!" }],
}],
},
}));
});
ws.on("message", (data) => {
const event = JSON.parse(data);
if (event.type === "response.output_text.delta") {
process.stdout.write(event.delta);
}
if (event.type === "response.completed") {
console.log("\n\nDone. Usage:", event.response.usage);
ws.close();
}
});
Python
import asyncio
import json
import websockets
async def main():
headers = {
"Authorization": "Bearer sk-proj-your-key",
"OpenAI-Beta": "realtime=v1",
}
async with websockets.connect(
"wss://api.smartaipi.com/v1/realtime",
extra_headers=headers,
) as ws:
await ws.send(json.dumps({
"type": "response.create",
"response": {
"model": "gpt-5.3-codex",
"store": False,
"input": [{
"type": "message",
"role": "user",
"content": [{"type": "input_text", "text": "Hello!"}],
}],
},
}))
async for message in ws:
event = json.loads(message)
if event["type"] == "response.output_text.delta":
print(event["delta"], end="", flush=True)
if event["type"] == "response.completed":
print(f"\n\nUsage: {event['response']['usage']}")
break
asyncio.run(main())
cURL (Tes Cepat)
Verifikasi bahwa WebSocket handshake berhasil dengan satu perintah:
curl -isN --http1.1 \
-H "Connection: Upgrade" \
-H "Upgrade: websocket" \
-H "Sec-WebSocket-Version: 13" \
-H "Sec-WebSocket-Key: dGVzdA==" \
-H "Authorization: Bearer sk-proj-your-key" \
-H "OpenAI-Beta: realtime=v1" \
https://api.smartaipi.com/v1/realtime
Koneksi yang berhasil akan mengembalikan HTTP/1.1 101 Switching Protocols.
Kapan Menggunakan WebSocket vs SSE
Kedua protokol bekerja melalui Smart AIPI. Pilih berdasarkan use case Anda:
- Gunakan SSE untuk integrasi sederhana, request satu kali, dan saat Anda menginginkan implementasi sesederhana mungkin. Setel
stream: truepada panggilan API standar apa pun. - Gunakan WebSocket untuk loop agent, aplikasi interaktif, pola request berfrekuensi tinggi, dan situasi apa pun saat Anda membutuhkan latensi serendah mungkin di antara panggilan berturut-turut.
Harga
Request WebSocket ditagihkan sama seperti request API standar — berdasarkan penggunaan token. Diskon 75% berlaku:
| Model | OpenAI Direct | Smart AIPI | Penghematan |
|---|---|---|---|
| GPT-5.3 Codex (output) | $14.00 / 1M tokens | $3.50 / 1M tokens | 75% |
| GPT-5.2 (output) | $10.00 / 1M tokens | $2.50 / 1M tokens | 75% |
| Codex Mini (output) | $0.60 / 1M tokens | $0.15 / 1M tokens | 75% |
Memulai
- Dapatkan API key — Daftar di smartaipi.com (termasuk kredit gratis, tidak perlu kartu kredit)
- Hubungkan — Buka WebSocket ke
wss://api.smartaipi.com/v1/realtime - Kirim event — Gunakan envelope
response.createdengan model dan prompt Anda - Stream respons — Proses event
response.output_text.deltasaat event tersebut tiba
Jika Anda sudah menggunakan OpenAI WebSocket API, satu-satunya perubahan adalah URL. Semua yang lain — autentikasi, event, format payload — identik.
Pertanyaan yang Sering Diajukan
Apakah Smart AIPI mendukung OpenAI WebSocket API?
Ya. Hubungkan ke wss://api.smartaipi.com/v1/realtime dengan API key Anda di header Authorization. Protokol ini sepenuhnya kompatibel dengan OpenAI WebSocket Responses API.
Apakah WebSocket lebih cepat daripada SSE?
Untuk request berturut-turut, ya. WebSocket mempertahankan koneksi persisten, menghilangkan overhead handshake TCP dan TLS yang terjadi pada SSE untuk setiap request baru. Untuk request tunggal satu kali, perbedaannya dapat diabaikan.
Model apa yang bekerja melalui WebSocket?
Semua model yang tersedia melalui Responses API: GPT-5.3 Codex, GPT-5.2, Codex Mini, dan lainnya. Tentukan model di event response.create.
Apakah function calling dan penggunaan tool bekerja melalui WebSocket?
Ya. Seluruh set fitur Responses API tersedia — function calling, penggunaan tool, structured outputs, dan percakapan multi-turn semuanya bekerja melalui koneksi WebSocket.
Apakah ada batas waktu koneksi?
Koneksi idle akan ditutup setelah 15 menit. Kirim pesan berkala atau hubungkan kembali sesuai kebutuhan. Koneksi aktif yang sedang streaming data tidak akan terputus.
Bisakah saya mengirim beberapa request dalam satu koneksi?
Ya. Itulah salah satu keunggulan utamanya. Setelah satu respons selesai, kirim event response.create lain pada koneksi yang sama tanpa perlu reconnect.
Gateway API kompatibel OpenAI. Akses model AI frontier dengan biaya 75% lebih murah.
Mulai gratis