A API Doubao é oferecida pelo Volcano Ark (Volcano Engine), e a fatura não é um valor fixo por chamada: ela resulta da combinação de tokens de entrada, tokens de saída, cache, modo de inferência e recursos reservados. Muitas equipes fazem o orçamento com um único preço unitário e descobrem um custo alto depois do lançamento. A causa raramente é um aumento de preço do modelo; em geral, a estrutura de entrada, a taxa de acerto de cache e o modo de chamada diferem do que foi estimado.

Este artigo decompõe a cobrança da API Doubao em itens verificáveis e apresenta uma ordem de estimativa e de redução de custos. Os preços unitários atuais estão na tabela de preços dos modelos e na página oficial de preços do Volcano Ark; valores e regras podem mudar.

Nota: Doubao, Volcano Ark e Volcano Engine são marcas de seus respectivos titulares. Este artigo é apenas uma explicação técnica e não indica qualquer relação comercial; regras de cobrança e emissão de nota fiscal seguem as páginas oficiais.

1. Do que a fatura é composta

A inferência online do Volcano Ark é cobrada por token em modelo pós-pago, mas a fatura completa também pode incluir armazenamento de cache, inferência em lote, pacotes de capacidade e ajuste fino.

Item de cobrança Quando ocorre Unidade Observação
Entrada (cache sem acerto) Prompt entra no contexto pela primeira vez Token Corresponde a prompt_tokens
Entrada (cache com acerto) Reutiliza um prefixo já armazenado Token Corresponde a cached_tokens, preço geralmente menor
Armazenamento de cache Após ativar cache de contexto Token × hora Cobrado pelo maior volume armazenado em cada hora corrida
Saída Modelo gera texto ou resultado estruturado Token Corresponde a completion_tokens
Inferência em lote Tarefa offline em lote Token Preço próprio; normalmente não consome cota gratuita
Pacote de capacidade TPM Throughput reservado por minuto Duração da compra Cobrado mesmo sem chamadas
Unidade de modelo Capacidade computacional dedicada Duração da compra Cobrado mesmo sem chamadas
Ajuste fino Etapa de treinamento Token × época ou capacidade Separado do custo de inferência

Separe primeiro o que é "pague pelo uso" do que é "pague pela reserva" para não deixar itens fora do orçamento. O primeiro grupo oscila com o tráfego; o segundo é custo fixo.

2. Como entrada e saída são calculadas

A entrada é tudo o que entra no contexto da requisição: prompt de sistema, mensagens do histórico, definições de ferramentas, documentos recuperados, imagens e outros conteúdos multimodais. Tudo isso é convertido em tokens e cobrado pelo preço de entrada. A saída é o conteúdo efetivamente gerado pelo modelo, cobrado pelo preço de saída, geralmente maior.

Alguns detalhes passam despercebidos:

  • Em conversas de várias rodadas, enviar o histórico completo a cada chamada faz os tokens de entrada acumularem; não se cobra apenas a última frase.
  • O schema de chamada de ferramentas e a descrição das funções também ocupam tokens de entrada; quanto mais ferramentas, maior o custo fixo.
  • Entradas multimodais como imagem e áudio são convertidas por regras próprias; não estime apenas pelo comprimento do texto.
  • Em modelos de raciocínio, o conteúdo de pensamento normalmente entra na saída; confirme a regra na documentação oficial de cobrança.

Por isso, o orçamento não deve perguntar apenas "quanto custa a entrada e quanto custa a saída", mas também "qual é a proporção de entrada e saída nas minhas requisições". Um bot de atendimento tem muita entrada e saída curta; geração de textos longos faz o contrário. As estruturas de custo são completamente diferentes.

3. Cache de contexto: economiza, mas também gera custo

A lógica do cache de contexto é reutilizar prefixos estáveis. Quando o início de duas requisições é idêntico, a parte com acerto usa o preço menor de cache, e apenas o conteúdo novo usa o preço normal de entrada. Mas o cache não é gratuito:

  1. O acerto é cobrado sobre cached_tokens, com preço menor que a entrada normal, mas não zero.
  2. O armazenamento de cache é cobrado por hora, normalmente pelo maior número de tokens armazenados em cada hora corrida.
  3. O cache é um esforço de melhor qualidade, sem compromisso de acerto; com taxa baixa, o custo de armazenamento pode superar a economia de entrada.

Para o cache realmente economizar, coloque o conteúdo estável no início da requisição: prompt de sistema fixo, definições de ferramentas fixas, prefixo de conhecimento fixo; deixe carimbo de tempo, IDs aleatórios, nome do usuário e resultados dinâmicos de busca no fim. Se o negócio muda completamente a cada requisição, desative o cache primeiro e observe a fatura antes de decidir.

4. Online, lote e pacotes de capacidade: como escolher

O Volcano Ark oferece vários modos de inferência, com preços e cenários diferentes:

  • Inferência online pós-paga por token: indicada para tráfego incerto e exigência moderada de latência; não cobra sem chamadas e novos usuários costumam ter cota gratuita abatível.
  • Inferência em lote: indicada para rotulagem offline, moderação de conteúdo e resumos em massa, sem exigência de retorno em tempo real; o preço costuma ser menor, mas não aceita abatimento da cota gratuita.
  • Pacote de capacidade TPM: indicado para produção com tráfego previsível que precisa de throughput estável; comprado por dia ou por hora, é cobrado mesmo sem chamadas.
  • Unidade de modelo: oferece capacidade dedicada, indicada para modelos ajustados ou necessidades específicas de concorrência; é custo fixo.

