For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal

Otimização de custos

Entenda o uso de voz e gerencie os custos do GPT-Live e da Realtime API.

Escolha sua API para entender como o uso é medido e encontrar maneiras de gerenciar os custos do seu aplicativo de voz.

Uso e custos do GPT-Live

O GPT-Live separa a conversa por voz do backend que raciocina e executa ferramentas. Estime esses dois custos separadamente: o custo da sessão de voz depende da duração, enquanto os custos do backend dependem dos modelos e das ferramentas que você usa.

Custos da sessão de voz

As sessões de voz do GPT-Live são cobradas por segundo, com base na tarifa atual do modelo. A duração da sessão não é arredondada para o próximo minuto inteiro.

O tempo de sessão ativa inclui os períodos em que o usuário fala, o assistente fala, ambos ficam em silêncio ou o backend está trabalhando.

Para fazer estimativas, considere a sessão ativa do início ao encerramento. Use a duração informada pela API em vez de medir apenas o áudio que você reproduz. Silenciar a entrada do microfone não encerra a sessão. Quando a conversa terminar, encerre a sessão e colete os dados finais de uso.

Consulte os preços da API para saber os preços dos modelos e das ferramentas do backend.

Cobranças de inicialização do WebRTC

Uma solicitação POST /v1/live/sessions para criar uma sessão WebRTC gera uma cobrança de 15 segundos de voz durante a inicialização da sessão. Esse valor é abatido das cobranças por duração assim que a sessão começa a funcionar. Não acrescente mais 15 segundos à duração da sessão em execução ao estimar seu custo.

Por exemplo, a sessão de 90 segundos abaixo já inclui os 15 segundos cobrados na inicialização. Ela não é cobrada como uma sessão de 105 segundos. Considere as cobranças de criação de sessões ao avaliar reconexões ou aplicativos que criam sessões antes de o usuário estar pronto para falar.

Custos do backend

As chamadas ao backend são cobradas separadamente da sessão de voz, assim como nos aplicativos sem voz. Inclua os tokens de entrada e saída do modelo, a entrada em cache quando houver suporte e quaisquer cobranças aplicáveis a imagens ou ferramentas. Se o seu aplicativo chamar outros serviços, inclua os custos deles na estimativa também.

Você pode otimizar esse trabalho separadamente do frontend de voz. Use o guia geral de otimização de custos para reduzir as solicitações e o uso de tokens. Use o cache de prompts nos modelos de backend compatíveis, mantendo instruções reutilizáveis, definições de ferramentas e outros conteúdos estáveis no início do prompt.

As escolhas de backend também podem alterar a duração da conversa. Compare o custo combinado quando uma otimização fizer o usuário esperar mais ou alterar a confiabilidade com que o assistente conclui a tarefa.

Estime os custos da conversa

Para uma conversa com uma sessão de voz:

Custo total = (segundos de voz faturáveis ÷ 60 × tarifa de voz por minuto) + custos do backend

Por exemplo, com uma tarifa de voz ilustrativa de $0.05 por minuto, uma sessão de voz de 90 segundos custa $0.075. Se os custos de modelos e ferramentas do backend somarem $0.02, a conversa custará $0.095:

ComponenteCálculoCusto
Sessão de voz90 segundos ÷ 60 × $0.05$0.075
Trabalho do backendCustos totais de modelos e ferramentas$0.02
Total da conversa$0.075 + $0.02$0.095

As tarifas e o custo do backend acima são exemplos; use a tarifa de voz atual, o uso medido do seu backend e as tarifas aplicáveis aos modelos e às ferramentas. Se a tarefa abranger várias sessões de voz, some suas durações e inclua o trabalho do backend realizado entre as sessões.

Estratégias de otimização

Concentre-se em ajudar o usuário a concluir a tarefa com menos conversa desnecessária e menos espera. Mantenha as confirmações e verificações que a tarefa exige.

Forneça contexto relevante antes da sessão

Reúna as informações que seu aplicativo já tem permissão para usar antes de iniciar a sessão de voz. Por exemplo, um assistente que ajuda com um pedido pode começar com o número do pedido e o status atual, para que o usuário não precise repeti-los nem esperar por outra consulta.

Mantenha esse contexto atualizado e focado na tarefa. Forneça ao modelo de voz as informações necessárias para a conversa; mantenha registros detalhados e fluxos de trabalho no backend. Consulte configuração da sessão e delegação e ferramentas.

