Gemini API позволяет подключать модели Google к собственным приложениям, сайтам, ботам и серверным сервисам. Сам API работает удалённо, поэтому устанавливать модель Gemini на VDS не требуется.
VDS в этой схеме нужен как сервер для вашего приложения. Он принимает запрос пользователя, отправляет его в Gemini API и возвращает полученный ответ.
Для большинства таких задач достаточно обычного VDS без видеокарты.
Для приложения, которое только отправляет запросы в Gemini API, требования к серверу обычно невысокие. Вам не нужна видеокарта и не требуется устанавливать большую языковую модель на диск.
Для небольшого проекта можно начать с конфигурации:
Если вы только купили сервер:
Подключитесь к серверу
Выполните подготовку сервера к работе
Если сервер используется не только для тестов, создайте отдельного пользователя:
adduser gemini
Добавьте его в группу sudo:
usermod -aG sudo gemini
После этого можно продолжать работу от отдельного пользователя:
su - gemini
Для небольшого теста этот шаг можно пропустить и использовать существующего пользователя.
Для обращения к Gemini API необходим API-ключ. Google предоставляет управление ключами через Google AI Studio.
Создайте ключ в разделе API Keys и сохраните его в безопасном месте: https://ai.google.dev/gemini-api/docs
Не вставляйте настоящий ключ непосредственно в исходный код.
Для создания API ключа потребуется зайти на сайт с ip страны, в которой поддерживается API
Создайте переменную окружения:
export GEMINI_API_KEY="ваш_ключ"
Проверьте, что она установлена:
echo $GEMINI_API_KEY
Если ключ выводится в терминале, переменная настроена правильно.
Однако хранить секрет таким способом удобно только для текущей сессии. После выхода из SSH переменная исчезнет.
Для постоянного приложения лучше использовать отдельный файл окружения или механизм управления секретами. Например, для простого проекта можно создать файл:
nano /etc/gemini.env
Добавьте:
GEMINI_API_KEY=ВАШ_API_КЛЮЧ
Ограничьте доступ к файлу:
chmod 600 /etc/gemini.env
Теперь прочитать его сможет только root.
Если приложение будет написано на Python, установите Python и необходимые инструменты:
apt install python3 python3-pip python3-venv -y
Создайте каталог приложения:
mkdir -p ~/gemini-app
cd ~/gemini-app
Создайте виртуальное окружение:
python3 -m venv venv
Активируйте его:
source venv/bin/activate
Теперь установите официальный пакет Google для работы с Gemini:
pip install -U google-genai
Официальная документация Gemini использует пакет google-genai для Python.
Перед написанием полноценного приложения можно проверить сам API отдельно.
Установите ключ:
export GEMINI_API_KEY="ВАШ_API_КЛЮЧ"
Теперь выполните тестовый запрос:
curl "https://generativelanguage.googleapis.com/v1beta/models/gemini-3.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"contents": [
{
"parts": [
{
"text": "Привет. Проверка работы"
}
]
}
]
}'
Если всё настроено правильно, в ответе вы получите JSON с результатом генерации.
Название модели в примере можно заменить на модель, доступную вашему проекту.
Доступные модели можно посмотреть по ссылке https://aistudio.google.com/docs/models
Создайте файл приложения:
nano app.py
Добавьте простой пример:
from google import genai
client = genai.Client()
chat = client.chats.create( model="gemini-3.5-flash-lite" )
response = chat.send_message(
message="Привет! Проверка связи."
)
print(response.text)
Запустите его:
python3 app.py
Если программа выводит ответ модели, основная часть настройки завершена.
На этом этапе VDS уже работает с Gemini API.
401 или ошибка авторизацииПроверьте API-ключ:
echo $GEMINI_API_KEY
Если переменная пустая, приложение не получило ключ.
Также проверьте, что ключ относится к нужному проекту и имеет необходимые ограничения.
400 User locaton is not supportes for API use
Есть список стран, для которых доступно использование API, если ip адрес сервера или аккаунт принадлежит другой стране, то может возникнуть ошибка User locaton is not supportes for API use. Попробуйте поменять ip сервера или использовать другой Google аккаунт
Gemini API ограничивает количество запросов и объём обрабатываемых токенов. Ограничения обычно учитываются по RPM, TPM и RPD, причём лимиты применяются на уровне проекта, а не отдельного API-ключа.
Если приложение отправляет много запросов одновременно, то происходит ограничение на стороне API.
В таком случае проверьте текущие лимиты проекта и добавьте обработку ошибок и повторных запросов с задержкой.