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

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 實作一個簡單的 Web 伺服器"}] } ] }'

串流回應

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.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