Connexion WebSocket
Ouvrez directement une session websocket en temps réel lorsque votre backend peut conserver la clé API DGrid de manière sécurisée.| Authorization | Authorization: Bearer <DGRID_API_KEY>; OpenAI-Beta: realtime=v1 |
| Requête | websocket |
| Réponse | websocket events |
Paramètres de requête
| Paramètre | Type | Requis | Description |
|---|---|---|---|
model | string | Oui | Identifiant du modèle temps réel, tel que gpt-4o-realtime-preview. |
Événements client
| Type d’événement | Description |
|---|---|
session.update | Met à jour les options au niveau de la session. |
input_audio_buffer.append | Diffuse des fragments audio vers le serveur. |
input_audio_buffer.commit | Valide l’audio actuellement mis en mémoire tampon. |
response.create | Déclenche une nouvelle réponse de l’assistant. |
conversation.item.create | Insère un élément de conversation. |
Événements serveur
| Type d’événement | Description |
|---|---|
session.created | La session a été créée avec succès. |
session.updated | Les paramètres de session ont été mis à jour. |
response.text.delta | Delta de jeton de texte en flux continu. |
response.audio.delta | Delta de fragment audio en flux continu. |
response.done | La réponse est terminée. |
error | Charge utile d’erreur. |
Créer un jeton de session Realtime
Utilisez l’exemple de point de terminaison realtime ci-dessous lorsque vous avez besoin d’une requête GET authentifiée vers le point d’entrée HTTP realtime.| Authorization | Authorization: Bearer <DGRID_API_KEY> |
| Requête | none |
| Réponse | 101 · application/json |
En-têtes de requête
| Champ | Type | Requis | Description |
|---|---|---|---|
Authorization | string | Oui | Jeton Bearer utilisé pour authentifier la requête realtime. |
Corps de la réponse
| Champ | Type | Description |
|---|---|---|
101 | text | Réponse de mise à niveau réussie sans corps JSON. |
error | object | Charge utile d’erreur renvoyée en cas d’échec de la requête. |
Événements WebSocket
Concevez votre client autour d’un petit ensemble de types d’événements de requête et de réponse pour le streaming conversationnel à faible latence.| Authorization | Authorization: Bearer <DGRID_API_KEY>; OpenAI-Beta: realtime=v1 |
| Requête | websocket |
| Réponse | event stream |
Événements client principaux
| Type d’événement | Description |
|---|---|
session.update | Met à jour les modalités, la voix ou d’autres préférences de session. |
input_audio_buffer.append | Envoie des fragments audio encodés. |
input_audio_buffer.commit | Indique que l’audio mis en mémoire tampon est prêt. |
response.create | Demande au serveur de commencer à générer une réponse. |
conversation.item.create | Ajoute un tour de conversation ou un résultat d’outil. |
Événements serveur principaux
| Type d’événement | Description |
|---|---|
session.created | Confirmation initiale que la session websocket existe. |
session.updated | Confirmation que les paramètres de session ont changé. |
response.text.delta | Sortie texte incrémentale. |
response.audio.delta | Sortie audio incrémentale. |
response.done | Événement final pour une réponse terminée. |
error | Charge utile d’erreur récupérable ou fatale. |
Recommandations d’intégration
- Mettez en mémoire tampon l’audio côté client en petits fragments et utilisez
input_audio_buffer.commitpour signaler les limites de tour. - Écoutez à la fois
response.text.deltaetresponse.audio.deltasi la session prend en charge une sortie multimodale. - Utilisez le point de terminaison HTTP de jeton de session pour les clients navigateur afin que la clé API à longue durée de vie n’atteigne jamais le client.

