公式の OpenAI ライブラリはすべて使えます。変えるのは base_url だけです。例は gpt-5.6-sol を使用。Astra プランでは gpt-astra にします。
Chat Completions
base_url には /v1 を含め、末尾に / を付けないでください。ライブラリが /chat/completions を自動で付けます。
レスポンスは OpenAI のスキーマそのままです: id は chatcmpl-...、usage には prompt_tokens、completion_tokens、completion_tokens_details.reasoning_tokens が入ります。残高は usage.total_tokens の分だけ正確に引かれます。
Responses API
Codex や新しい SDK はこのプロトコルを使います。推論設定は reasoning.effort に置きます。
推論の強さ
Chat Completions では reasoning_effort(low、medium、high)を使います。未指定ならゲートウェイは high を使います。簡単な作業は low にしてトークンを節約できます:
reasoning_effort は Chat Completions 専用です。Responses API では reasoning: {"effort": ...} を使います。/v1/responses に reasoning_effort を送ると「Unsupported parameter」で拒否されます。
ストリーミング
難しい質問ではモデルが最初のトークンを出す前に長く考えることがあります。stream: true にすると接続が切られません。stream_options.include_usage で最後のチャンクに usage が付き、残高を自分で照合できます。
画像の送信(画像入力)
画像は content 配列に入れます。公開 URL か、ローカルファイルの base64 です。
画像はサイズに応じてトークンを消費します。4K のスクリーンショットをそのまま送らず、必要な部分だけ切り抜いてください。
API でモデルと残高を見る
subscription は総額を hard_limit_usd で、usage は使用量を total_usage で返します。後者はセント単位なので比較前に 100 で割ってください。確認ページなら自動で計算されます。