Gemini 2.5 Flash
gemini-2.0-flash
Gemini 2.5 Flash — текстовая модель от Google, доступная через единый Ranvik API. Контекстное окно — 1M токенов. Максимум выходных токенов за один запрос — 8k. Поддерживаемые возможности: document_understanding, function_calling, streaming, vision, web_search.
от 21 ₽ / 1M
Технические характеристики
gemini-2.0-flashВозможности
Streaming (SSE)— Получение ответа по мере генерации — токен за токеном через Server-Sent Events.
Как работает
Передай stream: true в теле запроса — сервер вернёт SSE-поток с заголовком
content-type: text/event-stream. Каждый чанк — строка вида data: {...}\n\n.
Конец потока — data: [DONE]\n\n.
curl -N https://api.ranvik.ru/v1/chat/completions \
-H "Authorization: Bearer rk_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-5",
"messages": [{"role": "user", "content": "Привет"}],
"stream": true,
"stream_options": {"include_usage": true}
}'
Каждый чанк содержит choices[0].delta — частичные данные. Последний чанк перед
[DONE] (если включить stream_options.include_usage: true) содержит usage
с реальным числом токенов — используй для биллинг-учёта на клиенте.
Когда использовать
- Чат-интерфейсы, где важна перцептивная скорость отклика.
- Длинные ответы (> 1000 токенов) — пользователь видит прогресс.
- Streaming tool-calls —
delta.tool_calls[i].function.argumentsприходят инкрементально.
Когда НЕ использовать
- Backend-to-backend интеграции, где нужен только финальный JSON — добавляет парсинг SSE без выгод.
- Когда обязательно знать стоимость до отправки в БД — без
include_usageзатраты неизвестны.
Особенности у Google Gemini
Native Gemini API использует streamGenerateContent с другим форматом чанков.
В Ranvik проксируем через OpenAI-compatible слой — формат стандартный.
stream_options.include_usage поддерживается.
Vision (анализ изображений)— Картинки на вход вместе с текстом — OCR, распознавание объектов, описание сцен, анализ графиков.
Как передать изображение
Через массив content в сообщении вместо строки. Поддерживается URL и base64
(data URI).
{
"model": "gpt-5",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "Что на этой схеме?"},
{"type": "image_url", "image_url": {"url": "https://.../diagram.png"}}
]
}]
}
Для base64: "url": "data:image/png;base64,iVBOR...". Размер ограничен ~20MB.
Биллинг изображений
Картинка считается как input-токены — точное число зависит от размера и
detail. Грубо: 512×512 ≈ 250 токенов, 2048×2048 ≈ 1500. Минимизируй размер
если нужно много кадров.
Что НЕ умеют vision-модели
- Точные измерения (расстояния, размеры в пикселях).
- Распознавание текста на сложных шрифтах при низком DPI — лучше OCR-модель.
- Деанонимизация лиц / людей — модели отказываются.
Особенности у Google Gemini
Native Gemini принимает inlineData или fileData. Гемини выделяется
поддержкой видео и аудио на вход — модальности video и audio в content.
В /v1/chat/completions-shim используется формат OpenAI.
- Document Understanding
- Function Calling
- Streaming
- Vision
- Веб-поиск
Цены
| Единица | Цена |
|---|---|
| за 1М input | 21 ₽ |
| за 1М output | 84 ₽ |
| web_search | 9.8 ₽ |
Цены указаны в рублях. Списываются с баланса проекта при каждом успешном запросе.
Поддерживаемые параметры
Параметры передаются вендору как есть (pure proxy) — мы не валидируем их у себя на стороне. Если вендор не примет — вернётся его ошибка.
| Параметр | Тип | Диапазон / values | Default | Описание |
|---|---|---|---|---|
maxOutputTokens | integer | min: 1 · max: 65536 | 8192 | Максимум токенов в ответе. |
temperature | number | min: 0 · max: 2 | 1 | Креативность 0-2. |
topP | number | min: 0 · max: 1 | 0.95 | Nucleus sampling. |
topK | integer | min: 1 | — | Top-K sampling. |
candidateCount | integer | min: 1 · max: 8 | 1 | Количество вариантов ответа. |
stopSequences | array | — | — | Стоп-последовательности (макс 5). |
responseMimeType | enum | text/plain, application/json | text/plain | application/json для structured output. |
responseSchema | object | — | — | JSON Schema для структурированного ответа (требует responseMimeType=application/json). |
responseModalities | array | — | — | Модальности ответа: ["TEXT"], ["IMAGE"], ["AUDIO"], etc. |
thinkingConfig | object | — | — | {thinkingBudget:N} — для 2.5-pro / 3.x reasoning моделей. |
seed | integer | — | — | Для воспроизводимости. |
presencePenalty | number | min: -2 · max: 2 | — | Штраф за уже использованные токены. |
frequencyPenalty | number | min: -2 · max: 2 | — | Штраф за повторение токенов. |
responseLogprobs | boolean | — | false | Возвращать log-вероятности. |
logprobs | integer | min: 1 · max: 20 | — | Количество top-N logprobs. |
mediaResolution | enum | MEDIA_RESOLUTION_LOW, MEDIA_RESOLUTION_MEDIUM, MEDIA_RESOLUTION_HIGH | — | Разрешение обработки картинок/видео. |
tools | array | — | — | Function declarations / google_search / code_execution. |
toolConfig | object | — | — | {functionCallingConfig:{mode:"AUTO|ANY|NONE",allowedFunctionNames:[...]}}. |
safetySettings | array | — | — | Список {category, threshold} для блокировки harmful content. |
contentsrequired | array | — | — | Массив контента: история сообщений в формате Gemini. Каждый элемент — {role: "user"|"model", parts: [{text}|{inlineData}|{fileData}|{functionCall}|{functionResponse}|...]}. примеры значенийПримеры [
{
"role": "user",
"parts": [
{
"text": "Привет!"
}
]
}
] |
systemInstruction | object | — | — | System prompt — описание роли модели. Формат: {parts: [{text: "..."}]}. примеры значенийПримеры {
"parts": [
{
"text": "You are a helpful assistant."
}
]
} |
cachedContent | string | — | — | Имя кэшированного контента (для prompt caching через cachedContents API). Формат: cachedContents/{id}. |
Пример запроса
from openai import OpenAI
client = OpenAI(api_key="rk_live_...", base_url="https://api.ranvik.ru/v1")
resp = client.chat.completions.create(
model="gemini-2.0-flash",
messages=[{"role": "user", "content": "Привет!"}],
)
print(resp.choices[0].message.content)
# ── С веб-поиском ──
resp = client.chat.completions.create(
model="gemini-2.0-flash",
messages=[{"role": "user", "content": "Что нового в AI сегодня?"}],
tools=[{"type": "web_search"}],
)
print(resp.choices[0].message.content) Замените rk_live_... на ваш ключ из кабинета.
О провайдере: Google
Google DeepMind разрабатывает семейство моделей Gemini — мультимодальные LLM с нативной поддержкой текста, изображений, аудио и видео в одном запросе. Известны рекордно длинным контекстом (до 2M токенов).
Официальный сайт: https://deepmind.google
Документация модели у вендора: https://ai.google.dev/gemini-api/docs/models