Generate Content
Gemini 네이티브 프로토콜로 Google Gemini 모델을 호출합니다. OfoxAI는 Google GenAI SDK와 호환됩니다.
엔드포인트
POST https://api.ofox.ai/gemini/v1beta/models/{model}:generateContent
POST https://api.ofox.ai/gemini/v1beta/models/{model}:streamGenerateContent인증
Gemini 프로토콜은 x-goog-api-key 헤더를 사용합니다:
x-goog-api-key: <당신의 OFOXAI_API_KEY>요청 예시
cURL
Terminal
curl "https://api.ofox.ai/gemini/v1beta/models/google/gemini-3.1-flash-lite-preview:generateContent" \
-H "x-goog-api-key: $OFOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"parts": [{"text": "Python으로 간단한 웹 서버를 구현해 주세요"}]
}
]
}'스트리밍 응답
Python
gemini_stream.py
response = client.models.generate_content_stream(
model="google/gemini-3.1-flash-lite-preview",
contents="AI에 관한 글을 한 편 써 주세요"
)
for chunk in response:
print(chunk.text, end="", flush=True)멀티모달 입력
Gemini는 이미지, 오디오, 비디오를 포함한 멀티모달 입력을 네이티브로 지원합니다:
import base64
# 이미지 분석
with open("photo.jpg", "rb") as f:
image_data = base64.b64encode(f.read()).decode()
response = client.models.generate_content(
model="google/gemini-3.1-flash-lite-preview",
contents=[
{"text": "이 이미지의 내용을 설명해 주세요"},
{"inline_data": {"mime_type": "image/jpeg", "data": image_data}}
]
)이미지 생성과 편집
Gemini 네이티브 프로토콜에서는 generateContent 단일 엔드포인트가 이미지 생성(text → image)과 편집(image + text → image)을 모두 담당합니다. 권장 모델은 google/gemini-3.1-flash-image-preview입니다.
POST https://api.ofox.ai/gemini/v1beta/models/google/gemini-3.1-flash-image-preview:generateContentOpenAI 호환 엔드포인트에서도 같은 모델로 이미지 생성이 가능합니다. 다만 이미지 편집 기능은 Gemini 네이티브 프로토콜에서만 사용할 수 있습니다.
이미지 생성:text → image
Python
gen.py
from google import genai
client = genai.Client(
api_key="YOUR_OFOX_API_KEY",
http_options={"api_version": "v1beta", "base_url": "https://api.ofox.ai/gemini"},
)
resp = client.models.generate_content(
model="google/gemini-3.1-flash-image-preview",
contents="A simple red apple on a white table, photorealistic",
)
for part in resp.candidates[0].content.parts:
if part.inline_data and part.inline_data.data:
with open("output.png", "wb") as f:
f.write(part.inline_data.data)
break실제 출력:

이미지 편집:image + text → image
원본 이미지를 inlineData로 텍스트 지시문과 함께 parts에 넣기만 하면 됩니다:
Python
edit.py
from google import genai
from google.genai import types
client = genai.Client(
api_key="YOUR_OFOX_API_KEY",
http_options={"api_version": "v1beta", "base_url": "https://api.ofox.ai/gemini"},
)
with open("apple.png", "rb") as f:
image_bytes = f.read()
resp = client.models.generate_content(
model="google/gemini-3.1-flash-image-preview",
contents=[
"사과를 초록색으로 바꾸고, 나머지는 그대로 두세요",
types.Part.from_bytes(data=image_bytes, mime_type="image/png"),
],
)
for part in resp.candidates[0].content.parts:
if part.inline_data and part.inline_data.data:
with open("apple_edited.png", "wb") as out:
out.write(part.inline_data.data)
break실제 비교:
| 원본 | 편집 후 |
|---|---|
![]() | ![]() |
응답
{
"candidates": [{
"content": {
"role": "model",
"parts": [
{ "text": "...", "thought": true },
{ "inlineData": { "mimeType": "image/png", "data": "<이미지 Base64>" } }
]
},
"finishReason": "STOP"
}],
"modelVersion": "google/gemini-3.1-flash-image-preview",
"usageMetadata": {
"promptTokenCount": 1097,
"candidatesTokenCount": 1120,
"thoughtsTokenCount": 1306,
"totalTokenCount": 3523,
"candidatesTokensDetails": [
{ "modality": "IMAGE", "tokenCount": 1120 }
]
}
}- 이미지는
candidates[0].content.parts[].inlineData.data에 있으며, Base64 문자열입니다 parts에는text+thought: true로 표시된 사고 과정이 섞여 있을 수 있으므로, 순회 시inlineData만 추출하세요usageMetadata.candidatesTokensDetails에서modality: IMAGE의tokenCount가 이미지 출력 소비량입니다
지원 모델
아래 표는 대표 모델만 나열한 것이며, 사용 가능한 전체 모델 목록은 다음에서 확인하세요:
- 프로그래밍 인터페이스:GET /gemini/v1beta/models — 게이트웨이에서 현재 계정으로 사용 가능한 모델을 실시간 조회
- 브라우징 페이지:모델 카탈로그 — 시각적 검색, 가격 정보 포함
| 모델 | 설명 |
|---|---|
google/gemini-3.1-pro-preview | Gemini 3.1 Pro — 최강 추론 능력 |
google/gemini-3-pro-preview | Gemini 3 Pro — 균형 잡힌 성능 |
google/gemini-3.1-flash-lite-preview | Gemini 3 Flash — 고속 가성비 |
google/gemini-3.1-flash-image-preview | Gemini Flash Image — 이미지 생성과 편집 |
OfoxAI의 Gemini 프로토콜은 Google GenAI SDK의 주요 기능(Function Calling, Code Execution, Grounding, 이미지 생성과 편집 등)을 지원합니다.
Last updated on
