Google Cloud를 통한 OpenAI 모델 액세스는 현재 비공개 프리뷰 단계입니다. 프로젝트에서 모델을 사용하려면 액세스를 요청하세요.
Google Cloud를 통해 Gemini 플랫폼에서 OpenAI 모델을 사용할 수 있으며, 사용 요금은 Google Cloud 계정으로 청구됩니다. 모델은 Google Cloud의 보안 경계 내에서 실행되며, 조직은 Google Cloud IAM을 통해 액세스 권한을 관리합니다.
이 가이드에서는 Google Cloud를 통해 Responses API 요청을 보내는 방법과 Google Cloud에서 지원하는 기능이 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)"
액세스 토큰이 만료되면 이 명령어를 다시 실행하세요. 저장된 로그인 정보로 새 토큰을 받을 수 있습니다.
cURL 또는 OpenAI SDK를 사용해 요청을 보내세요. 이때 your-project-id를 자신의 프로젝트 ID로 바꾸세요.
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 모드 | 지원 | 지원 |
| 추론 강도 | 지원 | 지원 |
| 암호화된 추론 | 지원 | 지원 |
| 추론 요약 | 지원 | 미지원 |
도구 및 통합 | ||
| 클라이언트 측 함수 호출 | 지원 | 지원 |
| 병렬 도구 호출 | 지원 | 지원 |
| 구조화된 함수 인수 | 지원 | 지원 |
| 사용자 정의 도구 | 지원 | 자유 형식 입력 또는 정규식 제약 조건을 사용하는 경우 지원 |
| 클라이언트 측 도구 검색 | 지원 | 지원 |
| 클라이언트에서 실행하는 MCP 및 네임스페이스로 구분된 도구 | 지원 | 지원 |
| 클라이언트 측 셸 도구 | 지원 | 지원 |
| 호스팅형 웹 검색 | 지원 | 미지원 |
| 호스팅형 파일 검색 및 벡터 저장소 | 지원 | 미지원 |
| 호스팅 환경에서의 코드 실행 | 지원 | 미지원 |
| 서버 측 원격 MCP | 지원 | 미지원 |
문서 및 미디어 | ||
| PDF 텍스트 추출 | 지원 | 지원 |
| 인라인 이미지 입력 | 지원 | 지원 |
| 이미지 생성 | 지원 | 미지원 |
대화 상태 | ||
| 저장된 대화 이어가기 | 지원 | 지원 |
| 상태를 저장하지 않고 대화 이어가기 | 지원 | 지원 |
| 대화 컨텍스트 압축 | 지원 | 지원 |
| 명시적 프롬프트 캐시 제어 | 지원 | 지원 |
데이터 보존
프롬프트와 응답은 OpenAI 모델 학습에 사용되지 않습니다. 기본 보존 기간은 최대 30일입니다.
데이터 비보관(ZDR)이 필요하면 온보딩 중에 OpenAI 또는 Google Cloud 담당자에게 문의하고 지원 가능 여부를 확인받을 때까지 기다리세요. 요청에 store: false를 설정해도 ZDR은 활성화되지 않습니다.