TokenCode совместим с протоколом Google Gemini API. Вы можете напрямую использовать Google AI SDK или любой клиент, совместимый с протоколом Gemini.
https://tokencode.dev
Протокол Gemini использует URL-параметры для аутентификации:
Также поддерживается аутентификация через заголовки:
Совместимый с Gemini эндпоинт генерации контента.
curl "https://tokencode.dev/v1beta/models/gemini-2.5-pro:generateContent?key=sk-your-api-key" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"parts": [
{"text": "Объясните квантовые вычисления"}
]
}
],
"generationConfig": {
"temperature": 0.7,
"maxOutputTokens": 1024
}
}'
Параметры запроса:
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| contents | array | Да | Массив содержимого, включающий историю диалога |
| generationConfig | object | Нет | Конфигурация генерации |
| generationConfig.temperature | number | Нет | Температура сэмплирования (0-2) |
| generationConfig.maxOutputTokens | integer | Нет | Максимальное количество выходных Token |
| generationConfig.topP | number | Нет | Вероятность ядерного сэмплирования |
| generationConfig.topK | integer | Нет | Сэмплирование Top-K |
| generationConfig.stopSequences | array | Нет | Стоп-последовательности |
| systemInstruction | object | Нет | Системная инструкция |
| tools | array | Нет | Определения инструментов Function Calling |
Пример ответа:
{
"candidates": [
{
"content": {
"parts": [
{"text": "Квантовые вычисления — это метод использования принципов квантовой механики..."}
],
"role": "model"
},
"finishReason": "STOP",
"index": 0
}
],
"usageMetadata": {
"promptTokenCount": 25,
"candidatesTokenCount": 128,
"totalTokenCount": 153
},
"modelVersion": "gemini-2.5-pro"
}
Эндпоинт потоковой генерации контента.
curl "https://tokencode.dev/v1beta/models/gemini-2.5-pro:streamGenerateContent?key=sk-your-api-key&alt=sse" \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"parts": [
{"text": "Объясните квантовые вычисления"}
]
}
]
}'
Потоковый ответ использует формат SSE, каждое событие содержит часть сгенерированного контента.
Возвращает список доступных моделей Gemini.
curl "https://tokencode.dev/v1beta/models?key=sk-your-api-key"
При вызове не-Google моделей через эндпоинт протокола Gemini, TokenCode автоматически выполняет конвертацию протоколов:
import google.generativeai as genai
genai.configure(
api_key="sk-your-api-key",
client_options={"api_endpoint": "https://tokencode.dev"}
)
model = genai.GenerativeModel("gemini-2.5-pro")
response = model.generate_content("Привет!")
print(response.text)
const { GoogleGenerativeAI } = require("@google/generative-ai");
const genAI = new GoogleGenerativeAI("sk-your-api-key");
// Установка пользовательского base URL
const model = genAI.getGenerativeModel({ model: "gemini-2.5-pro" });
Gemini нативно поддерживает мультимодальный ввод:
model = genai.GenerativeModel("gemini-2.5-pro")
response = model.generate_content([
"Опишите это изображение",
{"inline_data": {"mime_type": "image/png", "data": "<base64-encoded-image>"}}
])
Ответы об ошибках соответствуют формату ошибок Gemini:
{
"error": {
"code": 400,
"message": "API key not valid",
"status": "INVALID_ARGUMENT"
}
}
| HTTP-статус | Значение |
|---|---|
| 400 | Неверные параметры запроса |
| 401 | Ошибка аутентификации |
| 403 | Недостаточно прав |
| 404 | Модель не найдена |
| 429 | Ограничение скорости или недостаточный баланс |
| 500 | Внутренняя ошибка сервера |