Google Cloud 経由での OpenAI モデルの利用は、現在プライベートプレビューの段階です。プロジェクトで利用するには、アクセスを申請してください。
Google Cloud 経由で Gemini プラットフォーム上の OpenAI モデルを利用できます。利用料金は Google Cloud アカウントに請求されます。モデルは Google Cloud のセキュリティ境界内で動作し、モデルへのアクセスは各組織が Google Cloud IAM で管理します。
このガイドでは、Google Cloud 経由で Responses API にリクエストを送信する方法と、OpenAI が直接提供する API との対応機能の違いを説明します。
以下のモデルを利用できます。
| モデル | モデル ID |
|---|---|
| GPT-6 Luna | gpt-6-luna |
| GPT-6.1 Sol | gpt-6.1-sol |
| GPT-6.1 Terra | gpt-6.1-terra |
| GPT-6 Astra | gpt-6-astra |
事前準備
リクエストを送信する前に、Google Cloud 管理者が以下の手順を実施する必要があります。
- プロジェクトの課金を有効にし、プロジェクトの承認手続きを進めます。また、請求先管理者と連携して、マーケットプレイスのプライベート オファーを承諾する手続きを進めます。
- Vertex AI API(
aiplatform.googleapis.com)を有効にし、Model Garden でモデルの利用規約に同意してモデルを有効にします。 - 組織のポリシーでモデルへのアクセスを制限している場合は、そのポリシーで対象モデルへのアクセスを許可します。
- リクエストを送信するユーザーまたはサービス アカウントに、モデルを呼び出す権限を付与します。たとえば、
roles/aiplatform.userロールを割り当てます。
プロジェクトの準備ができたら、管理者にプロジェクト ID を確認してください。
初回の API 呼び出し
ローカル環境で開発する場合は、Google Cloud CLI をインストールし、プロジェクトへのアクセス権がある Google アカウントでログインします。
gcloud auth application-default login
リクエストを送信するターミナルで、アクセストークンを取得します。
export GOOGLE_CLOUD_ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
アクセストークンの有効期限が切れたら、このコマンドをもう一度実行します。保存済みのログイン情報を使って、新しいアクセストークンを取得できます。
your-project-id をご自身のプロジェクト ID に置き換え、cURL または OpenAI SDK を使ってリクエストを送信します。
PROJECT_ID="your-project-id"
PROJECT_URL="https://aiplatform.googleapis.com/v1/projects/$PROJECT_ID"
curl --fail-with-body "$PROJECT_URL/locations/global/publishers/openai/v1/responses" \
-H "Authorization: Bearer $GOOGLE_CLOUD_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-luna",
"input": "Write a one-sentence bedtime story about a unicorn.",
"store": false
}'ターミナルでアクセストークンを環境変数に設定する代わりに、Google の認証ライブラリで取得するには、Google のスタートガイドに従ってください。アプリケーションのデフォルト認証情報(ADC)の使い方と、API エラーのトラブルシューティングについて説明しています。
機能の対応状況
以下の表では、Google Cloud と OpenAI が直接提供する API で、利用できる機能を比較しています。
| 機能 | OpenAI API | Google Cloud |
|---|---|---|
API リクエスト | ||
| テキスト生成 | 対応 | 対応 |
| HTTP 経由のレスポンスのストリーミング(SSE) | 対応 | 対応 |
| Responses API エンドポイント | 対応 | 対応 |
| レスポンスのトークン使用量 | 対応 | 対応 |
| 入力トークン数を取得するエンドポイント | 対応 | 非対応 |
| Realtime の WebSocket 接続 | 対応 | 非対応 |
| バックグラウンドリクエスト | 対応 | 非対応 |
| バックグラウンドストリームの再開 | 対応 | 非対応 |
| Chat Completions API | 対応 | 非対応 |
| バッチ処理 | 対応 | 非対応 |
出力と推論 | ||
| JSON スキーマを使った構造化出力 | 対応 | 対応 |
| JSON モード | 対応 | 対応 |
| 推論強度 | 対応 | 対応 |
| 暗号化された推論 | 対応 | 対応 |
| 推論の要約 | 対応 | 非対応 |
ツールと外部連携 | ||
| クライアント側の Function Calling | 対応 | 対応 |
| ツールの並列呼び出し | 対応 | 対応 |
| 構造化された関数の引数 | 対応 | 対応 |
| カスタムツール | 対応 | 自由形式の入力、または正規表現で制約した入力に対応 |
| クライアント側のツール検索 | 対応 | 対応 |
| クライアント側で実行する MCP と名前空間付きツール | 対応 | 対応 |
| クライアント側のシェルツール | 対応 | 対応 |
| ホスト型ウェブ検索 | 対応 | 非対応 |
| ホスト型ファイル検索とベクトルストア | 対応 | 非対応 |
| ホスト環境でのコード実行 | 対応 | 非対応 |
| サーバー側のリモート MCP | 対応 | 非対応 |
ドキュメントとメディア | ||
| PDF からのテキスト抽出 | 対応 | 対応 |
| インライン画像入力 | 対応 | 対応 |
| 画像生成 | 対応 | 非対応 |
会話の状態 | ||
| 保存済みの会話の続行 | 対応 | 対応 |
| ステートレスでの会話の続行 | 対応 | 対応 |
| 会話のコンパクション | 対応 | 対応 |
| プロンプトキャッシュの明示的な制御 | 対応 | 対応 |
データ保持
プロンプトとレスポンスは、OpenAI モデルの学習には使用されません。デフォルトの保持期間は最長 30 日です。
ゼロデータ保持(ZDR)が必要な場合は、オンボーディング時に OpenAI または Google Cloud の担当者に連絡し、対応可能であるとの確認を待ってください。リクエストで store: false を設定しても、ZDR は有効になりません。