코드 3줄을 업데이트하고 Gemini API 키를 사용하여 REST API와 함께 OpenAI 라이브러리 (Python 및 TypeScript/JavaScript)를 통해 Gemini 모델에 액세스할 수 있습니다. 아직 OpenAI 라이브러리를 사용하고 있지 않다면 Gemini API를 직접 호출하는 것이 좋습니다.
Python
from openai import OpenAI
client = OpenAI(
api_key="GEMINI_API_KEY",
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
response = client.chat.completions.create(
model="gemini-3.6-flash",
messages=[
{ "role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Explain to me how AI works"
}
]
)
print(response.choices[0].message)
자바스크립트
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: "GEMINI_API_KEY",
baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/"
});
const response = await openai.chat.completions.create({
model: "gemini-3.6-flash",
messages: [
{ role: "system",
content: "You are a helpful assistant."
},
{
role: "user",
content: "Explain to me how AI works",
},
],
});
console.log(response.choices[0].message);
REST
curl "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $GEMINI_API_KEY" \
-d '{
"model": "gemini-3.6-flash",
"messages": [
{
"role": "user",
"content": "Explain to me how AI works"
}
]
}'
변경사항 단 3줄이면 됩니다.
api_key="GEMINI_API_KEY": Google AI Studio에서 가져올 수 있는 실제 Gemini API 키로 'GEMINI_API_KEY'를 바꿉니다.base_url="https://generativelanguage.googleapis.com/v1beta/openai/": OpenAI 라이브러리에 기본 URL 대신 Gemini API 엔드포인트에 요청을 전송하도록 지시합니다.model="gemini-3.6-flash": 호환되는 Gemini 모델을 선택합니다.
사고
Gemini 모델은 복잡한 문제를 해결하도록 학습되어 추론 능력이 크게 향상되었습니다. Gemini API에는 모델이 얼마나 사고할지 세부적으로 제어할 수 있는 사고 파라미터가 제공됩니다.
Gemini 모델마다 추론 구성이 다릅니다. OpenAI의 추론 노력과 어떻게 매핑되는지 다음을 참고하세요.
reasoning_effort (OpenAI) |
thinking_level (Gemini 3.1 Pro) |
thinking_level (Gemini 3.1 Flash-Lite) |
thinking_level (Gemini 3 Flash) |
thinking_budget (Gemini 2.5) |
|---|---|---|---|---|
minimal |
low |
minimal |
minimal |
1,024 |
low |
low |
low |
low |
1,024 |
medium |
medium |
medium |
medium |
8,192 |
high |
high |
high |
high |
24,576 |
reasoning_effort가 지정되지 않으면 Gemini는 모델의 기본 수준 또는 예산을 사용합니다.
사고를 사용 중지하려면 2.5 모델의 경우 reasoning_effort를 "none"로 설정하면 됩니다. Gemini 2.5 Pro 또는 3 모델에서는 추론을 사용 중지할 수 없습니다.
Python
from openai import OpenAI
client = OpenAI(
api_key="GEMINI_API_KEY",
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
response = client.chat.completions.create(
model="gemini-3.6-flash",
reasoning_effort="low",
messages=[
{ "role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Explain to me how AI works"
}
]
)
print(response.choices[0].message)
자바스크립트
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: "GEMINI_API_KEY",
baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/"
});
const response = await openai.chat.completions.create({
model: "gemini-3.6-flash",
reasoning_effort: "low",
messages: [
{ role: "system",
content: "You are a helpful assistant."
},
{
role: "user",
content: "Explain to me how AI works",
},
],
});
console.log(response.choices[0].message);
REST
curl "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $GEMINI_API_KEY" \
-d '{
"model": "gemini-3.6-flash",
"reasoning_effort": "low",
"messages": [
{
"role": "user",
"content": "Explain to me how AI works"
}
]
}'
Gemini 사고 모델은 사고 요약도 생성합니다.
extra_body 필드를 사용하여 요청에 Gemini 필드를 포함할 수 있습니다.
reasoning_effort와 thinking_level/thinking_budget는 기능이 중복되므로 동시에 사용할 수 없습니다.
Python
from openai import OpenAI
client = OpenAI(
api_key="GEMINI_API_KEY",
base_url="https://generativelanguage.googleapis.com/v1beta/openai/"
)
response = client.chat.completions.create(
model="gemini-3.6-flash",
messages=[{"role": "user", "content": "Explain to me how AI works"}],
extra_body={
'extra_body': {
"google": {
"thinking_config": {
"thinking_level": "low",
"include_thoughts": True
}
}
}
}
)
print(response.choices[0].message)
자바스크립트
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: "GEMINI_API_KEY",
baseURL: "https://generativelanguage.googleapis.com/v1beta/openai/"
});
const response = await openai.chat.completions.create({
model: "gemini-3.6-flash",
messages: [{role: "user", content: "Explain to me how AI works",}],
extra_body: {
"google": {