Limites e saldo
Todas as requisições são atendidas igualmente. Sem faixas de limite de taxa. Sem cota de API separada. Você já pagou pelos seus tokens — use-os tão rápido quanto quiser.
Esta página explica de que é feito o seu saldo, o que uma requisição reserva e custa, quantas requisições você pode enviar e os poucos limites que uma única requisição pode encontrar.
- valor de 1M de tokens de saldo
- $5.00
- a cota diária é renovada
- 00:00 UTC
- proteção contra flood, por conta
- 120 requisições / min
Como as requisições são atendidas
- Sem faixas de limite de taxa — Uma regra limita a rapidez com que as requisições podem chegar, e ela é a mesma para todas as contas e todos os planos: 120 requisições por minuto. Não há limite de tokens por minuto.
- Sem cota de API separada — A API consome o mesmo saldo do chat. Um plano define o tamanho da cota de hoje. Ele não define uma taxa de requisições.
- Tão rápido quanto quiser — Requisições enviadas em paralelo são aceitas e esperam em fila. Elas não são recusadas por serem paralelas.
Seu saldo
Seu saldo é contado em tokens. 1,000,000 de tokens de saldo valem $5.00, e todo preço da página Modelos e preços é uma taxa em relação a esse valor.
A qualquer momento, o saldo é a soma de duas partes.
- Cota do plano de hoje — Um número de tokens definido pelo seu plano. É renovado todo dia às 00:00 UTC. O que sobra no fim do dia não é acumulado.
- Créditos comprados — Tokens que você comprou como um pacote. O crédito não expira e vale em todos os planos, inclusive o Free.
| Plano | Tokens por dia | Vale |
|---|---|---|
| Free | 30,000 | $0.15 |
| Plus | 80,000 | $0.40 |
| Standard | 265,000 | $1.325 |
| Pro | 665,000 | $3.325 |
- Ordem de consumo — Toda requisição consome primeiro a cota do plano de hoje. Os créditos comprados só são usados para o que passa da cota naquele dia.
- Chat e API compartilham o saldo — Há um saldo por conta. Uma chave de API consome o saldo da conta a que pertence, aos mesmos preços do chat.
- Pacotes — O crédito é vendido em pacotes de 1,000,000 ($5.00), 2,000,000 ($10.00) e 5,000,000 ($25.00) tokens, ou em um valor à sua escolha de 1,000,000 a 100,000,000 tokens a $5.00 por 1,000,000.
Adicionar créditos Alterar plano
O que uma requisição reserva e quanto custa
- Reservar — Quando uma requisição chega, ela reserva o seu orçamento de saída do seu saldo:
max_tokensem/v1/chat/completionse/v1/messages,max_output_tokensem/v1/responses./v1/chat/completionstambém lêmax_completion_tokens. O padrão é 4,096 e o intervalo vai de 1 a 65,536. - Admitir — A requisição só é aceita se a reserva couber no que resta do seu saldo. Um saldo acima de zero, mas menor que o orçamento de saída, recebe a resposta
Quota exceeded. Envie ummax_tokensmenor para usar o que sobrou. - Acertar — Quando a resposta termina, a reserva é substituída pela cobrança real. A cobrança pode ser menor ou maior que a reserva.
- Devolver — Uma requisição que termina com um status de erro devolve a reserva por inteiro.
A cobrança real depende da família do modelo.
| Modelos | O que é cobrado |
|---|---|
| Modelos Shannon | usage.total_tokens ao preço do modelo por 1M. Entrada e saída têm uma única taxa. |
| Modelos open-weight hospedados | Entrada sem cache à taxa de entrada, entrada em cache à taxa de cache, saída à taxa de saída. |
O valor em USD é retirado do seu saldo em tokens a $5.00 por 1,000,000, arredondado para um token inteiro.
Contar tokens com POST /v1/tokenize ou POST /v1/messages/count_tokens é gratuito e não reserva nada. Contagem de tokens
Onde ver saldo e uso
A página Chaves e uso mostra o que você pode gastar agora, a cota do plano de hoje, seus créditos comprados e o gasto de API dos últimos 30 dias. Abaixo, ela lista todas as requisições que a sua chave fez: hora, endpoint, modelo, entrada em cache, tokens faturados e custo. Chaves e uso
Toda resposta também traz um objeto usage com as contagens de tokens daquela chamada.
| Endpoint | Campos de usage | Acrescentados pelos modelos open-weight hospedados |
|---|---|---|
/v1/chat/completions | prompt_tokens, completion_tokens, total_tokens | prompt_tokens_details.cached_tokens, completion_tokens_details.reasoning_tokens |
/v1/messages | input_tokens, output_tokens | cache_read_input_tokens, cache_creation_input_tokens |
/v1/responses | input_tokens, output_tokens, total_tokens | input_tokens_details.cached_tokens, output_tokens_details.reasoning_tokens |
usagecontém as contagens de tokens do modelo. A quantia retirada do seu saldo não está na resposta: ela é a coluna Tokens faturados da lista de requisições em Chaves e uso.- Em
/v1/messagescom um modelo open-weight hospedado,input_tokensé a parte da entrada sem cache,cache_read_input_tokensé a parte em cache ecache_creation_input_tokensé sempre0. - Um stream em
/v1/chat/completionstrazusageno seu último chunk antes de[DONE]. Streaming
Quando o saldo acaba
Uma requisição cuja reserva não cabe no seu saldo é respondida com status 429, tipo rate_limit_error e a mensagem abaixo. Nada é cobrado. A mesma resposta é enviada quando o saldo está acima de zero, mas é menor que o orçamento de saída da requisição.
{
"error": {
"type": "rate_limit_error",
"message": "Quota exceeded. Upgrade your plan at shannon-ai.com/plan"
}
} {
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Quota exceeded. Upgrade your plan at shannon-ai.com/plan"
}
} Em /v1/responses, o objeto error também pode conter code e param, ambos null.
O que você pode fazer:
- Aguarde a próxima cota do plano às 00:00 UTC.
- Adicione créditos. O crédito é consumido depois da cota do plano e não expira. Adicionar créditos
- Mude para um plano com uma cota diária maior. Alterar plano
- Envie um
max_tokensmenor, se ainda houver algum saldo: a reserva então é menor.
Cota de chamadas do Shannon Coder
shannon-coder-1 em /v1/chat/completions e /v1/messages é contado em chamadas, não em tokens. Cada plano inclui um número de chamadas por janela de 4 horas. Uma requisição é uma chamada.
| Plano | Chamadas por janela de 4 horas |
|---|---|
| Free | 3 |
| Plus | 20 |
| Standard | 40 |
| Pro | 60 |
- As janelas começam às 00:00, 04:00, 08:00, 12:00, 16:00, 20:00 UTC. As chamadas que sobram no fim de uma janela não são acumuladas.
- Uma chamada é contada quando a requisição é aceita, antes de o modelo responder. Uma requisição que falha depois ainda conta como uma chamada.
- Essas chamadas não reservam tokens e não retiram nada do seu saldo. A lista de requisições em Chaves e uso mostra a contagem de tokens e o valor dela ao preço listado.
- O
max_tokenspadrão deshannon-coder-1nestes dois endpoints é 65,536. - Sem chamadas restantes, a resposta tem status
429, tiporate_limit_errore mensagemShannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan. - Em
/v1/responses,shannon-coder-1não tem cota de chamadas: é cobrado em tokens do seu saldo a $8.00 por 1M, como todos os outros modelos.
Proteção contra flood
Uma conta pode enviar 120 requisições por minuto. Esse é o único limite de taxa de requisições, e é o mesmo em todos os planos. Ele existe para conter floods, não para atrapalhar o uso normal.
- O minuto é uma janela fixa de 60 segundos que abre com a sua primeira requisição. Quando ela termina, a contagem recomeça do zero.
- A contagem é por conta, não por chave nem por endereço IP. Rotacionar a chave não abre uma nova janela.
- A 121ª requisição dentro de uma janela é respondida com status
429, tiporate_limit_errore a mensagemToo many requests. Retry in <N>s.Né o número de segundos até o fim da janela, de 1 a 60. - A proteção contra flood é verificada antes do saldo. Uma requisição que ela recusa não reserva nada e não custa nada.
{
"error": {
"type": "rate_limit_error",
"message": "Too many requests. Retry in 37s."
}
} {
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Too many requests. Retry in 37s."
}
} | Requisição | Proteção contra flood |
|---|---|
POST /v1/chat/completions, POST /v1/messages, POST /v1/responses | Contada, uma por requisição. |
GET /v1/models, POST /v1/tokenize, POST /v1/messages/count_tokens | Não contado. |
shannon-coder-1 em /v1/chat/completions e /v1/messages | Contado, em vez disso, pela cota de chamadas do Shannon Coder. |
Uma requisição respondida com 401, ou com 400 por um model desconhecido | Não contada. |
| Uma requisição recusada pela proteção contra flood | Contada para a janela. Nada é cobrado. |
Requisições em paralelo
Não há limite para quantas requisições uma conta pode ter abertas ao mesmo tempo, nem erro por enviar requisições em paralelo. As requisições que não podem começar imediatamente esperam em fila e são respondidas em ordem.
- Cada requisição conta para as 120 por minuto quando chega, tenham ou não as requisições anteriores terminado.
- Cada requisição mantém a sua própria reserva até terminar. Vinte requisições abertas com o orçamento de saída padrão mantêm 20 × 4,096 = 81,920 tokens de saldo. Se as reservas somadas forem maiores que o seu saldo, a próxima requisição recebe a resposta
Quota exceeded, mesmo que as chamadas concluídas tivessem custado menos. Ummax_tokensmenor mantém menos. - Uma requisição sem streaming não envia nada até a resposta estar completa, então dê ao seu cliente um timeout que cubra a espera. Um stream mantém a conexão aberta enquanto espera. Streaming
Limites de uma única requisição
| Limite | Valor | Aplica-se a | No limite |
|---|---|---|---|
| Corpo da requisição | 32 MiB (33,554,432 bytes) | Todos os endpoints | Status 413, tipo invalid_request_error. |
Orçamento de saída: max_tokens, max_completion_tokens, max_output_tokens | 1 a 65,536. Padrão 4,096; para shannon-coder-1 em /v1/chat/completions e /v1/messages, o padrão é 65,536. | Todos os modelos, como a quantia reservada do seu saldo. Como limite do tamanho da resposta: os modelos open-weight hospedados, shannon-1.6-lite, shannon-1.6-pro e shannon-coder-1. | Um valor fora do intervalo é levado ao extremo mais próximo do intervalo. Sem erro. |
Sequências de parada: stop, stop_sequences | 4 strings | Modelos open-weight hospedados | As 4 primeiras strings não vazias são usadas. |
| Imagem ou arquivo informado como URL | 8 MiB, lidos em até 20 segundos, no máximo 5 redirecionamentos, um endereço http ou https público | Todos os endpoints que aceitam imagens ou arquivos | A requisição é respondida sem essa parte. Sem erro. |
| Imagem ou arquivo enviado inline (base64) | Sem limite próprio. Conta para o corpo de requisição de 32 MiB. | Todos os endpoints que aceitam imagens ou arquivos | Status 413 para a requisição inteira. |
text de POST /v1/tokenize | 4,000,000 bytes | /v1/tokenize | Status 413, tipo invalid_request_error, mensagem text too long. |
messages de POST /v1/tokenize e o corpo de POST /v1/messages/count_tokens | O corpo de requisição de 32 MiB | Os dois endpoints de contagem | Status 413. |
| Janela de contexto | Por modelo: context_window em GET /v1/models | Todos os modelos | O que acontece com uma conversa mais longa depende do modelo. Modelos e preços |
Buscas na web (web_search: true) | Por plano e dia: Free 3, Plus 30, Standard 50, Pro 60. Uma busca é contada para uma requisição cuja busca encontrou resultados. | Requisições que definem web_search: true | Sem buscas restantes, a requisição é respondida sem busca. Sem erro. Busca web integrada |
Erros
As respostas desta página. Em /v1/messages, o mesmo objeto error vem embrulhado como {"type": "error", "error": {…}}.
| Status | Tipo | Mensagem | Quando e o que fazer |
|---|---|---|---|
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | A reserva da requisição não cabe no seu saldo. Espere até as 00:00 UTC, adicione créditos, mude de plano ou envie um max_tokens menor. |
429 | rate_limit_error | Too many requests. Retry in <N>s. | Mais de 120 requisições no minuto atual. Espere N segundos e envie de novo. |
429 | rate_limit_error | Shannon Coder call quota reached. Upgrade your plan at shannon-ai.com/plan | As chamadas do Shannon Coder da janela atual de 4 horas foram esgotadas. |
429 | rate_limit_error | Shannon routes are temporarily busy. Please retry. | O modelo não pode aceitar a requisição neste momento. Envie-a de novo após uma breve pausa. |
503 | api_error | Could not verify your quota right now. Please retry. | Seu saldo não pôde ser lido. Nada é cobrado; envie a requisição de novo. Em /v1/responses com um modelo Shannon, o status é 500. |
413 | invalid_request_error | O corpo da requisição é maior que 32 MiB. Nos endpoints no formato OpenAI, o objeto error traz code: "request_too_large". | |
413 | invalid_request_error | text too long | text de POST /v1/tokenize tem mais de 4,000,000 bytes. |