Descripcion general
Google ofrece dos SDKs oficiales:@google/genai (JavaScript / TypeScript) y google-genai (Python), que cubren todos los endpoints de la API de Gemini. Al apuntar la baseUrl al gateway de AIHubMix y usar tu API Key de la plataforma, puedes invocar Interactions, Embeddings, Context Caching y otras capacidades no cubiertas por la capa compatible con OpenAI a traves del SDK nativo, sin modificar ningun codigo de negocio.
Inicio rapido
Instalacion
Inicializar el cliente
Interactions API
Interactions es la interfaz de inferencia de nueva generacion de Gemini. Devuelve objetosInteraction estructurados y admite generacion de texto, generacion nativa de imagenes (Nano Banana) y razonamiento en multiples pasos. Actualmente se admite el modo sincrono (interactions.create()); el modo asincrono (Background Interactions: get / cancel / delete) estara disponible proximamente.
Generacion de texto
Llama ainteractions.create() para iniciar una inferencia. El objeto Interaction devuelto proporciona la propiedad de conveniencia output_text para obtener directamente la ultima salida de texto del modelo.
Generacion nativa de imagenes
Configura la modalidad de salida como imagen medianteresponse_format. El objeto Interaction devuelto proporciona la propiedad de conveniencia output_image, cuyo campo data contiene los datos de imagen codificados en Base64.
Parametros de response_format:
| Campo | Descripcion | Valores posibles |
|---|---|---|
type | Tipo de salida | "image" |
aspect_ratio | Relacion de aspecto | "1:1" "3:4" "4:3" "9:16" "16:9" |
image_size | Resolucion de salida | "1K" "2K" "4K" |
mime_type | Formato de imagen | "image/png" "image/jpeg" |
Salida en streaming
Pasastream: true para habilitar la transmision en streaming mediante Server-Sent Events (SSE). Los eventos llegan en el siguiente orden:
event.delta.text; el campo de tipo de evento es event_type.
JavaScript
Embeddings
Obtiene representaciones vectoriales (embeddings) de contenido textual o multimodal a traves del endpointembedContent.
embedContent
Obtener embeddings por lotes
Pasa un array deContent al parametro contents de embedContent para obtener embeddings de multiples textos en una sola llamada:
JavaScript
Modelos y parametros disponibles
| Modelo | Limite de tokens de entrada | Dimension de salida por defecto | Modalidades de entrada | Descripcion |
|---|---|---|---|---|
gemini-embedding-2-preview | 8.192 | 3.072 (recomendado: 768) | Texto, imagen, video, audio, PDF | Modelo de embedding multimodal mas reciente, admite outputDimensionality |
gemini-embedding-001 | 2.048 | 3.072 | Solo texto | Modelo de embedding de texto anterior, admite taskType |
gemini-embedding-001 admite la especificacion del proposito del embedding mediante config.taskType para optimizar la calidad vectorial en tareas posteriores especificas:
taskType | Proposito |
|---|---|
SEMANTIC_SIMILARITY | Calculo de similitud semantica |
RETRIEVAL_DOCUMENT | Indexacion de documentos (lado recuperado) |
RETRIEVAL_QUERY | Consulta de busqueda (lado que recupera) |
CLASSIFICATION | Clasificacion de texto |
CLUSTERING | Agrupamiento de texto |
gemini-embedding-2-preview no admite el parametro taskType. En su lugar, el tipo de tarea se especifica mediante un prefijo en el prompt (p. ej., search_query: ... o search_document: ...).Context Caching (Cache explicito)
El cache explicito permite a los desarrolladores crear, consultar, referenciar y eliminar manualmente objetosCachedContent, ideal para escenarios donde el mismo contexto extenso necesita reutilizarse en multiples solicitudes. A diferencia del cache implicito, el cache explicito gestiona activamente el ciclo de vida desde el lado de la aplicacion.
El cache explicito solo esta disponible para la API
generateContent. La Interactions API solo admite cache implicito.Crear CachedContent
Crea un cache mediantecaches.create(). ttl (Time-To-Live) controla el periodo de validez del cache; al expirar, se elimina automaticamente.
Referenciar cache en generateContent
Pasacache.name al parametro cachedContent (JS) o cached_content (Python) para utilizar el cache durante la inferencia. El numero de tokens acertados se refleja en usageMetadata.cachedContentTokenCount.
Consultar y eliminar
Matriz de capacidades admitidas
| Capacidad | Estado | Descripcion |
|---|---|---|
generateContent | ✅ | Sin streaming + streaming |
systemInstruction / generationConfig | ✅ | temperature, maxOutputTokens, etc. |
Structured Output (responseSchema) | ✅ | Modo JSON |
| Function Calling | ✅ | Declaracion de herramientas functionDeclarations |
thinkingConfig | ✅ | Salida de cadena de pensamiento |
| Entrada multimodal | ✅ | Imagen / audio / video / PDF via inlineData + Files API |
| Google Search Grounding | ✅ | Mejora por busqueda |
countTokens | ✅ | Conteo de tokens |
Imagen (generateImages) | ✅ | Generacion de imagenes Imagen 3 |
Veo (generateVideos) | ✅ | Generacion de video |
| TTS | ✅ | Salida de sintesis de voz |
| Files API | ✅ | Subida y referencia de archivos grandes |
| Interactions API | ✅ | Interfaz de inferencia de nueva generacion (texto + Nano Banana) |
Embeddings (embedContent) | ✅ | Embeddings vectoriales nativos |
| Context Caching CRUD | ✅ | Gestion de cache explicito |
| Live API (WebSocket) | ❌ | Aun no disponible |
Preguntas frecuentes
interactions.create() devuelve un error de legacy schema
interactions.create() devuelve un error de legacy schema
La version del SDK es demasiado antigua.
@google/genai debe ser >= 2.0.0 y google-genai debe ser >= 2.0.0. Ejecuta npm install @google/genai@latest o pip install -U google-genai para actualizar a la ultima version.El modelo devuelve 404 Not Found
El modelo devuelve 404 Not Found
Algunos nombres de modelos anteriores (como
gemini-2.5-flash-image-preview) han sido retirados de la Interactions API. Usa identificadores de modelo actuales como gemini-3.1-flash-image (Nano Banana 2). La API generateContent no se ve afectada.response_modalities devuelve 400 Bad Request
response_modalities devuelve 400 Bad Request
Los valores de
response_modalities en la Interactions API deben estar en minusculas ("text", "image"). Las mayusculas "TEXT" / "IMAGE" son la sintaxis de la API generateContent y no son aceptadas en la Interactions API.Se puede usar vertexai: true?
Se puede usar vertexai: true?
No. El modo
vertexai: true del SDK requiere GCP OAuth + parametros project/location, y es incompatible con apiKey (el SDK lanza Project/location and API key are mutually exclusive). Al integrarte a traves de AIHubMix, usa la forma Gemini Developer API — el backend enruta automaticamente.La creacion de cache reporta: context caching is not available for model
La creacion de cache reporta: context caching is not available for model
El gateway bloquea las solicitudes
caches.create() para modelos sin precios de almacenamiento configurados, para evitar costos de almacenamiento no contabilizados. Los modelos principales (gemini-2.5-flash, gemini-2.5-pro, etc.) ya estan configurados. Si encuentras este error, verifica que el modelo admita cache explicito.Ultima actualizacion: 2026-07-07