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
Theme

Optimización de costos

Aprende cómo se mide el uso de voz y cómo administrar los costos de GPT-Live y la Realtime API.

Elige la API que usas para conocer cómo se mide el uso y cómo 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 los dos costos por separado. El costo de la sesión de voz depende de su duración y el del backend depende de los modelos y las herramientas que uses.

Costos de la sesión 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 minuto siguiente.

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

Para estimar el costo, cuenta el tiempo activo de la sesión desde el inicio hasta el cierre. Usa la duración que informa la API en lugar de medir solo el audio que reproduces. Silenciar el micrófono no cierra la sesión. Cuando termine la conversación, cierra la sesión y registra los datos finales de uso.

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

Cargos por inicialización de WebRTC

Al crear una sesión de WebRTC con una solicitud POST /v1/live/sessions, se facturan 15 segundos de voz durante la inicialización. Una vez que la sesión está en marcha, ese importe se descuenta del cargo por duración. Al estimar el costo, no sumes otros 15 segundos a la duración de la sesión.

Por ejemplo, la sesión de 90 segundos que se muestra más adelante ya incluye los 15 segundos facturados al inicializarla. No se facturan 105 segundos. Ten en cuenta los cargos por crear sesiones cuando evalúes las reconexiones o las aplicaciones que crean sesiones antes de que el usuario esté listo para hablar.

Costos del backend

Las llamadas del backend se facturan por separado de la sesión de voz, igual que en las aplicaciones sin voz. Incluye los tokens de entrada y salida del modelo, la entrada en caché cuando se admita 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 estas operaciones por separado del frontend de voz. Consulta la guía de optimización de costos para reducir la cantidad de solicitudes y el uso de tokens. Para aprovechar el almacenamiento en caché de prompts en los modelos de backend compatibles, coloca las instrucciones reutilizables, las definiciones de herramientas y el resto del contenido estable al inicio del prompt.

Las decisiones que tomes sobre el backend también pueden cambiar la duración de la conversación. Compara el costo total cuando una optimización prolongue la espera del usuario o afecte la fiabilidad con la que el asistente completa la tarea.

Cómo estimar el costo de una conversación

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 hipotética 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:

Componente Cálculo Costo
Sesión de voz 90 segundos ÷ 60 × $0,05 $0,075
Operaciones del backend Costo total 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 que se muestran son ejemplos. Usa la tarifa de voz vigente, el uso que hayas medido en el backend y las tarifas de los modelos y las herramientas que correspondan. Si la tarea abarca varias sesiones de voz, suma sus duraciones e incluye las operaciones que realiza el backend entre sesiones.

Estrategias de optimización

Ayuda al usuario a completar la tarea con menos intercambios y esperas innecesarios. Conserva las confirmaciones y las verificaciones que requiera la tarea.

Proporciona contexto relevante antes de la sesión

Antes de iniciar la sesión de voz, reúne la información que tu aplicación ya tiene permiso para usar. Por ejemplo, un asistente que ayuda al usuario con un pedido puede empezar con el número de pedido y su estado actual. Así, el usuario no tiene que repetir esos datos ni esperar otra consulta.

Mantén el contexto actualizado y limitado a la tarea. Proporciona al modelo de voz la información que necesita para la conversación y conserva los registros detallados y los flujos de trabajo en el backend. Consulta la configuración de la sesión y la guía de delegación y herramientas.

Reduce el tiempo de espera de las herramientas

Acortar las esperas puede mejorar la experiencia del usuario y reducir los costos de la sesión de voz. Por ejemplo, supongamos que tu backend usa gpt-5.6-luna con el Modo rápido y ejecuta en paralelo las llamadas a herramientas que son independientes entre sí. Si estas optimizaciones ayudan al usuario a terminar y cerrar la sesión de voz un minuto antes, ahorras $0,05 en cargos por 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 la transcripción antes de recibir un evento de delegación. Al medir los costos del backend, incluye las operaciones especulativas cuyos resultados no se usaron.

Consulta Cómo reducir la latencia del backend para optimizar el modelo, la conexión, el streaming y las herramientas. Comprueba cuánto tarda el usuario en recibir una respuesta de voz útil y si se completa la tarea mediante evaluaciones de agentes de voz.

Cierra la sesión durante las tareas largas

El frontend de voz y el backend que administra tu aplicación pueden funcionar de forma independiente. Con la delegación al cliente, el proceso del 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 conocer el tiempo de espera por inactividad, qué activa el reinicio y cómo se restaura el contexto, consulta Cómo cerrar y reanudar sesiones inactivas.

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

Para restaurar la conversación, inicia una nueva sesión e incluye 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 Cómo iniciar una sesión con una conversación anterior para conocer el formato de historial admitido.

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

Cerrar la sesión ahorra $0,05 por cada minuto de inactividad de la sesión de voz. Compara ese ahorro con los costos de reconexión y la interrupción que experimenta el usuario.

Elige el modelo adecuado para el backend

Empieza 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 la sesión de voz, el uso del modelo, las llamadas a herramientas y los reintentos. La guía de selección de modelos explica cómo sopesar estos factores.

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 el costo adicional de los tokens. Un modelo más económico 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, la tasa de finalización y el tiempo necesario para completarla. Incluye en el total los intentos fallidos y los reintentos para que una configuración más económica no parezca mejor solo porque completa menos trabajo. Consulta el ejemplo del Cookbook sobre la evaluación de agentes de voz al planificar la comparación.

Monitorea el uso real

Registra por separado la duración de la sesión de voz y el uso del backend en 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 anterior de la duración. No sumes los valores de las actualizaciones. Después de enviar session.close, sigue recibiendo eventos hasta que llegue session.closed y registra una sola vez su valor final de usage.seconds. Sigue el procedimiento de cierre ordenado para que tu aplicación pueda registrar el uso final antes de desconectarse.

Si usas la delegación a Responses, lee el campo usage de la respuesta del backend en los eventos response.completed anidados que recibes a través de response.event. Usa el ID de cada respuesta del backend para contarla una sola vez. Conserva el desglose de los tokens de entrada, de salida y en caché que necesites para aplicar las tarifas de ese modelo. Si tu aplicación ejecuta operaciones de backend por su cuenta, registra también el uso de esas solicitudes.

Compara los totales estimados y reales en conversaciones representativas. Registra por separado las llamadas al modelo que solo se hacen para evaluarlo y las que realiza la aplicación. Analiza el costo junto con el éxito de la tarea.