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:
- O acerto é cobrado sobre
cached_tokens, com preço menor que a entrada normal, mas não zero. - O armazenamento de cache é cobrado por hora, normalmente pelo maior número de tokens armazenados em cada hora corrida.
- 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:
- 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.
- Amostre uma semana e calcule a entrada e a saída médias de cada cenário; não use a média global.
- 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.
- Multiplique pelo volume diário de chamadas e por 30 para obter o custo mensal de inferência.
- Some os itens fixos: armazenamento de cache, tarefas em lote, pacotes de capacidade ou unidades de modelo.
- Reserve uma margem para retentativas, picos e reajustes de preço.
- 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
- Quantifique primeiro: separe a estrutura real de tokens por projeto, modelo e cenário e identifique as três chamadas mais caras.
- 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.
- Depois reduza a entrada: recupere apenas trechos relevantes, resuma o histórico e mantenha somente os campos necessários nos resultados de ferramentas.
- Limite a saída: defina um
max_tokensrazoável, peça JSON ou campos fixos e reduza explicações repetidas. - Faça roteamento de modelos: classificação, extração e reescrita vão para modelos leves; raciocínio complexo sobe de faixa.
- 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.
- 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:
