Skip to Content
APIGemini ネイティブプロトコル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 1つのエンドポイントが画像生成(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.candidatesTokensDetailsmodality: IMAGEtokenCount が画像出力で消費したトークン数です

対応モデル

下表は代表的な例のみを挙げています。利用可能モデルの完全リストは次を参照してください:

モデル説明
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