Skip to Content
APIНативный протокол GeminiGenerate Content

Generate Content

Вызов моделей Google Gemini через нативный протокол 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="Напиши статью об ИИ" ) 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 поле tokenCount для modality: IMAGE отражает токены, израсходованные на вывод изображения

Поддерживаемые модели

В таблице ниже перечислены только наиболее частые варианты. Полный список доступных моделей см.:

  • Программный API: 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 — генерация и редактирование изображений

Протокол Gemini в OfoxAI поддерживает ключевые возможности Google GenAI SDK, включая Function Calling, Code Execution, Grounding, генерацию и редактирование изображений и другие.

Last updated on