API WebSocket OpenAI : streaming en temps réel à 75 % de coût en moins
Smart AIPI prend désormais en charge l'API WebSocket d'OpenAI pour un streaming bidirectionnel en temps réel. Latence plus faible que SSE, connexions persistantes et 75 % moins cher. Voici comment vous connecter.
En bref : Smart AIPI prend désormais en charge l'API WebSocket d'OpenAI. Connectez-vous à wss://api.smartaipi.com/v1/realtime, envoyez un événement response.create et streamez les réponses en temps réel via une connexion persistante. Mêmes modèles, même protocole, 75 % moins cher.
Le streaming WebSocket est le moyen le plus rapide d'interagir avec des modèles d'IA. Contrairement aux requêtes HTTP traditionnelles ou même à Server-Sent Events (SSE), WebSocket maintient une connexion persistante et bidirectionnelle entre votre application et l'API. Pas d'établissement de connexion à chaque requête, pas de surcharge HTTP, pas de limitations half-duplex.
Smart AIPI prend désormais en charge ce protocole sur wss://api.smartaipi.com/v1/realtime — entièrement compatible avec l'API WebSocket d'OpenAI, pour un coût inférieur de 75 %.
Pourquoi WebSocket plutôt que SSE ?
Server-Sent Events a été le standard pour le streaming IA, mais il implique des compromis que WebSocket élimine :
| Fonctionnalité | SSE (HTTP) | WebSocket |
|---|---|---|
| Connexion par requête | Nouvelle connexion à chaque fois | Persistante (réutilisée) |
| Direction | Serveur → client uniquement | Bidirectionnelle |
| Multiples requêtes sur une connexion | Non | Oui |
| Latence du premier token | Plus élevée (nouveau TCP + TLS) | Plus faible (réutilisation de connexion) |
| Idéal pour | Intégrations simples | Agents, apps temps réel, haut débit |
Pour les boucles d'agents qui enchaînent des dizaines d'appels API, le gain de latence cumulé apporté par une connexion WebSocket persistante est significatif.
Comment ça fonctionne
L'API WebSocket suit un protocole orienté événements. Vous envoyez des événements JSON au serveur et recevez des événements JSON en retour — le tout via une seule connexion persistante.
1. Se connecter et s'authentifier
Ouvrez une connexion WebSocket avec votre API key dans les en-têtes :
wss://api.smartaipi.com/v1/realtime
Authorization: Bearer sk-proj-your-smart-aipi-key
OpenAI-Beta: realtime=v1
2. Envoyer une requête
Envoyez un événement response.create avec votre prompt :
{
"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?" }
]
}
]
}
}
Remarque : Le paramètre store: false est requis pour les connexions WebSocket Smart AIPI.
3. Recevoir les événements de streaming
Le serveur renvoie une séquence d'événements à mesure que la réponse est générée :
| Événement | Description |
|---|---|
| response.created | L'objet réponse a été créé |
| response.output_item.added | Nouvel élément de sortie (message) démarré |
| response.content_part.added | Partie de contenu démarrée dans un élément de sortie |
| response.output_text.delta | Fragment de texte (le contenu réellement streamé) |
| response.output_text.done | La sortie texte est terminée |
| response.completed | La réponse entière est terminée (événement terminal) |
Exemples de code
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 (test rapide)
Vérifiez que le handshake WebSocket réussit avec une seule commande :
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
Une connexion réussie renvoie HTTP/1.1 101 Switching Protocols.
Quand utiliser WebSocket ou SSE
Les deux protocoles fonctionnent via Smart AIPI. Choisissez en fonction de votre cas d'usage :
- Utilisez SSE pour des intégrations simples, des requêtes ponctuelles et lorsque vous voulez l'implémentation la plus simple possible. Définissez
stream: truesur n'importe quel appel API standard. - Utilisez WebSocket pour les boucles d'agents, les applications interactives, les schémas de requêtes à haute fréquence et partout où vous avez besoin de la latence la plus faible possible entre des appels consécutifs.
Tarification
Les requêtes WebSocket sont facturées comme les requêtes API standard — selon l'usage des token. La remise de 75 % s'applique :
| Modèle | OpenAI Direct | Smart AIPI | Économies |
|---|---|---|---|
| GPT-5.3 Codex (sortie) | $14.00 / 1M tokens | $3.50 / 1M tokens | 75% |
| GPT-5.2 (sortie) | $10.00 / 1M tokens | $2.50 / 1M tokens | 75% |
| Codex Mini (sortie) | $0.60 / 1M tokens | $0.15 / 1M tokens | 75% |
Premiers pas
- Obtenez une API key — Inscrivez-vous sur smartaipi.com (crédits gratuits inclus, aucune carte bancaire requise)
- Connectez-vous — Ouvrez un WebSocket vers
wss://api.smartaipi.com/v1/realtime - Envoyez des événements — Utilisez l'enveloppe
response.createavec votre modèle et votre prompt - Streamez les réponses — Traitez les événements
response.output_text.deltaà mesure qu'ils arrivent
Si vous utilisez déjà l'API WebSocket d'OpenAI, le seul changement est l'URL. Tout le reste — authentification, événements, format de payload — est identique.
Questions fréquentes
Est-ce que Smart AIPI prend en charge l'API WebSocket d'OpenAI ?
Oui. Connectez-vous à wss://api.smartaipi.com/v1/realtime avec votre API key dans l'en-tête Authorization. Le protocole est entièrement compatible avec l'API WebSocket Responses d'OpenAI.
WebSocket est-il plus rapide que SSE ?
Pour des requêtes consécutives, oui. WebSocket maintient une connexion persistante, ce qui élimine la surcharge des handshakes TCP et TLS que SSE subit à chaque nouvelle requête. Pour une requête ponctuelle unique, la différence est négligeable.
Quels modèles fonctionnent avec WebSocket ?
Tous les modèles disponibles via l'API Responses : GPT-5.3 Codex, GPT-5.2, Codex Mini et d'autres. Spécifiez le modèle dans l'événement response.create.
Le function calling et l'utilisation d'outils fonctionnent-ils avec WebSocket ?
Oui. Tout l'ensemble de fonctionnalités de l'API Responses est disponible — function calling, utilisation d'outils, sorties structurées et conversations multi-tour fonctionnent tous via la connexion WebSocket.
Y a-t-il une limite de temps de connexion ?
Les connexions inactives sont fermées après 15 minutes. Envoyez des messages périodiques ou reconnectez-vous si nécessaire. Les connexions actives qui streament des données ne sont pas interrompues.
Puis-je envoyer plusieurs requêtes sur une seule connexion ?
Oui. C'est l'un des principaux avantages. Une fois qu'une réponse est terminée, envoyez un autre événement response.create sur la même connexion sans vous reconnecter.
Passerelle API compatible OpenAI. Accédez aux modèles d'IA de pointe à 75 % de coût en moins.
Commencer gratuitement