For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navigation principale

Optimisation des coûts

Comprenez comment l’utilisation vocale est mesurée et gérez les coûts de GPT-Live et de Realtime API.

Choisissez votre API pour comprendre comment l’utilisation est mesurée et découvrir comment gérer les coûts de votre application vocale.

Utilisation et coûts de GPT-Live

GPT-Live sépare la conversation vocale du backend qui raisonne et exécute les outils. Estimez ces deux coûts séparément : le coût de la session vocale dépend de sa durée, tandis que les coûts du backend dépendent des modèles et des outils que vous utilisez.

Coûts des sessions vocales

Les sessions vocales GPT-Live sont facturées à la seconde au tarif actuel du modèle. La durée de la session n’est pas arrondie à la minute supérieure.

La durée d’activité de la session comprend les moments où l’utilisateur parle, où l’assistant parle, où les deux restent silencieux, ou encore où le backend travaille.

Pour vos estimations, comptez toute la durée d’activité de la session, du démarrage à la fermeture. Utilisez la durée indiquée par l’API au lieu de chronométrer uniquement l’audio que vous diffusez. Couper le microphone ne ferme pas la session. Une fois la conversation terminée, fermez la session et récupérez ses données d’utilisation finales.

Consultez les tarifs de l’API pour connaître les prix des modèles et des outils utilisés par le backend.

Frais d’initialisation WebRTC

Une requête POST /v1/live/sessions visant à créer une session WebRTC entraîne la facturation de 15 secondes de durée vocale pendant l’initialisation de la session. Ce montant est déduit des frais liés à la durée dès que la session démarre. N’ajoutez pas 15 secondes supplémentaires à la durée de la session en cours lorsque vous estimez son coût.

Par exemple, la session de 90 secondes ci-dessous inclut déjà les 15 secondes facturées à l’initialisation. Elle n’est pas facturée comme une session de 105 secondes. Tenez compte des frais de création de session lorsque vous évaluez les reconnexions ou les applications qui créent des sessions avant que l’utilisateur soit prêt à parler.

Coûts du backend

Les appels du backend sont facturés séparément de la session vocale, comme dans les applications sans fonctionnalités vocales. Incluez les tokens d’entrée et de sortie du modèle, les entrées mises en cache lorsqu’elles sont prises en charge, ainsi que les éventuels frais liés aux images ou aux outils. Si votre application fait appel à d’autres services, incluez également leurs coûts dans votre estimation.

Vous pouvez optimiser ces traitements indépendamment du frontend vocal. Consultez le guide général d’optimisation des coûts pour réduire le nombre de requêtes et l’utilisation de tokens. Utilisez la mise en cache des prompts pour les modèles backend compatibles en plaçant les instructions réutilisables, les définitions d’outils et les autres contenus stables au début du prompt.

Les choix concernant le backend peuvent aussi modifier la durée de la conversation. Comparez le coût total lorsqu’une optimisation allonge l’attente de l’utilisateur ou modifie la fiabilité avec laquelle l’assistant accomplit la tâche.

Estimez les coûts d’une conversation

Pour une conversation comportant une seule session vocale :

Coût total = (secondes vocales facturables ÷ 60 × tarif vocal par minute) + coûts du backend

Par exemple, avec un tarif vocal indicatif de 0,05 $ par minute, une session vocale de 90 secondes coûte 0,075 $. Si les coûts des modèles et des outils du backend s’élèvent à 0,02 $, la conversation coûte 0,095 $ :

ComposantCalculCoût
Session vocale90 secondes ÷ 60 × 0,05 $0,075 $
Traitements du backendCoût total des modèles et des outils0,02 $
Total de la conversation0,075 $ + 0,02 $0,095 $

Les tarifs et le coût du backend ci-dessus sont des exemples ; utilisez le tarif vocal actuel, l’utilisation mesurée de votre backend et les tarifs applicables aux modèles et aux outils. Si la tâche s’étend sur plusieurs sessions vocales, additionnez leurs durées et incluez les traitements effectués par le backend entre les sessions.

Stratégies d’optimisation

Cherchez avant tout à aider l’utilisateur à accomplir sa tâche en réduisant les échanges et l’attente inutiles. Conservez les confirmations et les vérifications nécessaires à la tâche.

Fournissez le contexte pertinent avant la session

Rassemblez les informations que votre application est déjà autorisée à utiliser avant de démarrer la session vocale. Par exemple, un assistant qui aide à gérer une commande peut disposer dès le départ du numéro de commande et de son état actuel, pour éviter à l’utilisateur de les répéter ou d’attendre une nouvelle recherche.

Gardez ce contexte à jour et centré sur la tâche. Fournissez au modèle vocal les informations nécessaires à la conversation ; conservez les données détaillées et les workflows dans le backend. Consultez la configuration des sessions et la section Délégation et outils.

Réduisez le temps d’attente des outils

