Skip to main content
Qualquer biblioteca oficial do OpenAI funciona; apenas base_url muda. Os exemplos usam gpt-5.6-sol; para o pacote Astra use gpt-astra.

Chat Completions

base_url deve incluir /v1 e não deve terminar com /. A biblioteca adiciona /chat/completions por conta própria.
As respostas seguem exatamente o esquema do OpenAI: id é chatcmpl-..., usage tem prompt_tokens, completion_tokens e completion_tokens_details.reasoning_tokens. O limite é cobrado exatamente usage.total_tokens.

Responses API

O Codex e os SDKs mais recentes usam este protocolo. A configuração de raciocínio fica em reasoning.effort.

Esforço de raciocínio

Com Chat Completions use reasoning_effort (low, medium, high). Sem configurar, o gateway usa high. Para tarefas simples, defina low para economizar tokens:
reasoning_effort é apenas para Chat Completions. Com a Responses API use reasoning: {"effort": ...}; enviar reasoning_effort para /v1/responses é rejeitado com “Unsupported parameter”.

Streaming

Em perguntas difíceis, o modelo pode ficar pensando por um tempo antes do primeiro token. Use stream: true para que a conexão não seja encerrada. stream_options.include_usage faz com que o último fragmento carregue usage para que você possa reconciliar o limite por conta própria.

Enviando imagens (visão)

As imagens vão no array content, como URL pública ou base64 para arquivos locais.
As imagens custam tokens de acordo com seu tamanho. Recorte a parte relevante em vez de enviar uma captura de tela 4K completa.

Modelos e limite via API

subscription retorna o total em hard_limit_usd; usage retorna o que foi usado em total_usage, em centavos (divida por 100 antes de comparar). A página de verificação faz isso por você.