hljs json{
"error": {
"code": 400,
"message": "User location is not supported for the API use.",
"status": "FAILED_PRECONDITION"
}
}
Este es el error 400 FAILED_PRECONDITION de la API de Gemini con el mensaje "User location is not supported for the API use.". Google lo devuelve cuando la solicitud llega desde un país o territorio donde Google AI Studio y la API de Gemini no se ofrecen, o cuando la cuenta o el proyecto no cumplen un requisito previo, como tener la facturación activa donde se exige. No es un límite de cuota: esperar o reintentar no lo resuelve; hay que identificar cuál de las dos condiciones falla.
FAILED_PRECONDITION es el estado que usa la API de Gemini para decir que la petición está bien formada, pero que algo alrededor de ella (ubicación, cuenta, facturación) impide procesarla. La tabla de abajo separa las causas conocidas a 30 de septiembre de 2026, según la lista de regiones disponibles y la referencia de errores de la API de Google.
Causas del 400 FAILED_PRECONDITION y qué hacer en cada caso
La causa se identifica mirando desde dónde sale la solicitud y en qué estado está el proyecto, no cambiando el código de la llamada.
| Causa (a 30 de septiembre de 2026) | Cómo reconocerla | Qué hacer |
|---|---|---|
| Estás en un país o territorio no admitido | Tu país no figura en la lista de regiones de Google; China continental, Hong Kong y Rusia no aparecen | No hay arreglo dentro de la API de Gemini. Google propone la API de Gemini en Agent Platform de Gemini Enterprise, con sus propias condiciones |
| El servidor o la función en la nube se ejecuta en una región no admitida | Desde tu equipo la llamada funciona y desde producción falla, o al revés | Revisa la región configurada en el proveedor y mueve la llamada del lado del servidor a una región admitida en la que tengas derecho a operar |
| Falta un requisito de facturación o de cuenta | El error aparece al usar un proyecto nuevo o una clave nueva; existe una variante antigua que menciona "billing account" | Revisa el estado de facturación del proyecto en AI Studio y actívala si tu caso lo exige |
| Edad o verificación de la cuenta de Google | AI Studio muestra la página de regiones disponibles aunque estés en un país admitido | Verifica la edad en tu cuenta de Google; el servicio exige 18 años o más |
| Lo muestra una herramienta, no tu código | Gemini CLI, Antigravity u otra app enseña el mensaje en mayúsculas o dentro de su propio aviso | Aplica las mismas comprobaciones a la cuenta, la clave y la red que usa esa herramienta |
España, México, Argentina y Colombia figuran en la lista de regiones a 30 de septiembre de 2026 (página actualizada el 29 de abril de 2026). Si escribes desde uno de esos países y ves el error, lo más probable es que la solicitud no salga de donde crees o que el proyecto no cumpla un requisito, y ahí es donde conviene empezar.
Cómo leer el cuerpo completo del error
El cuerpo JSON completo dice qué estado devolvió Google y con qué mensaje exacto; muchas librerías y herramientas lo recortan y dejan solo "400 Bad Request". Con curl ves la respuesta sin intermediarios:
hljs bashcurl -sS \
"https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash:generateContent" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contents":[{"parts":[{"text":"hola"}]}]}' \
-w "\nHTTP %{http_code}\n"
En Python, con el SDK google-genai, la excepción APIError trae el código, el estado y el mensaje por separado:
hljs pythonfrom google import genai
from google.genai import errors
client = genai.Client() # lee GEMINI_API_KEY del entorno
try:
respuesta = client.models.generate_content(
model="gemini-2.5-flash",
contents="hola",
)
print(respuesta.text)
except errors.APIError as e:
print(e.code, e.status) # 400 FAILED_PRECONDITION
print(e.message) # User location is not supported for the API use.
Ejecuta la misma prueba en dos sitios: en tu equipo y en el servidor donde corre la aplicación. Si el resultado cambia entre ambos, la causa está en la ubicación de salida; si falla igual en los dos, mira primero la cuenta y el proyecto.
El texto tiene variantes según quién lo muestre:
- Respuesta directa de la API:
"message": "User location is not supported for the API use."con"status": "FAILED_PRECONDITION". - Gemini CLI (informe en GitHub, 26 de junio de 2025):
[API ERROR: USER LOCATION IS NOT SUPPORTED FOR THE API USE. (STATUS: FAILED_PRECONDITION)]. - Variante de 2024 recogida en Stack Overflow: "User location is not supported for the API use without a billing account linked", que apunta directamente a la facturación.
País o territorio no admitido: la lista de Google y la alternativa oficial
Si tu país no aparece en la lista de regiones disponibles para Google AI Studio y la API de Gemini, el error es la respuesta prevista y no tiene arreglo técnico dentro de esa API. A 30 de septiembre de 2026, China continental, Hong Kong y Rusia no están en la lista; España, México, Argentina y Colombia sí.
La alternativa que indica Google para quien está fuera de esas regiones es la API de Gemini en Agent Platform de Gemini Enterprise, un producto de Google Cloud con su propia facturación, condiciones y disponibilidad por región. Revisa esas condiciones para tu país antes de migrar el código.
Una VPN o un proxy para aparentar otra ubicación no es una solución. Las condiciones de Google dependen de dónde estás tú y de dónde están tus usuarios, y ocultar la ubicación no cambia eso. Lo contrario sí es un paso legítimo: si estás en un país admitido y tu tráfico sale por una VPN corporativa o un proxy con salida en otro país, desactívalo o pide al equipo de red que la conexión salga desde tu ubicación real, y repite la prueba.
Tu servidor o función en la nube está en otra región
Cuando el código se ejecuta en un servidor, Google ve la ubicación del servidor, no la de la persona que usa tu aplicación. Por eso es habitual que la misma clave funcione en local y falle en producción, o al revés.
- Localiza dónde se ejecuta la llamada a la API de Gemini: servidor propio, contenedor, función serverless o función de borde (edge).
- Busca la región configurada en el panel del proveedor o en el archivo de despliegue; en las funciones de borde, la región puede variar según el visitante.
- Si esa región está en un país no admitido, fija la función que llama a Gemini en una región admitida en la que tengas derecho a operar tu servicio.
- Vuelve a lanzar la prueba de
curldesde ese entorno y comprueba que responde 200.
Alojar el servidor en una región admitida es normal cuando tu servicio y tus usuarios pueden usar la API de Gemini según las condiciones de Google. No sirve como puente para dar acceso a personas que están en países donde el servicio no se ofrece.
Facturación y nivel gratuito del proyecto
La referencia de errores de Google describe el 400 FAILED_PRECONDITION como una solicitud que no se puede procesar "porque no se cumple un requisito previo (por ejemplo, la facturación está inhabilitada)", y recomienda verificar "el estado de facturación del proyecto o los requisitos previos de la cuenta". Es la segunda causa a revisar cuando la ubicación está bien.
A 30 de septiembre de 2026, la página de facturación indica que los niveles gratuito y de pago están disponibles en muchas regiones, incluidos el Espacio Económico Europeo, el Reino Unido y Suiza. La variante de 2024 que mencionaba "without a billing account linked" pertenece a una etapa anterior; si hoy la ves, trátala como un problema de facturación del proyecto.
Qué revisar:
- En Google AI Studio, abre la configuración de facturación del proyecto al que pertenece la clave y confirma que la facturación está activa si usas modelos o volúmenes que la exigen. El botón es "Set up billing"; el prepago mínimo es de 5 $ a 30 de septiembre de 2026.
- Comprueba que la clave es del proyecto que crees. Los límites y la facturación se aplican por proyecto, no por clave, así que una clave de otro proyecto hereda otro estado.
- Si el saldo prepago llega a 0 $, la API responde con 402, no con 400; un 402 indica recarga, no ubicación.
Qué modelos entran en el nivel gratuito y qué cupos tiene cada uno está en Gemini API gratis: qué límites tiene y qué hacer al agotarlos.
Edad y verificación de la cuenta de Google
Google AI Studio exige tener 18 años o más y, en algunas cuentas, haber verificado la edad en la cuenta de Google. Cuando no se cumple, AI Studio lleva a su página de regiones disponibles, que enumera tres motivos: el servicio no está disponible en tu región, no cumples la edad mínima o todavía no has verificado la edad en tu cuenta de Google.
Si estás en un país admitido y ves esa página, entra en la configuración de tu cuenta de Google, completa la verificación de edad y vuelve a crear o probar la clave.
Gemini CLI, Antigravity y otras aplicaciones
Gemini CLI, Antigravity y las integraciones de terceros llaman a la misma API, así que muestran el mismo error con otro formato. En Gemini CLI aparece como [API ERROR: USER LOCATION IS NOT SUPPORTED FOR THE API USE. (STATUS: FAILED_PRECONDITION)]; en otras herramientas puede mostrarse como "HTTP 400 FAILED_PRECONDITION" sin el resto del texto.
Las comprobaciones son las mismas, aplicadas a lo que usa la herramienta:
- Qué cuenta de Google o qué clave tiene configurada (a veces no es la que usas en AI Studio).
- Por qué red sale: una VPN del sistema o un proxy definido en variables de entorno afecta a la CLI aunque el navegador no lo use.
- En apps de terceros que llaman a Gemini desde sus propios servidores, la ubicación que cuenta puede ser la de esos servidores; en ese caso el aviso corresponde al proveedor de la app.
En los foros hay informes con fecha que no encajan con un cambio de ubicación: en el foro de desarrolladores de Google, el 26 de junio de 2026, alguien vio aparecer el error sin haber cambiado ni la VPN ni la IP; en la Ayuda de Google, el 16 de febrero de 2026, una clave nueva devolvía el error mientras una antigua seguía funcionando. Son casos individuales, pero indican que el proyecto y la clave también pesan. Si te pasa algo parecido, compara a qué proyecto pertenece cada clave y el estado de facturación de cada uno antes de tocar la red.
No es un error de cuota: 400, 403 y 429 no significan lo mismo
El 400 FAILED_PRECONDITION indica que falta una condición (ubicación, cuenta o facturación), y reintentar con espera no lo cambia. Los errores de cuota y de permisos tienen otros códigos:
| Código y estado (referencia de errores de Google, a 30 de septiembre de 2026) | Qué indica según Google | Siguiente paso |
|---|---|---|
400 FAILED_PRECONDITION | No se cumple un requisito previo; Google pone como ejemplo la facturación inhabilitada, y el mensaje de ubicación usa este mismo estado | Revisar ubicación de salida, cuenta y facturación del proyecto |
403 PERMISSION_DENIED | La clave de API no tiene permiso para ese recurso | Revisar los permisos de la clave y el acceso al proyecto |
429 RESOURCE_EXHAUSTED | Se superó un límite de solicitudes o de tokens por minuto, o la cuota diaria | Esperar al reinicio, reducir el ritmo o subir de nivel |
| 402 | El saldo prepago está en 0 $ | Recargar el saldo |
Si lo que ves es un 403, el problema está en la clave o en el proyecto; los pasos para crearla y dar acceso están en la guía Failed to create interaction: permission denied en AI Studio.
Lista de comprobación antes de pedir ayuda
Si después de revisar lo anterior el error sigue, reúne estos datos antes de escribir en el foro de desarrolladores de Google AI o en la Ayuda de Google; con ellos se puede diagnosticar sin idas y vueltas:
- El cuerpo JSON completo del error, copiado tal cual (código, estado y mensaje).
- El país desde el que haces la llamada y si hay VPN, proxy o red corporativa de por medio.
- Dónde se ejecuta el código: equipo local, servidor o función en la nube, y su región.
- El ID del proyecto al que pertenece la clave y si la facturación está activa.
- Si una clave de otro proyecto funciona desde el mismo sitio.
- Si Google AI Studio abre con normalidad con la misma cuenta, o te lleva a la página de regiones disponibles.
- La fecha y hora aproximada de la primera vez que apareció el error y qué cambió ese día (despliegue, clave nueva, cambio de red).
No publiques la clave de API en el foro; basta con indicar a qué proyecto pertenece.
Preguntas frecuentes
¿Por qué me sale "User location is not supported" si estoy en España?
España está en la lista de regiones de la API de Gemini a 30 de septiembre de 2026, así que el país no es la causa. Revisa, por este orden: si tu tráfico sale por una VPN o un proxy con salida en otro país, en qué región se ejecuta tu servidor, el estado de facturación del proyecto y la verificación de edad de tu cuenta de Google.
¿Una clave nueva puede fallar mientras la antigua funciona?
Sí, hay informes de ese caso en la Ayuda de Google (16 de febrero de 2026). La diferencia suele estar en el proyecto al que pertenece cada clave, no en la clave en sí: comprueba que la nueva está en el mismo proyecto que la que funciona y que ese proyecto tiene la facturación en el estado que necesitas.
¿Esperar un rato hace que desaparezca?
No. El 400 FAILED_PRECONDITION no es un límite de ritmo como el 429, y reintentar sin cambiar nada devuelve lo mismo. Solo desaparece cuando cambia la condición que falta: la ubicación de salida, la facturación o la verificación de la cuenta.
¿Qué hago si mi país no está en la lista?
La API de Gemini de Google AI Studio no está disponible para ti mientras tu país no figure en la lista. La alternativa que indica Google es la API de Gemini en Agent Platform de Gemini Enterprise, que se contrata en Google Cloud con sus propias condiciones; revisa su disponibilidad para tu país antes de adaptar el código.



