# GPT-6 Astra APIの始め方：利用権限の確認から最初の応答まで

> GPT-6 AstraはAPIで提供開始済みです。自分のAPIプロジェクトから呼び出せるかを確認し、Pythonの短い実行例で応答を判定します。エラーが出た場合も、権限・請求・アプリ設定のどこを直せばよいか分かります。

- URL: https://blog.laozhang.ai/ja/posts/gpt-6-astra-api-access
- Published: 2026-09-05
- Updated: 2026-10-08
- Author: LaoZhang AI Team (https://blog.laozhang.ai/ja/about)
- Topic: ChatGPT と OpenAI
- Tags: GPT-6 Astra, OpenAI API, Python, Responses API

---
GPT-6 Astraは、すでにOpenAI APIで提供されています。2026年9月5日に確認した[OpenAI公式の最新案内](https://www.threads.com/@openai/post/Dc4YdbEjP4d/gpt-astra-is-now-available-to-all-pro-enterprise-and-business-premium-users-in/)には、APIでも利用開始済みであることが明記されています。これから試すなら、公開待ちと考えるより、**アプリで使うAPIプロジェクトから実際に応答を取得できるか**を確かめるのが次の一歩です。

ただし、ChatGPTの画面でAstraを選べることと、APIキーで呼び出せることは別です。APIキーによるアクセスは、そのキーが所属するAPI組織・プロジェクトに従います。ワークスペースでモデルを有効にしてもAPIの利用権限は付与されません。[OpenAIの権限説明](https://learn.chatgpt.com/docs/enterprise/workspace-model-availability)も、この区別を明示しています。

この記事では、OpenAIに直接接続するPythonの例を使い、最初の応答まで確認します。すでにアプリへ組み込んでいて失敗している場合も、同じキーで単独の実行例を試すと、利用権限とアプリ側の問題を切り分けやすくなります。

## 実行前に、キーの所属先と請求設定を確かめる

[OpenAI API Platform](https://platform.openai.com/)で、今回使う組織とプロジェクトを選びます。APIキーを発行したプロジェクトと、利用状況や制限を見ているプロジェクトが一致していることを確認してください。個人の試作用キーで成功しても、会社の本番プロジェクトの権限を確認したことにはなりません。

AstraはAPIの**Free tierで使える前提にはできません**。これはChatGPTの無料・有料プランとは別の、API側の利用区分です。2026年10月8日に確認した[GPT-6 Astraの公式モデルページ](https://developers.openai.com/api/docs/models/gpt-6-astra)では、レート制限が有料のBuild・Launch・Growの3段階についてだけ載っており、Freeの行はありません。クレジットを購入し、残高がある状態で試すのが前提です。データ共有の案内が表示された組織が受け取る毎日の無料トークン（無料枠）の対象モデルにはgpt-6-astraも含まれますが、これも残高がプラスであることが条件で、Free tierのまま呼び出せるという意味ではありません。請求設定、残高、適用される使用上限を確かめてから進みます。支払い済みであることだけで、個別のキーが必要な権限を持つと判断しないでください。ChatGPTの無料プランで使えるGPT-6については「[GPT-6は無料で使える？ChatGPT無料プランは10月8日からGPT-6 Luna](https://blog.laozhang.ai/ja/posts/is-gpt-6-free)」で整理しています。

日本は[OpenAI APIの対応国一覧](https://developers.openai.com/api/docs/supported-countries)に含まれています。一方、日本語のアプリでも、実行環境や利用者の所在地が海外なら、その国・地域の条件を別途確認する必要があります。

APIキーはサーバー側の環境変数`OPENAI_API_KEY`に設定します。ブラウザーへ配信するJavaScriptや公開リポジトリには含めません。キーの作成と環境変数の基本手順は[公式クイックスタート](https://developers.openai.com/api/docs/quickstart)にあります。ここからのコードは、その手順とAPI仕様に基づく実行例です。実行時にはAPIの使用料金が発生し、以下の例が特定のアカウントで成功することを保証するものではありません。

## Pythonで一度呼び出し、応答の状態まで見る

最初の確認では、会話履歴、外部ツール、既存アプリの共通設定を持ち込まず、短い文章を一つ送ります。モデルIDは`gpt-6-astra`、エンドポイントはResponses APIです。推論の設定は`low`を使います。Astraでは`none`や`minimal`を指定できず、ツール呼び出しにはResponses APIが必要です。[公式の利用ガイド](https://developers.openai.com/api/docs/guides/latest-model)で、対応するAPIと設定項目を確認できます。

Python用SDKを更新します。

```bash
python3 -m pip install --upgrade openai
```

`OPENAI_API_KEY`に目的のプロジェクトのキーが入っていることを確認し、次を`check_astra.py`として保存します。`OPENAI_ORG_ID`や`OPENAI_PROJECT_ID`を設定している環境では、それらが今回の所属先と一致しているかも確認してください。この例は接続先を明示しているため、互換API用の`OPENAI_BASE_URL`が残っていてもOpenAIへ直接送信します。

```python
import json
import os

from openai import OpenAI, APIConnectionError, APIStatusError

client = OpenAI(
    api_key=os.environ["OPENAI_API_KEY"],
    base_url="https://api.openai.com/v1",
    organization=os.environ.get("OPENAI_ORG_ID"),
    project=os.environ.get("OPENAI_PROJECT_ID"),
    max_retries=0,
)

try:
    response = client.responses.create(
        model="gpt-6-astra",
        reasoning={"effort": "low"},
        input="動作確認です。日本語で短い挨拶を一文だけ返してください。",
        max_output_tokens=4096,
    )
except APIStatusError as exc:
    print("HTTP status:", exc.status_code)
    print("request_id:", exc.response.headers.get("x-request-id"))
    print("error:", exc.response.text)
    raise SystemExit(1)
except APIConnectionError as exc:
    print("接続に失敗しました:", str(exc))
    raise SystemExit(1)
else:
    print("response_id:", response.id)
    print("model:", response.model)
    print("status:", response.status)
    print("incomplete_details:", response.incomplete_details)
    print("usage:", response.usage)
    print("text:", response.output_text)

    if response.status != "completed" or not response.output_text.strip():
        print("応答の内容を確認してください:")
        print(json.dumps(response.model_dump(), ensure_ascii=False, indent=2))
        raise SystemExit(2)
```

実行コマンドは`python3 check_astra.py`です。今回は一度の結果をそのまま確認するため、自動再試行を無効にしています。エラー時の出力には原因の手掛かりが含まれます。問い合わせ先に共有する際は、APIキーや入力中の機密情報を含めないようにします。

`max_output_tokens=4096`は、この短い確認用入力に対して設定した上限例です。常に十分な値という意味ではありません。この上限には表示される文章だけでなく推論分も含まれ、使い切ると文章が出る前に終わることがあります。詳しい挙動は[推論モデルの出力上限の説明](https://developers.openai.com/api/docs/guides/reasoning#allocating-space-for-reasoning)にあります。

## 「本文がない」と「利用できない」を分けて判断する

この確認例では、`status`が`completed`で、日本語の短い応答が`text`に表示されれば、指定した接続先とキーで、今回のテキスト生成を完了できたと判断できます。応答の`model`と`response_id`も残しておくと、後から確認しやすくなります。生成された文章が「私はAstraです」と名乗るかどうかは、モデルを確認する方法にはしません。

![API応答の状態、本文の有無、HTTPエラーと接続エラーから次の確認項目を選ぶ概念図](https://blog.laozhang.ai/posts/ja/gpt-6-astra-api-access/img/response-outcome-map.webp)

応答が空の場合は、次のように読み分けます。

| 結果 | 分かること | 次に確認する点 |
| --- | --- | --- |
| `status=completed`で本文あり | このリクエストのテキスト生成が完了した | 同じ接続設定をアプリへ移す |
| `status=incomplete`で`reason=max_output_tokens` | 出力上限に達して完了していない | `usage`を確認し、必要なら上限を増やして再実行する |
| `completed`なのに`output_text`が空 | 想定したテキストを取り出せていない | `output`全体を見て、メッセージの内容や拒否などを確認する |
| HTTPエラーが返る | リクエストがエラーとして扱われた | HTTP番号と`error.code`・`message`を一緒に読む |
| 接続エラーだけで応答がない | APIの応答を取得できていない | ネットワーク、プロキシ、DNS、タイムアウトを確認する |

出力不足で終わった場合も、入力や推論に使用料金が発生することがあります。空の本文を見て、無料で失敗した、あるいはAstraの権限がないと決めつけないことが大切です。

また、Responses APIのREST応答では、`output`に推論やツール呼び出しなど複数種類の項目が入ります。`output[0].content[0].text`の固定位置を読む実装は避けてください。上のPython例で使ったSDKの`output_text`は、テキストをまとめて取得するためのプロパティです。この違いは[公式のテキスト生成ガイド](https://developers.openai.com/api/docs/guides/text)に説明されています。

## エラーが出たら、再試行の前に原因を分類する

HTTP番号だけでは対処を決められないことがあります。特に429は、送信頻度が高い場合にも、残高や支出上限の問題でも返ります。[公式エラー一覧](https://developers.openai.com/api/docs/guides/error-codes)に従い、返された本文を確認してください。

| 表示・症状 | 最初に行うこと |
| --- | --- |
| 401 | キーが正しいか、所属する組織が一致するかを確認する。IP許可リストの制限を示す本文なら送信元も確認する |
| 403で国・地域に関する説明がある | 実行場所と対応国一覧を照合する |
| モデルが存在しない、または利用できないという説明 | `gpt-6-astra`の綴り、接続先、キーの所属プロジェクト、モデルの利用権限を確認する |
| 400でパラメーター名が示される | その設定項目を公式ガイドと照合する。`service_tier`ならプロジェクトで許可された処理区分も確認する |
| 429で`credit_balance_exhausted` | API組織の前払い残高を確認する |
| 429で`project_spend_limit_exceeded`や`organization_spend_limit_exceeded` | 該当するプロジェクト・組織の支出上限を管理者と確認する |
| 429で`organization_usage_limit_exceeded` | OpenAIから割り当てられた組織の使用上限を確認する |
| 429で頻度制限、または`slow_down` | 送信頻度を下げ、`Retry-After`があれば従う |
| 503で`server_is_overloaded` | `Retry-After`があれば従い、時間を置いて再試行する |

モデルの利用に関するエラーが出ても、その一件だけで「まだAPIが公開されていない」とは判断できません。API自体は提供開始済みなので、まずそのリクエストが使っているプロジェクトと設定を確かめます。請求・上限・権限の問題は、同じリクエストを繰り返すだけでは解決しません。

管理者やサポートへ相談する場合は、実行日時とタイムゾーン、対象プロジェクト、モデルID、HTTP番号、エラー本文、取得できた`request_id`をまとめます。これにより「Astraが動かない」という説明だけよりも、調査対象を絞れます。継続運用時の送信量を調整したい場合は、[OpenAI APIのレート制限と対処法](https://blog.laozhang.ai/ja/posts/openai-api-rate-limit)を参照してください。

## 単独の実行例が成功したら、アプリの設定を戻していく

同じキーで上の例が成功し、既存アプリだけが失敗するなら、まず送信内容の差分を調べます。Astraへの変更では、モデル名の置き換えだけでは不十分な場合があります。公式ガイドは、次の変更を求めています。[移行時の設定一覧](https://developers.openai.com/api/docs/guides/latest-model#migration-quickstart)を手元の実装と照合してください。

- `temperature`、`top_p`、`top_logprobs`を送らないようにします。共通の初期値やミドルウェアが追加していないかも確認します。
- Chat Completionsでは`logprobs`を外します。Responsesでは`include`の`message.output_text.logprobs`を外します。
- Responsesでは`reasoning.effort`、Chat Completionsでは`reasoning_effort`を使います。既存値が`none`や`minimal`なら、まず`low`で確認します。
- ツールを呼び出すアプリはResponses APIを使います。テキストだけのChat Completions対応を、ツール対応まで含むと解釈しないでください。

EUのデータレジデンシーを利用するプロジェクトでは、Astraの`fast`と`priority`は非対応で、Standard処理を使います。日本語のアプリかどうかではなく、対象プロジェクトの設定に応じて判断します。

![成功した単独の呼び出しを基準にアプリ設定を照合し、会話履歴とツールを順番に戻す概念図](https://blog.laozhang.ai/posts/ja/gpt-6-astra-api-access/img/minimal-call-to-app.webp)

まず短いテキスト生成をアプリ内で再現し、その後、会話履歴やツールなどを必要な順に戻します。各変更で、接続先、キーの所属プロジェクト、モデルID、推論設定、出力の取り出し方を記録しておくと、どこで挙動が変わったか追えます。

第三者の互換APIを使う場合は、そのサービスの接続先、キー、モデル名、対応パラメーター、請求条件で改めて確認します。互換API経由の成功は、そのサービスでの利用を確認した結果です。OpenAIのAPIプロジェクトに同じ権限があることまでは示しません。

最初の応答を取得できたら、次は実際の入力と`usage`で費用を見積もります。長い入力やキャッシュを含む料金の確認は、[GPT-6 AstraのAPI料金ガイド](https://blog.laozhang.ai/ja/posts/gpt-6-astra-api-pricing)で扱っています。

## 参考資料

本文で参照している外部ページを、登場順に並べています。最終更新日：2026-10-08。

- [OpenAI公式の最新案内](https://www.threads.com/@openai/post/Dc4YdbEjP4d/gpt-astra-is-now-available-to-all-pro-enterprise-and-business-premium-users-in/) (threads.com)
- [OpenAIの権限説明](https://learn.chatgpt.com/docs/enterprise/workspace-model-availability) (learn.chatgpt.com)
- [OpenAI API Platform](https://platform.openai.com/) (platform.openai.com)
- [GPT-6 Astraの公式モデルページ](https://developers.openai.com/api/docs/models/gpt-6-astra) (developers.openai.com)
- [OpenAI APIの対応国一覧](https://developers.openai.com/api/docs/supported-countries) (developers.openai.com)
- [公式クイックスタート](https://developers.openai.com/api/docs/quickstart) (developers.openai.com)
- [公式の利用ガイド](https://developers.openai.com/api/docs/guides/latest-model) (developers.openai.com)
- [推論モデルの出力上限の説明](https://developers.openai.com/api/docs/guides/reasoning) (developers.openai.com)
- [公式のテキスト生成ガイド](https://developers.openai.com/api/docs/guides/text) (developers.openai.com)
- [公式エラー一覧](https://developers.openai.com/api/docs/guides/error-codes) (developers.openai.com)
