28 mars 2025

Krusell France

Ta dose d'actu digital !

Nouvelles API d’OpenAI génèrent des erreurs, voici les détails

Launching o3-mini in the API - Announcements
Rate this post

Nouvelles APIs : Problèmes rencontrés et solutions

Problèmes avec les nouvelles APIs

Nous avons récemment testé les nouvelles APIs disponibles selon un article. Malheureusement, nous avons constaté deux problèmes majeurs :

  • API temps réel pour la transcription uniquement : nous rencontrons désormais une erreur 400 bad request sans message d’erreur.
  • Nouvelle détection de tour semantic_vad : il semblerait que cette fonctionnalité soit défaillante, même pour les sessions traditionnelles de l’API temps réel.

Détails et solutions

Voici les détails du premier point :

Nous avons d’abord créé un objet transcription_session :

const response = await fetch(“https://api.openai.com/v1/realtime/transcription_sessions”, {method: “POST”, headers: {Authorization: `Bearer ${apiKey}`, “Content-Type”: “application/json”,}, body: JSON.stringify({input_audio_noise_reduction: {type: “far_field”,},input_audio_transcription: {language: “en”, model: “gpt-4o-mini-transcribe”, prompt: “expect data science and programming words”,},turn_detection: {eagerness: “medium”, type: “semantic_vad”,},}),});

Nous avons reçu une réponse de l’objet realtime.transcription_session :

{ “id”: “sess_BDNVo7DGNBHyv27wXoWNW”, “object”: “realtime.transcription_session”, “expires_at”: 0, “input_audio_noise_reduction”: null, “turn_detection”: { “type”: “semantic_vad”, “eagerness”: “medium” }, “input_audio_format”: “pcm16”, “input_audio_transcription”: { “model”: “gpt-4o-mini-transcribe”, “language”: “en”, “prompt”: “expect data science and programming words” }, “client_secret”: { “value”: “ek_xxxxxxxx”, “expires_at”: 1742535544 }, “include”: null }

Nous utilisons la clé EPHEMERAL_KEY pour établir une connexion WebRTC :

const baseUrl = “https://api.openai.com/v1/realtime”; const model = “gpt-4o-mini-transcribe”; const sdpResponse = await fetch(`${baseUrl}?model=${model}`, {method: “POST”, body: offer.sdp, headers: {Authorization: `Bearer ${EPHEMERAL_KEY}`, “Content-Type”: “application/sdp”, “OpenAI-Beta”: “realtime=v1”,},});

Cette requête POST retourne une erreur 400 BAD REQUEST sans message d’erreur.

Concernant le deuxième point, nous avons créé une session traditionnelle de l’API temps réel avec la nouvelle sematic_vad :

const response = await fetch(“https://api.openai.com/v1/realtime/sessions”, {method: “POST”, headers: {Authorization: `Bearer ${apiKey}`, “Content-Type”: “application/json”,}, body: JSON.stringify({model: “gpt-4o-realtime-preview-2024-12-17”, voice: “verse”, turn_detection: {type: “semantic_vad”, eagerness: “medium”,},}),});

Nous avons reçu un objet en retour :

{ “id”: “sess_BDNcgumFgNZBdUsYwGkTw”, “object”: “realtime.session”, “expires_at”: 0, “input_audio_noise_reduction”: null, “turn_detection”: { “type”: “semantic_vad”, “eagerness”: “medium”, “create_response”: true, “interrupt_response”: true }, “input_audio_format”: “pcm16”, “input_audio_transcription”: null, “client_secret”: { “value”: “ek_xxxxxxxxx”, “expires_at”: 1742535970 }, “include”: null, “model”: “gpt-4o-realtime-preview-2024-12-17”, “modalities”: [ “text”, “audio” ], “instructions”: “Your knowledge cutoff is 2023-10.”, “voice”: “verse”, “output_audio_format”: “pcm16”, “tool_choice”: “auto”, “temperature”: 0.8, “max_response_output_tokens”: “inf”, “tools”: [] }

Nous avons tenté d’établir une connexion WebRTC avec la clé EPHEMERAL_KEY, mais celle-ci a échoué. En retirant la partie semantic_vad lors de la création de la session, nous obtenons une session server_vad et la connexion WebRTC fonctionne sans problème.

Source : community.openai.com

  • mia dufresne portrait redactrice

    Mia est une rédactrice spécialisée dans les produits tech et l'IA, avec une formation en data science et une passion pour l'innovation. Elle explore les dernières avancées en IA, leurs applications pratiques et leurs implications éthiques.

    Voir toutes les publications