Todas as chamadas usam `Authorization: Bearer bc_live_...`, retornam `x-request-id` quando disponíveis e são auditadas por projeto, chave, modelo, provider, latência, tokens, status, erro e custo em BRL.
/v1/models/v1/chat/completionsAuthorization: Bearer bc_live_...
Prompts elegíveis têm pelo menos 1.024 tokens e exigem correspondência exata do prefixo. Coloque instruções, exemplos, tools e schemas estáveis no início; dados variáveis no final.
{
"model": "gpt-5.6-luna",
"prompt_cache_key": "contratos:v1",
"prompt_cache_options": {"mode":"implicit","ttl":"30m"},
"messages": [{"role":"user","content":"..."}]
}Modelos anteriores usam `prompt_cache_retention` quando disponível. Opções incompatíveis retornam `400 unsupported_prompt_cache_options`. Sem `prompt_cache_key`, o Banana mantém o comportamento automático do provider.
Leituras aparecem em `usage.prompt_tokens_details.cached_tokens`; escritas, quando aplicável, em `cache_write_tokens`. O preço em BRL usa a tarifa oficial de cache em USD × 5 × 0,6.
O cache pertence ao provider e segue a retenção e capacidade do modelo. O Banana não consegue limpar manualmente o KV cache de imediato: altere o prefixo ou a cache key e aguarde a expiração. Retenção estendida, Zero Data Retention e residência regional dependem do contrato e da elegibilidade do provider; usar cache não implica ZDR.
{
"model": "gpt-5.4",
"messages": [{"role":"user","content":"Resuma este contrato."}],
"stream": true
}{
"error": {
"message": "Model not found.",
"type": "invalid_request_error",
"param": "model",
"code": "model_not_found"
}
}Falhas de autenticação e validação não devem gerar débito. Requisições bem-sucedidas registram tokens, latência, modelo, provider, status e custo em BRL.
Quando o saldo for insuficiente, a API retorna erro `insufficient_quota` e não encaminha a chamada ao provider.