Как исправить ошибку "User location is not supported for the API use." в Gemini API
При работе с Gemini API можно столкнуться с ошибкой User location is not supported for the API use., которая останавливает работу скрипта даже когда ключ правильный и код написан верно.
Как выглядит ошибка
google.genai.errors.ClientError: 400 FAILED_PRECONDITION.
{'error': {'code': 400, 'message': 'User location is not supported for the API use.', 'status': 'FAILED_PRECONDITION'}}
Или при проверке через curl:
curl "https://generativelanguage.googleapis.com/v1beta/models?key=ВАШ_КЛЮЧ"
{
"error": {
"code": 400,
"message": "User location is not supported for the API use.",
"status": "FAILED_PRECONDITION"
}
}
Пример ошибки при запросе с российского ip:
Ошибка FAILED_PRECONDITION с сообщением User location is not supported for the API use означает что Google заблокировал запрос из-за региона.
Быстрое решение:
1. Убедитесь, что ipv4 с которого отправляется запрос принадлежит к поддерживаемому региону
2. Если не принадлежит, то поменяйте его
3. Отключите Ipv6
Полезные материалы:
Список регионов, из которых доступен Gemini API
Проверить локацию ip
VPS в Нидерландах с которого работает Gemini API
Почему возникает ошибка
1. ip адрес
Gemini API проверяет ip-адрес, с которого отправляется запрос.
Если ip-адрес будет находиться в неподдерживаемом регионе, то API будет возвращать эту ошибку.
Например Россия не входит в список поддерживаемых регионов Gemini API и при запросе с российского сервера API возвращает ошибку.
Проверить локацию ip можно на сайте https://check-host.net/ip-info.
2. включенный ipv6
В первом пункте имелся ввиду ipv4 адрес, если на сервере (или на компьютере) включен ещё ipv6 адрес, то его требуется отключить.
Часто это помогает при доступе к Gemini и другим сервисам Google.
Решение "User location is not supported for the API use."
Для решения ошибки "User location is not supported for the API use." требуется изменить регион, с которого отправляется запрос.
Вы можете настроить прокси, либо выполнять запросы с VPS - виртуального сервера, который находится в регионе, который поддерживает Gemini API. Например Нидерланды.
Если вам требуется сервер для работы с Gemini AI, то вы можете его купить от 299р тут -> litents - купить vps
Подключитесь к виртуальному серверу, выполните
curl "https://generativelanguage.googleapis.com/v1beta/models?key=ВАШ_НОВЫЙ_КЛЮЧ"
Если пришёл JSON со списком моделей, то всё работает:
{
"models": [
{
"name": "models/gemini-2.0-flash",
...
}
]
}
Пример ответа с серверов litnets.com: Gemini API работает и возвращает список доступных моделей, значит сервер можно использовать для работы с API.
Затем проверьте первый запрос из Python:
import os
from google import genai
client = genai.Client(api_key=os.environ["GEMINI_API_KEY"])
response = client.models.generate_content(
model="gemini-2.0-flash",
contents="Что такое VPS"
)
print(response.text)
Пример ответа с сервера litnets.com в Нидерландах.
Запрос прошел и вернулся ответ от Gemini API.
Более подробно настройку, выпуск ключей и работу с Gemini API на VPS разбирали в статье VPS для Gemini API: установка, получение API-ключа, установка, первый запуск.
Частые вопросы
Влияет ли регион, в котором зарегистрирован аккаунт?
Возможно влияет. В результате тестов не удалось понять влияет ли регион, в некоторых случаях запрос проходил при ключе, сгенерированном на аккаунте, который был зарегистрирован в неподдерживаемом регионе, в некоторых не проходил.
Влияет ли IP сервера на эту ошибку?
Да, влияет. При аутентификации с одним и тем же ключом и аккаунтом на сервере с ip страны, которая поддерживает Gemini API запрос проходил, с другого нет.
Бесплатный уровень Gemini API доступен после исправления?
Да. Бесплатный тир с моделями gemini-2.0-flash доступен без привязки карты.
VPS в Нидерландах для запуска Gemini API и других проектов доступны на litnets.com от 299 ₽/месяц.
Tариф Custom
Windows OS доступны с минимальными характеристиками: 2 vCPU, 2 GB RAM, и 20 GB SSD
Цена:
1vCPU - 180₽ (1 бесплатно)
1GB RAM - 230₽
1GB SSD - 15₽
1 ipv4 - 200₽ (1 бесплатно)