Reduza o tempo de espera pelas ferramentas

Esperas mais curtas podem melhorar a experiência do usuário e reduzir os custos da sessão de voz. Por exemplo, suponha que seu backend use gpt-5.6-luna com o modo Fast e execute chamadas independentes a ferramentas em paralelo. Se essas otimizações ajudarem o usuário a terminar e encerrar a sessão de voz um minuto antes, você economizará $0.05 em cobranças de voz. O custo total diminui se o custo adicional do backend for menor que essa economia.

Você também pode iniciar uma consulta especulativa a partir de fragmentos da transcrição antes de receber um evento de delegação. Inclua o trabalho especulativo não utilizado nas suas medições de custo do backend.

Consulte Reduza a latência do backend para saber mais sobre otimizações de modelos, conexões, streaming e ferramentas. Valide o tempo até uma resposta falada útil e o sucesso da tarefa com avaliações de agentes de voz.

Encerre a sessão durante tarefas longas

O frontend de voz e o backend gerenciado pelo seu aplicativo podem funcionar de forma independente. Com a delegação ao cliente, o processo de trabalho do backend pode continuar em execução com a sessão de voz aberta ou encerrada. Salve o estado da tarefa e o contexto da conversa antes de encerrar a sessão de voz.

Para um agente ambiente, encerre a sessão de voz enquanto o backend executa uma tarefa de longa duração, como programar no modo Meta. Ofereça um botão com o rótulo Retomar conversa para iniciar uma nova sessão de voz quando o usuário voltar, ou use um evento de conclusão do backend para iniciar uma nova sessão e avisar ao usuário que o resultado está pronto.

Restaure a conversa iniciando uma nova sessão com o contexto salvo e o resultado verificado da tarefa em input. Por exemplo, envie este evento de inicialização por uma nova conexão 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" }
  }
}

Aguarde session.started antes de transmitir áudio. Consulte inicialize uma sessão com uma conversa anterior para saber qual formato de histórico é aceito.

Se a sessão anterior foi armazenada com store: true, você também pode criar um fork dessa sessão. Mantenha o estado verificado da tarefa do backend no seu aplicativo, independentemente da abordagem usada.

Encerrar a sessão economiza $0.05 por minuto de tempo de voz ocioso; compare essa economia com os custos de reconexão e a interrupção na experiência do usuário.

Escolha o modelo de backend adequado

Comece com modelos que atendam aos requisitos de precisão e confiabilidade da tarefa. Depois, compare o custo total da conversa, incluindo duração da voz, uso do modelo, chamadas a ferramentas e novas tentativas. O guia de seleção de modelos descreve como equilibrar essas vantagens e desvantagens.

Um modelo de backend maior pode ter um custo total menor se concluir a tarefa mais rápido e a economia na sessão de voz superar os custos adicionais de tokens. Um modelo mais barato pode ter um custo total maior se demorar mais, repetir chamadas a ferramentas ou não conseguir concluir a tarefa.

Compare o custo por tarefa concluída com sucesso, juntamente com a taxa de conclusão e o tempo para concluí-la. Inclua as tentativas malsucedidas e as novas tentativas no total para que uma configuração mais barata não pareça melhor por concluir menos trabalho. Use o Cookbook de avaliação de agentes de voz ao planejar sua comparação.

Monitore o uso real

Registre a duração da voz e o uso do backend separadamente para cada sessão. O GPT-Live informa a duração acumulada da voz em segundos:

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

Cada atualização substitui o registro anterior de duração. Não some os registros. Após enviar session.close, continue recebendo eventos até session.closed e registre o valor final de usage.seconds uma única vez. Siga o procedimento de encerramento controlado para que seu aplicativo possa coletar os dados finais de uso antes de se desconectar.

Para a delegação via Responses, leia o campo usage da resposta do backend nos eventos aninhados response.completed recebidos por meio de response.event. Conte cada resposta do backend uma única vez, usando seu ID de resposta, e mantenha os detalhes dos tokens de entrada, saída e cache necessários para aplicar as tarifas desse modelo. Para o trabalho de backend que seu aplicativo executa de forma independente, colete também os dados de uso dessas solicitações.

Compare os totais estimados e reais em conversas representativas. Mantenha as chamadas a modelos usadas apenas para avaliação separadas do uso do aplicativo e analise o custo junto com o sucesso da tarefa.