Skip to Content
API 레퍼런스Gemini 네이티브 프로토콜Generate Content

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>

요청 예시

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으로 간단한 웹 서버를 구현해 주세요"}] } ] }'

스트리밍 응답

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:generateContent

OpenAI 호환 엔드포인트에서도 같은 모델로 이미지 생성이 가능합니다. 다만 이미지 편집 기능은 Gemini 네이티브 프로토콜에서만 사용할 수 있습니다.

이미지 생성:text → image

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

실제 출력:

Gemini 네이티브 프로토콜이 생성한 빨간 사과

이미지 편집:image + text → image

원본 이미지를 inlineData로 텍스트 지시문과 함께 parts에 넣기만 하면 됩니다:

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: IMAGEtokenCount가 이미지 출력 소비량입니다

지원 모델

아래 표는 대표 모델만 나열한 것이며, 사용 가능한 전체 모델 목록은 다음에서 확인하세요:

  • 프로그래밍 인터페이스:GET /gemini/v1beta/models — 게이트웨이에서 현재 계정으로 사용 가능한 모델을 실시간 조회
  • 브라우징 페이지:모델 카탈로그  — 시각적 검색, 가격 정보 포함
모델설명
google/gemini-3.1-pro-previewGemini 3.1 Pro — 최강 추론 능력
google/gemini-3-pro-previewGemini 3 Pro — 균형 잡힌 성능
google/gemini-3.1-flash-lite-previewGemini 3 Flash — 고속 가성비
google/gemini-3.1-flash-image-previewGemini Flash Image — 이미지 생성과 편집

OfoxAI의 Gemini 프로토콜은 Google GenAI SDK의 주요 기능(Function Calling, Code Execution, Grounding, 이미지 생성과 편집 등)을 지원합니다.

Last updated on