For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegación principal

Optimización de costos

Comprende cómo se mide el uso de voz y administra los costos de GPT-Live y Realtime API.

Elige tu API para comprender cómo se mide el uso y encontrar formas de administrar los costos de tu aplicación de voz.

Uso y costos de GPT-Live

GPT-Live separa la conversación de voz del backend que razona y ejecuta herramientas. Estima estos dos costos por separado: el costo de la sesión de voz depende de su duración, mientras que los costos del backend dependen de los modelos y las herramientas que uses.

Costos de las sesiones de voz

Las sesiones de voz de GPT-Live se facturan por segundo según la tarifa vigente del modelo. La duración de la sesión no se redondea al siguiente minuto completo.

El tiempo de sesión activa incluye los períodos en los que habla el usuario, habla el asistente, ambos están en silencio o el backend está trabajando.

Para hacer estimaciones, cuenta el tiempo de sesión activa desde el inicio hasta el cierre. Usa la duración que informa la API en lugar de medir solo el audio que reproduces. Silenciar la entrada del micrófono no cierra la sesión. Cuando termine la conversación, cierra la sesión y recopila sus datos finales de uso.

Consulta los precios de la API para conocer los precios de los modelos y las herramientas del backend.

Cargos de inicialización de WebRTC

Una solicitud POST /v1/live/sessions para crear una sesión de WebRTC genera un cargo equivalente a 15 segundos de voz mientras se inicializa la sesión. Ese importe se descuenta de los cargos por duración una vez que la sesión comienza a ejecutarse. No agregues otros 15 segundos a la duración de la sesión en ejecución al estimar su costo.

Por ejemplo, la sesión de 90 segundos que se muestra a continuación ya incluye los 15 segundos facturados durante la inicialización. No se factura como una sesión de 105 segundos. Ten en cuenta los cargos por creación de sesiones al evaluar reconexiones o aplicaciones que crean sesiones antes de que el usuario esté listo para hablar.

Costos del backend

Las llamadas al backend se facturan por separado de la sesión de voz, al igual que en las aplicaciones sin voz. Incluye los tokens de entrada y salida del modelo, la entrada en caché cuando sea compatible y los cargos por imágenes o herramientas que correspondan. Si tu aplicación llama a otros servicios, incluye también sus costos en la estimación.

Puedes optimizar este trabajo por separado del frontend de voz. Usa la guía general de optimización de costos para reducir las solicitudes y el uso de tokens. Usa el almacenamiento de prompts en caché en los modelos de backend compatibles y mantén las instrucciones reutilizables, las definiciones de herramientas y otros contenidos estables al comienzo del prompt.

Las decisiones sobre el backend también pueden cambiar la duración de la conversación. Compara el costo combinado cuando una optimización hace que el usuario espere más o cambia la fiabilidad con la que el asistente completa la tarea.

Estima los costos de las conversaciones

Para una conversación con una sola sesión de voz:

Costo total = (segundos de voz facturables ÷ 60 × tarifa de voz por minuto) + costos del backend

Por ejemplo, con una tarifa de voz ilustrativa de $0,05 por minuto, una sesión de voz de 90 segundos cuesta $0,075. Si los costos del modelo y las herramientas del backend suman $0,02, la conversación cuesta $0,095:

ComponenteCálculoCosto
Sesión de voz90 segundos ÷ 60 × $0,05$0,075
Trabajo del backendCostos totales del modelo y las herramientas$0,02
Total de la conversación$0,075 + $0,02$0,095

Las tarifas y el costo del backend anteriores son ejemplos; usa la tarifa de voz vigente, el uso medido de tu backend y las tarifas de modelos y herramientas que correspondan. Si la tarea abarca varias sesiones de voz, suma sus duraciones e incluye el trabajo del backend realizado entre sesiones.

Estrategias de optimización

Concéntrate en ayudar al usuario a completar la tarea con menos conversación y esperas innecesarias. Mantén las confirmaciones y verificaciones que requiera la tarea.

Proporciona contexto relevante antes de la sesión

Recopila la información que tu aplicación ya tiene permiso para usar antes de iniciar la sesión de voz. Por ejemplo, un asistente que ayuda con un pedido puede comenzar con el número de pedido y su estado actual, para que el usuario no tenga que repetirlos ni esperar otra consulta.

Mantén este contexto actualizado y centrado en la tarea. Dale al modelo de voz la información que necesita para la conversación; conserva los registros detallados y los flujos de trabajo en el backend. Consulta configuración de la sesión y delegación y herramientas.

