Ir al contenido principal

Cloud & IaaS — Solucionar el error "User location is not supported" en Gemini API

L
Escrito por Luciana Parente

Aplica a: Cloud Server y Servidores Dedicados · Tiempo estimado: 5 min


¿Qué vas a lograr?

Resolver el error 400 de restricción regional de la API de Gemini migrando a Google Vertex AI.


Por qué ocurre

Este error es frecuente al hacer peticiones a la API pública de Google AI Studio desde Cloud Servers o Servidores Dedicados ubicados en regiones con limitaciones:

{
"error": {
"code": 400,
"message": "User location is not supported for the API use.",
"status": "FAILED_PRECONDITION"
}
}

La solución es usar la API de Vertex AI a través de Google Cloud Platform, que ofrece mayor disponibilidad regional y control empresarial.


Migrar a Vertex AI

Requisitos previos

Necesitás una cuenta de Google con acceso a Google Cloud Platform. Usá una cuenta a la que tengas acceso permanente, ya que ahí vas a gestionar la facturación y las credenciales.


Generar la API Key

  1. Ingresá a la consola de credenciales de Vertex AI

  2. Si no tenés un proyecto, hacé clic en Crear proyecto, asigná un nombre (ej: gemini-integration-prod) y hacé clic en Crear

  3. En el panel de gestión, hacé clic en Crear clave de API

  4. Copiá la clave generada y guardála en un gestor de contraseñas o variable de entorno


Estructura del request

Actualizá la URL del endpoint a la base de Vertex AI y usá el siguiente formato de body:

{
"system_instruction": {
"role": "system",
"parts": [
{
"text": "Eres un asistente experto en analisis de datos financieros..."
}
]
},
"contents": [
{
"role": "user",
"parts": [
{
"text": "Analiza este reporte de 2026..."
}
]
}
],
"generation_config": {
"top_p": 0.2,
"temperature": 0.2,
"max_output_tokens": 3000
},
"tools": [
{
"google_search": {}
}
]
}

Optimizar costos con Context Caching

Si tu aplicación usa un system_instruction muy extenso o documentos de referencia que no cambian entre consultas, podés aprovechar el Context Caching de Gemini en Vertex AI.

Cuando el contenido estático (instrucciones, reglas de negocio, manuales) ya fue procesado, Gemini lo recupera de la caché en lugar de procesarlo desde cero. Esto reduce el costo de los tokens de entrada hasta un 75% y mejora la latencia.

Recomendación: estructurá los prompts para que la parte estática quede siempre al inicio y solo varíe la consulta final del usuario.


¿Ha quedado contestada tu pregunta?