User location is not supported for the API use. Решение ошибки Gemini API

Как исправить ошибку "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:

Ошибка User location is not supported for the API use

Ошибка 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.

Список моделей Gemini 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

Более подробно настройку, выпуск ключей и работу с Gemini API на VPS разбирали в статье VPS для Gemini API: установка, получение API-ключа, установка, первый запуск.

Частые вопросы

Влияет ли регион, в котором зарегистрирован аккаунт?

Возможно влияет. В результате тестов не удалось понять влияет ли регион, в некоторых случаях запрос проходил при ключе, сгенерированном на аккаунте, который был зарегистрирован в неподдерживаемом регионе, в некоторых не проходил.

Влияет ли IP сервера на эту ошибку?

Да, влияет. При аутентификации с одним и тем же ключом и аккаунтом на сервере с ip страны, которая поддерживает Gemini API запрос проходил, с другого нет.

Бесплатный уровень Gemini API доступен после исправления?

Да. Бесплатный тир с моделями gemini-2.0-flash доступен без привязки карты.

VPS в Нидерландах для запуска Gemini API и других проектов доступны на litnets.com от 299 ₽/месяц.

Lite
CPU
1x2.6Ghz
RAM
1GB DDR4
SSD
10GB NVMe
IP-адрес трафик
2 (ipv4, ipv6) port 1Gbit/s Unlimited
локация:
Операционная система:
Срок оплаты:
299₽
Basic
CPU
2x2.6Ghz
RAM
2GB DDR4
SSD
40GB NVMe
IP-адрес трафик
2 (ipv4, ipv6) port 1Gbit/s Unlimited
локация:
Операционная система:
Срок оплаты:
799₽
PRO
CPU
4x2.6Ghz
RAM
6GB DDR4
SSD
100GB NVMe
IP-адрес трафик
2 (ipv4, ipv6) port 1Gbit/s Unlimited
локация:
Операционная система:
Срок оплаты:
1288₽

Tариф Custom

Трафик: Unlimited 1Gbis/s port
Windows OS доступны с минимальными характеристиками: 2 vCPU, 2 GB RAM, и 20 GB SSD
Цена:
1vCPU - 180₽ (1 бесплатно)
1GB RAM - 230₽
1GB SSD - 15₽
1 ipv4 - 200₽ (1 бесплатно)
Соберите свой сервер:
2 vCPU
20GB RAM DDR4
20GB SSD NVMe
1 ipv4
Операционная система:
локация:
Срок оплаты:
1400₽