ДокументацияСправочник APIGemini API
Gemini API
Совместимые с Google Gemini эндпоинты — generateContent, streamGenerateContent, countTokens.
POST
/v1beta/models/{model}:generateContentЧат-эндпоинт, совместимый с телом запроса Google Gemini API. Имя модели и действие указываются в пути ({model}:generateContent); аутентификация через заголовок x-goog-api-key.
Официальный параметр Google ?key= не поддерживается — ключ передаётся только в заголовке x-goog-api-key (Google GenAI SDK использует его по умолчанию).
Тело запроса
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
contents | array | Да | Содержимое диалога: каждый элемент содержит role (user/model) и parts (текст или встроенные медиа). |
systemInstruction | object | Нет | Системный промпт ({ "parts": [{ "text": … }] }). |
generationConfig | object | Нет | Параметры генерации: temperature, maxOutputTokens и т. д. |
curl "https://api.soleapi.com/v1beta/models/gemini-2.5-pro:generateContent" \
-H "x-goog-api-key: $SOLEAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "Write a haiku about the sea"}]}]
}'Ответ
{
"candidates": [
{
"content": {
"parts": [{ "text": "Waves fold into foam..." }],
"role": "model"
},
"finishReason": "STOP"
}
],
"usageMetadata": {
"promptTokenCount": 14,
"candidatesTokenCount": 23,
"totalTokenCount": 37
}
}Потоковая генерация
POST
/v1beta/models/{model}:streamGenerateContentДобавьте ?alt=sse для потоковой передачи по SSE — каждая строка data: содержит фрагмент ответа; без alt=sse вернётся полный JSON-массив. См. Стриминг.
Подсчёт токенов
POST
/v1beta/models/{model}:countTokenscurl "https://api.soleapi.com/v1beta/models/gemini-2.5-pro:countTokens" \
-H "x-goog-api-key: $SOLEAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{"parts": [{"text": "Write a haiku about the sea"}]}]
}'
# => { "totalTokens": 14 }