Reduce el tiempo de espera de las herramientas

Las esperas más cortas pueden mejorar la experiencia del usuario y reducir los costos de las sesiones de voz. Por ejemplo, supongamos que tu backend usa gpt-5.6-luna con Modo rápido y ejecuta llamadas independientes a herramientas en paralelo. Si estas optimizaciones ayudan al usuario a terminar y cerrar la sesión de voz un minuto antes, ahorras $0,05 en cargos de voz. El costo total disminuye si el costo adicional del backend es menor que ese ahorro.

También puedes iniciar una consulta especulativa a partir de fragmentos de transcripción antes de que llegue un evento de delegación. Incluye el trabajo especulativo que no se utilice en tus mediciones de costos del backend.

Consulta Reducir la latencia del backend para conocer las optimizaciones de modelos, conexiones, transmisión continua y herramientas. Valida el tiempo que se tarda en obtener una respuesta hablada útil y el éxito de la tarea con evaluaciones de agentes de voz.

Cierra la sesión durante las tareas largas

El frontend de voz y el backend administrado por tu aplicación pueden ejecutarse de forma independiente. Con la delegación al cliente, el proceso de trabajo de tu backend puede seguir ejecutándose tanto si la sesión de voz está abierta como si está cerrada. Guarda el estado de la tarea y el contexto de la conversación antes de cerrar la sesión de voz.

Para un agente ambiental, cierra la sesión de voz mientras el backend se encarga de una tarea de larga duración, como programar en modo de objetivos. Ofrece un botón con la etiqueta Reanudar conversación para iniciar una nueva sesión de voz cuando el usuario regrese, o usa un evento de finalización del backend para iniciar una nueva sesión y notificar al usuario que el resultado está listo.

Restablece la conversación iniciando una nueva sesión con el contexto guardado y el resultado verificado de la tarea en input. Por ejemplo, envía este evento de inicio a través de una nueva conexión 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" }
  }
}

Espera a recibir session.started antes de transmitir audio. Consulta inicializar una sesión con una conversación anterior para conocer el formato de historial compatible.

Si la sesión anterior se almacenó con store: true, también puedes crear un fork de esa sesión. Conserva en tu aplicación el estado verificado de la tarea del backend, sea cual sea el método que uses.

Cerrar la sesión ahorra $0,05 por cada minuto de inactividad de voz; compara ese ahorro con los costos de reconexión y la interrupción de la experiencia del usuario.

Elige el modelo adecuado para el backend

Comienza con modelos que cumplan los requisitos de precisión y fiabilidad de la tarea. Luego compara el costo total de la conversación, incluida la duración de voz, el uso del modelo, las llamadas a herramientas y los reintentos. La guía de selección de modelos describe cómo equilibrar estas ventajas y desventajas.

Un modelo de backend más grande puede tener un costo total menor si completa la tarea más rápido y el ahorro en la sesión de voz supera sus costos adicionales de tokens. Un modelo más barato puede tener un costo total mayor si tarda más, repite llamadas a herramientas o no logra completar la tarea.

Compara el costo por tarea completada con éxito junto con la tasa de finalización y el tiempo necesario para completarla. Incluye los intentos fallidos y los reintentos en el total para que una configuración más barata no parezca mejor por completar menos trabajo. Usa el Cookbook de evaluación de agentes de voz al planificar tu comparación.

Monitorea el uso real

Registra por separado la duración de voz y el uso del backend para cada sesión. GPT-Live informa la duración acumulada de voz en segundos:

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

Cada actualización reemplaza el valor de duración anterior. No sumes estos valores. Después de enviar session.close, sigue recibiendo eventos hasta que llegue session.closed y registra su valor final de usage.seconds una sola vez. Sigue el procedimiento de cierre ordenado para que tu aplicación pueda recopilar los datos finales de uso antes de desconectarse.

Para la delegación a Responses, lee el campo usage de la respuesta del backend en los eventos anidados response.completed que se reciben a través de response.event. Cuenta cada respuesta del backend una sola vez usando su ID de respuesta y conserva los detalles de los tokens de entrada, salida y caché necesarios para aplicar las tarifas de ese modelo. Para el trabajo del backend que tu aplicación ejecute de forma independiente, recopila también los datos de uso de esas solicitudes.

Compara los totales estimados y reales en conversaciones representativas. Mantén las llamadas al modelo destinadas exclusivamente a evaluación separadas del uso de la aplicación y revisa el costo junto con el éxito de la tarea.