Na escolha, não compare apenas o preço unitário. A inferência em lote é mais barata, mas entrega resultado com atraso; o pacote de capacidade é estável, mas consome orçamento também nos períodos ociosos. Divida a operação em "tempo real" versus "offline" e "tráfego previsível" versus "imprevisível" e combine cada grupo com o modo de cobrança adequado; isso costuma render mais do que simplesmente trocar de modelo.

5. Usando o campo usage para uma estimativa real

Não adivinhe tokens pelo número de caracteres. Registre o usage da resposta a cada chamada e observe por uma semana para obter a estrutura real da sua operação.

import os
from openai import OpenAI

client = OpenAI(
    api_key=os.environ["ARK_API_KEY"],
    base_url="https://ark.cn-beijing.volces.com/api/v3",
)

resp = client.chat.completions.create(
    model=os.environ["ARK_ENDPOINT_ID"],  # ID do endpoint de inferência ou do modelo, conforme o console
    messages=[
        {"role": "system", "content": "Você é um assistente de atendimento. Responda em no máximo três frases."},
        {"role": "user", "content": "Depois que o pedido é enviado, ainda posso alterar o endereço?"},
    ],
)

print(resp.usage)  # registre os campos de entrada, saída e cache

Faça a estimativa nesta ordem:

  1. Fixe os campos registrados: data, projeto, modelo, tokens de entrada, tokens de saída, acerto de cache, uso de streaming e número de retentativas.
  2. Amostre uma semana e calcule a entrada e a saída médias de cada cenário; não use a média global.
  3. Calcule o custo por chamada como "entrada × preço de entrada + saída × preço de saída", aplicando o preço menor à parte com acerto de cache.
  4. Multiplique pelo volume diário de chamadas e por 30 para obter o custo mensal de inferência.
  5. Some os itens fixos: armazenamento de cache, tarefas em lote, pacotes de capacidade ou unidades de modelo.
  6. Reserve uma margem para retentativas, picos e reajustes de preço.
  7. Uma vez por mês, recalcule a partir da fatura para corrigir o modelo de estimativa.

Se a resposta não trouxer os campos detalhados de cache, registre a entrada e a saída totais e reconstrua pela fatura ou pela página de uso. O essencial é manter o critério consistente e não comparar dados de canais ou datas diferentes.

6. A ordem do controle de custos não deve ser invertida

  1. Quantifique primeiro: separe a estrutura real de tokens por projeto, modelo e cenário e identifique as três chamadas mais caras.
  2. Depois eleve o acerto de cache: prefixo estável no início, menos conteúdo dinâmico, e observe a variação da taxa de acerto.
  3. Depois reduza a entrada: recupere apenas trechos relevantes, resuma o histórico e mantenha somente os campos necessários nos resultados de ferramentas.
  4. Limite a saída: defina um max_tokens razoável, peça JSON ou campos fixos e reduza explicações repetidas.
  5. Faça roteamento de modelos: classificação, extração e reescrita vão para modelos leves; raciocínio complexo sobe de faixa.
  6. Migre tarefas offline para o lote: o que não exige resposta em tempo real entra na inferência em lote, fora do horário de pico.
  7. Só então negocie preço unitário: sem governança de entrada e sem acerto de cache, trocar por um modelo mais barato não reduz o custo.

7. Como administrar orçamento e fatura

  • Uma chave por projeto, com teste e produção separados, para não disputarem a mesma cota.
  • Defina teto de gastos e alerta de saldo por chave, para conter chamadas anormais a tempo.
  • Reconcilie semanalmente por "projeto, modelo e cenário" e identifique as chamadas que mais crescem.
  • Registre à parte a economia obtida com cache, lote e roteamento; sem isso, não é possível comprovar a eficácia da otimização.
  • Equipes que precisam pagar em yuan, com fatura e nota unificadas, podem usar o ZSQH AI Gateway, compatível com OpenAI; preços e critérios de cobrança seguem a tabela de preços dos modelos.

Perguntas frequentes

A API Doubao tem cota gratuita?

A inferência online geralmente oferece cota gratuita para novos usuários, abatível no consumo pós-pago por token; inferência em lote e ajuste fino normalmente não aceitam abatimento. Cota e validade seguem o console do Volcano Ark.

Por que o armazenamento de cache também é cobrado?

O cache ocupa recursos de armazenamento no servidor; além do custo dos tokens com acerto, há cobrança por volume e tempo de armazenamento. Com taxa de acerto baixa, otimize primeiro a estrutura do prefixo e, se necessário, desative o cache.

A inferência em lote é sempre mais barata?

O preço por token da inferência em lote costuma ser menor, mas o resultado não volta em tempo real e a cota gratuita não se aplica. É indicada para tarefas offline, não para atendimento online com baixa latência.

Requisições repetidas por retentativa são cobradas?

Se o servidor concluiu a inferência e gerou tokens, normalmente há cobrança, mesmo que o cliente não tenha recebido o resultado por timeout. Se falhas são cobradas depende da fatura e da documentação oficial; a lógica de retentativa deve ter backoff e limite.

Por que minha estimativa não bate com a fatura?

Os esquecimentos comuns incluem histórico de mensagens, definições de ferramentas, conversão multimodal, armazenamento de cache, retentativas e custo fixo de pacotes. Só comparando o ID de requisição com o log de uso é possível localizar a diferença.

Próximos passos

Crie primeiro uma chave de teste no ZSQH AI Gateway, rode uma semana com tarefas reais, registre entrada, saída e acerto de cache e então converta o orçamento pela tabela de preços dos modelos. Disponibilidade e preços dos modelos seguem a página de preços.

Leitura relacionada: