OpenAI SDK로 Gemini API 호출하기: base_url, 모델명, Gemini 3.5 Flash 가격 설정 방법
2026년 6월 14일 · 10분 읽기 · Claude / GPT / Gemini

Google의 OpenAI 호환 문서는 2026-05-18에 업데이트되었고, Gemini 모델을 OpenAI Python / JavaScript SDK로 호출할 수 있다고 명시했습니다. 핵심은 세 곳만 바꾸면 됩니다: api_key, base_url, model(Google). 오늘은 2026-06-14이며, 가격 페이지에서 gemini-3.5-flash의 표준 유료 티어 가격은 입력 $1.50 / 100 万 token, 출력은 thinking token 포함 $9.00 / 100 万 token입니다(Google Pricing).
제 판단은 아주 간단합니다. 이미 OpenAI SDK 프로젝트가 있다면 먼저 다시 작성하지 마세요. 우선 Gemini를 OpenAI-compatible backend로 붙여서 비용, 스트리밍, 도구 호출을 정상적으로 돌려 본 뒤, 네이티브 Gemini SDK로 옮길지 결정하면 됩니다.

1. 최소 변경: endpoint와 모델명만 교체
Python에서는 먼저 공식 OpenAI SDK를 설치합니다.
pip install openai
export GEMINI_API_KEY="你的 Gemini API Key"
그다음 클라이언트를 이렇게 바꿉니다.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["GEMINI_API_KEY"],
base_url="https://generativelanguage.googleapis.com/v1beta/openai/",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
reasoning_effort="low",
messages=[
{"role": "system", "content": "你是一个直接、准确的代码助手。"},
{"role": "user", "content": "用三句话解释 SSE 流式输出。"},
],
)
print(resp.choices[0].message.content)
chat.completions.create, messages, tools 같은 형태는 여전히 OpenAI Chat Completions 스타일입니다. OpenAI 자체 API 레퍼런스도 여전히 Chat Completions를 메시지 목록을 기반으로 응답을 생성하는 인터페이스로 정의합니다(OpenAI). 따라서 마이그레이션의 핵심은 비즈니스 코드가 아니라 설정 계층입니다.
2. base_url 끝의 슬래시를 빼먹지 마세요
Google 문서의 주소는 다음과 같습니다.
https://generativelanguage.googleapis.com/v1beta/openai/
마지막 /를 빠뜨리면 일부 클라이언트가 경로를 조합할 때 이상한 문제가 생길 수 있습니다. 프로덕션 코드에서는 환경 변수로 빼두는 것을 권장합니다.
OPENAI_BASE_URL="https://generativelanguage.googleapis.com/v1beta/openai/"
OPENAI_API_KEY="$GEMINI_API_KEY"
OPENAI_MODEL="gemini-3.5-flash"
여러 공급사의 계정, 한도, 청구 전환을 줄이고 싶다면 onehop이 더 간편한 경로입니다. base_url을 https://api.onehop.ai/v1로 바꾸면 동일한 OpenAI / Anthropic 호환 인터페이스에서 Claude, GPT, Gemini를 호출할 수 있습니다. 신규 계정에는 $10가 제공되며 카드 등록이 필요 없습니다. 먼저 PoC를 해본 뒤 공식 API에 직접 연결할지 판단하기에 적합합니다.
from openai import OpenAI
client = OpenAI(
api_key="你的 onehop key",
base_url="https://api.onehop.ai/v1",
)
resp = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "给我一个 FastAPI 健康检查接口"}],
)
print(resp.choices[0].message.content)
진입점은 여기입니다: onehop에서 Claude 등 모델 호출하기, 가입 즉시 $10 체험 크레딧 받기.
3. 가격은 먼저 출력 token 기준으로 계산하세요
gemini-3.5-flash 표준 티어는 “신경 쓰지 않아도 될 만큼 저렴한” 수준이 아닙니다. 출력 가격은 입력 가격의 6배입니다.
| 모델 | 티어 | 입력 / 100만 token | 출력 / 100만 token |
|---|---|---|---|
gemini-3.5-flash |
표준 | $1.50 |
$9.00 |
gemini-3.5-flash |
배치 | $0.75 |
$4.50 |
gemini-3.5-flash |
Flex | $0.75 |
$4.50 |
배치와 Flex의 숫자도 같은 Google 가격 페이지에서 가져온 것입니다. 애플리케이션을 작성할 때는 max_completion_tokens를 제한해야 합니다. 특히 요약, 코드 생성, Agent 도구 루프에서는 더욱 그렇습니다. 입력은 길어도 캐시할 수 있지만, 출력이 통제되지 않으면 그대로 비용이 타버립니다.