Des temps d’attente plus courts peuvent améliorer l’expérience utilisateur et réduire le coût des sessions vocales. Supposons, par exemple, que votre backend utilise gpt-5.6-luna avec le mode Rapide et exécute les appels d’outils indépendants en parallèle. Si ces optimisations permettent à l’utilisateur de terminer sa tâche et de fermer la session vocale une minute plus tôt, vous économisez 0,05 $ de frais vocaux. Le coût total diminue si le surcoût du backend est inférieur à cette économie.

Vous pouvez également lancer une recherche spéculative à partir de fragments de transcription avant l’arrivée d’un événement de délégation. Incluez les traitements spéculatifs inutilisés dans vos mesures des coûts du backend.

Consultez Réduisez la latence du backend pour optimiser les modèles, les connexions, la diffusion en continu et les outils. Vérifiez le délai d’obtention d’une réponse vocale utile et la réussite des tâches à l’aide d’évaluations d’agents vocaux.

Fermez la session pendant les tâches longues

Le frontend vocal et le backend géré par votre application peuvent fonctionner indépendamment. Avec la délégation côté client, le processus de traitement de votre backend peut continuer à s’exécuter, que la session vocale soit ouverte ou fermée. Enregistrez l’état de la tâche et le contexte de la conversation avant de fermer la session vocale.

Pour un agent ambiant, fermez la session vocale pendant que le backend exécute une tâche de longue durée, comme la programmation en mode objectif. Proposez un bouton intitulé Reprendre la conversation pour démarrer une nouvelle session vocale au retour de l’utilisateur, ou utilisez un événement de fin de traitement du backend pour démarrer une nouvelle session et avertir l’utilisateur que le résultat est prêt.

Rétablissez la conversation en démarrant une nouvelle session avec le contexte enregistré et le résultat vérifié de la tâche dans input. Par exemple, envoyez cet événement de démarrage via une nouvelle connexion WebSocket :

{
  "type": "session.start",
  "session": {
    "model": "gpt-live-1",
    "instructions": "Help the user review completed work and delegate follow-up tasks.",
    "input": [
      {
        "type": "message",
        "role": "developer",
        "content": [
          {
            "type": "input_text",
            "text": "Saved task: add CSV export. Result: code is ready for review."
          }
        ]
      }
    ],
    "delegation": { "type": "client" }
  }
}

Attendez session.started avant de diffuser l’audio en continu. Consultez Initialisez une session avec une conversation antérieure pour connaître le format d’historique pris en charge.

Si la session précédente a été enregistrée avec store: true, vous pouvez également forker cette session. Quelle que soit l’approche choisie, conservez dans votre application l’état vérifié de la tâche exécutée par le backend.

Fermer la session permet d’économiser 0,05 $ par minute d’inactivité vocale ; comparez cette économie aux coûts de reconnexion et à l’interruption de l’expérience utilisateur.

Choisissez le bon modèle pour le backend

Commencez par les modèles qui répondent aux exigences de précision et de fiabilité de la tâche. Comparez ensuite le coût total de la conversation, en incluant la durée vocale, l’utilisation des modèles, les appels d’outils et les nouvelles tentatives. Le guide de sélection du modèle explique comment trouver un équilibre entre ces critères.

Un modèle backend plus grand peut coûter moins cher au total s’il accomplit la tâche plus rapidement et si les économies sur la session vocale dépassent le surcoût de ses tokens. Un modèle moins cher peut coûter davantage au total s’il prend plus de temps, répète des appels d’outils ou échoue à accomplir la tâche.

Comparez le coût par tâche réussie, ainsi que le taux d’achèvement et le temps nécessaire pour terminer les tâches. Incluez les tentatives échouées et les nouvelles tentatives dans le total, afin qu’une configuration moins chère ne paraisse pas meilleure simplement parce qu’elle accomplit moins de travail. Utilisez le Cookbook sur l’évaluation des agents vocaux pour préparer votre comparaison.

Suivez l’utilisation réelle

Enregistrez séparément la durée vocale et l’utilisation du backend pour chaque session. GPT-Live indique la durée vocale cumulée en secondes :

{
  "type": "session.usage.updated",
  "event_id": "event_usage_1",
  "usage": { "seconds": 12 },
  "context_window": { "usage_ratio": 0.42 }
}

Chaque mise à jour remplace la valeur de durée précédente. N’additionnez pas ces valeurs. Après l’envoi de session.close, continuez à recevoir les événements jusqu’à session.closed et enregistrez une seule fois sa valeur finale de usage.seconds. Suivez la procédure de fermeture propre pour que votre application puisse récupérer les données d’utilisation finales avant de se déconnecter.

Pour la délégation à Responses, récupérez la valeur usage de la réponse du backend dans les événements imbriqués response.completed transmis via response.event. Comptabilisez chaque réponse du backend une seule fois, à l’aide de son identifiant de réponse, et conservez les détails des tokens d’entrée, de sortie et mis en cache nécessaires pour appliquer les tarifs de ce modèle. Pour les traitements du backend que votre application exécute indépendamment, récupérez également les données d’utilisation de ces requêtes.

Comparez les totaux estimés et réels sur des conversations représentatives. Distinguez les appels de modèles réservés à l’évaluation de l’utilisation par l’application, et examinez le coût en tenant compte de la réussite des tâches.