> ## Documentation Index
> Fetch the complete documentation index at: https://novita.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Cobrança da API de LLM

> Entenda como funciona a cobrança da API de LLM da novita AI, incluindo preços baseados em tokens, regras de cobrança por código de status HTTP e a política de cobrança por desconexão do cliente 499.

## Preços

A API de LLM da novita AI é cobrada por token. Cada solicitação gera cobranças por:

* **Tokens de Entrada** — tokens consumidos pelo prompt
* **Tokens de Saída** — tokens gerados pelo modelo

Custo Total = Tokens de Entrada × Taxa de Entrada + Tokens de Saída × Taxa de Saída

<Info>
  As taxas variam de acordo com o modelo. Consulte a [Página de Preços](https://novita.ai/pricing) para obter detalhes.
</Info>

## Códigos de Status HTTP

| Status HTTP | Nome                     | Descrição                                     | Cobrado |
| :---------- | :----------------------- | :-------------------------------------------- | :------ |
| 200         | Sucesso                  | Solicitação concluída com sucesso             | **Sim** |
| 400         | Solicitação Inválida     | Parâmetros de solicitação inválidos           | Não     |
| 401         | Não Autorizado           | Chave de API inválida ou ausente              | Não     |
| 403         | Proibido                 | Permissões insuficientes                      | Não     |
| 429         | Limite de Taxa Excedido  | Limite de TPM ou RPM excedido                 | Não     |
| 499         | Cliente Desconectado     | O cliente fechou a conexão antes da conclusão | **Sim** |
| 500         | Erro Interno do Servidor | Erro no lado do servidor                      | Não     |
| 503         | Serviço Indisponível     | Serviço temporariamente indisponível          | Não     |
| 504         | Tempo Limite do Gateway  | A resposta upstream excedeu o tempo limite    | Não     |

**Princípio de cobrança:**

* Solicitações rejeitadas antes de chegarem ao modelo (400/401/403/429): não são cobradas
* Erro devido a problemas da plataforma (500/503/504): não é cobrado
* Solicitações em que o modelo já iniciou a inferência (200/499): são cobradas

## 499 — Cliente Desconectado

Depois que uma solicitação chega ao modelo, a inferência começa imediatamente no lado do servidor. Se o cliente se desconectar antes de receber a resposta completa, recursos computacionais já terão sido consumidos. A solicitação é cobrada com base no uso real de tokens.

| Modo de Solicitação | Cobrança                                                                    |
| :------------------ | :-------------------------------------------------------------------------- |
| Sem Streaming       | Cobrado pelo uso real de tokens, independentemente do momento da desconexão |
| Com Streaming       | Cobrado pelo uso real de tokens, independentemente do momento da desconexão |

<Tip>
  **Recomendações**

  * Use `max_tokens` para limitar o tamanho da saída no nível da solicitação
  * Defina o timeout do cliente como ≥ 60s para evitar desconexões indesejadas
  * Prefira controlar a geração por meio de `max_tokens` em vez de fechar a conexão
</Tip>

## Perguntas Frequentes

<AccordionGroup>
  <Accordion title="Por que sou cobrado após me desconectar?">
    A inferência começa assim que a solicitação chega ao modelo. Desconectar não interrompe a computação já em andamento.
  </Accordion>

  <Accordion title="Como posso evitar cobranças 499?">
    Defina o parâmetro `max_tokens` para controlar o tamanho da saída antes de enviar a solicitação.
  </Accordion>

  <Accordion title="Onde as cobranças 499 aparecem?">
    No seu painel de uso, junto com as solicitações padrão, com o consumo real de tokens registrado.
  </Accordion>
</AccordionGroup>