4. reasoning_effort는 어떻게 매핑되나
Google 호환 계층은 OpenAI 스타일의 reasoning_effort를 받으며, 이를 Gemini의 thinking 설정으로 매핑합니다(Google).
reasoning_effort |
Gemini 3 Flash thinking_level |
|---|---|
minimal |
minimal |
low |
low |
medium |
medium |
high |
high |
전달하지 않으면 모델 기본값을 사용합니다. Google 문서에는 중요한 제한도 적혀 있습니다. Gemini 3에서는 thinking을 끌 수 없으며, none은 일부 2.5 모델에만 적용됩니다. 제 추천은 온라인 기본값을 low로 두고, 복잡한 계획 수립이나 긴 체인의 도구 호출에서만 medium 또는 high로 올리는 것입니다. 출력 가격에는 thinking token이 포함되므로, 추론 강도는 무료로 돌릴 수 있는 손잡이가 아닙니다.
5. 스트리밍과 함수 호출: 사용할 수 있지만 빈 블록을 방어하세요
스트리밍 호출은 OpenAI SDK 작성 방식을 그대로 유지합니다.
stream = client.chat.completions.create(
model="gemini-3.5-flash",
messages=[{"role": "user", "content": "写一个 Redis 缓存封装"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
여기서 if delta는 매우 실용적입니다. 스트리밍 응답에는 역할, 도구 호출 또는 빈 증분이 포함될 수 있으므로, 모든 chunk에 텍스트가 있다고 가정하지 마세요.
함수 호출도 tools와 tool_choice="auto"를 사용합니다. Google 호환 문서는 날씨 함수 예시를 제공하며, Gemini API가 function calling을 지원한다고 확인합니다(Google). 실제 프로젝트에서는 모델 반환값을 출력만 하지 마세요. message.tool_calls를 확인하고, 로컬 함수를 실행한 뒤, 도구 결과를 다음 라운드 메시지로 모델에 다시 넣어야 합니다.
결론: Gemini로 이전하는 최소 비용은 설정 세 줄입니다. 실제로 주시해야 할 것은 출력 token, thinking 강도, 스트리밍의 빈 chunk, 도구 호출의 폐쇄 루프입니다. Claude, GPT, Gemini를 같은 OpenAI SDK 프로젝트에 빠르게 넣고 싶을 뿐이라면 onehop의 통합 진입점을 쓰는 편이 설정 시간을 꽤 줄여 줍니다: onehop에서 Claude 등 모델 호출하기, 또는 먼저 가입 즉시 $10 체험 크레딧 받기.
관련 글

OpenAI SDK로 Groq GPT-OSS 120B 사용하기: Base URL, 가격, 캐싱
OpenAI SDK의 base URL 한 줄만 바꿔 Groq에서 GPT-OSS 120B를 실행하고, 캐시 토큰 비용을 추정하며 도구 과금 이슈를 피하세요.
2026년 6월 17일 · 19분 읽기

OpenAI SDK로 Gemini API 호출하기: base_url, API Key, 모델명만 바꾸는 마이그레이션 튜토리얼
기존 OpenAI SDK 프로젝트를 위한 Gemini 호환 인터페이스 마이그레이션 체크리스트. 코드, 파라미터 매핑, 가격 포함.
2026년 6월 14일 · 9분 읽기

OpenAI SDK로 Gemini API 호출하기: base_url, key, 모델명만 바꾸는 연동 튜토리얼
기존 OpenAI SDK 코드로 Gemini를 연동할 때 최소 변경은 세 가지 설정이면 충분합니다.
2026년 6월 14일 · 9분 읽기