Każda oficjalna biblioteka OpenAI działa; zmienia się tylko base_url. Przykłady używają gpt-5.6-sol; dla pakietu Astra użyj gpt-astra.
Chat Completions
base_url musi zawierać /v1 i nie może kończyć się /. Biblioteka sama dołącza /chat/completions.
Odpowiedzi dokładnie następują schematu OpenAI: id to chatcmpl-..., usage ma prompt_tokens, completion_tokens i completion_tokens_details.reasoning_tokens. Limit jest naliczany dokładnie za usage.total_tokens.
Responses API
Codex i nowsze SDK używają tego protokołu. Ustawienie reasoning jest w reasoning.effort.
Reasoning effort
Z Chat Completions użyj reasoning_effort (low, medium, high). Nieustawiony, brama używa high. Dla prostych zadań ustaw low, aby zaoszczędzić tokeny:
reasoning_effort dotyczy tylko Chat Completions. Z Responses API użyj reasoning: {"effort": ...}; wysłanie reasoning_effort do /v1/responses jest odrzucane z “Unsupported parameter”.
Streaming
Przy trudnych pytaniach model może chwilę myśleć przed pierwszym tokenem. Użyj stream: true, aby połączenie nie zostało zerwane. stream_options.include_usage sprawia, że ostatni chunk zawiera usage, abyś mógł samodzielnie sprawdzić limit.
Wysyłanie obrazów (vision)
Obrazy są przekazywane w tablicy content, jako publiczny URL lub base64 dla lokalnych plików.
Obrazy kosztują tokeny w zależności od rozmiaru. Przycinaj do istotnej części zamiast wysyłać pełny zrzut ekranu 4K.
Modele i limit przez API
subscription zwraca sumę w hard_limit_usd; usage zwraca zużyte w total_usage, w centach (podziel przez 100 przed porównaniem). Strona sprawdzania robi to za ciebie.