Visao geral
O Google fornece dois SDKs oficiais:@google/genai (JavaScript / TypeScript) e google-genai (Python), cobrindo todos os endpoints da API Gemini. Ao apontar a baseUrl para o gateway do AIHubMix e usar sua API Key da plataforma, voce pode invocar Interactions, Embeddings, Context Caching e outras capacidades nao cobertas pela camada compativel com OpenAI atraves do SDK nativo, sem modificar nenhum codigo de negocio.
Inicio rapido
Instalacao
Inicializar o cliente
Interactions API
Interactions e a interface de inferencia de nova geracao do Gemini. Ela retorna objetosInteraction estruturados e suporta geracao de texto, geracao nativa de imagens (Nano Banana) e raciocinio em multiplas etapas. Tanto o modo sincrono (interactions.create()) quanto o modo assincrono (Background Interactions: create(background: true) + get / cancel / delete) sao suportados.
Geracao de texto
Chameinteractions.create() para iniciar uma inferencia. O objeto Interaction retornado fornece a propriedade de conveniencia output_text para obter diretamente a ultima saida de texto do modelo.
Geracao nativa de imagens
Configure a modalidade de saida como imagem viaresponse_format. O objeto Interaction retornado fornece a propriedade de conveniencia output_image, cujo campo data contem os dados da imagem codificados em Base64.
Parametros de response_format:
Saida em streaming
Passestream: true para habilitar a transmissao em streaming via Server-Sent Events (SSE). Os eventos chegam na seguinte ordem:
event.delta.text; o campo de tipo de evento e event_type.
JavaScript
Modo assincrono (Background Interactions)
Passebackground: true para iniciar uma inferencia em segundo plano. A requisicao retorna imediatamente um objeto Interaction com status igual a in_progress e com id como identificador da tarefa, enquanto o modelo continua a inferencia em segundo plano. Faca polling em interactions.get(id) para obter o resultado, com intervalo recomendado de 3 a 5 segundos. Isso serve para inferencias demoradas e dispensa manter uma conexao persistente.
Cancelar e excluir
JavaScript
Embeddings
Obtenha representacoes vetoriais (embeddings) de conteudo textual ou multimodal atraves do endpointembedContent.
embedContent
Obter embeddings em lote
Passe um array deContent ao parametro contents de embedContent para obter embeddings de multiplos textos em uma unica chamada:
JavaScript
Modelos e parametros disponiveis
gemini-embedding-001 suporta a especificacao do proposito do embedding via config.taskType para otimizar a qualidade vetorial em tarefas posteriores especificas:
gemini-embedding-2-preview nao suporta o parametro taskType. Em vez disso, o tipo de tarefa e especificado por um prefixo no prompt (p. ex., search_query: ... ou search_document: ...).Context Caching (Cache explicito)
O cache explicito permite que desenvolvedores criem, consultem, referenciem e excluam manualmente objetosCachedContent, ideal para cenarios onde o mesmo contexto longo precisa ser reutilizado em multiplas requisicoes. Diferentemente do cache implicito, o cache explicito gerencia ativamente o ciclo de vida pelo lado da aplicacao.
O cache explicito esta disponivel apenas para a API
generateContent. A Interactions API suporta apenas cache implicito.Criar CachedContent
Crie um cache viacaches.create(). ttl (Time-To-Live) controla o periodo de validade do cache; ao expirar, e excluido automaticamente.
Referenciar cache em generateContent
Passecache.name ao parametro cachedContent (JS) ou cached_content (Python) para utilizar o cache durante a inferencia. O numero de tokens em cache utilizados e refletido em usageMetadata.cachedContentTokenCount.
Consultar e excluir
Matriz de capacidades suportadas
Perguntas frequentes
interactions.create() retorna um erro de legacy schema
interactions.create() retorna um erro de legacy schema
A versao do SDK esta muito antiga.
@google/genai deve ser >= 2.0.0 e google-genai deve ser >= 2.0.0. Execute npm install @google/genai@latest ou pip install -U google-genai para atualizar para a versao mais recente.O modelo retorna 404 Not Found
O modelo retorna 404 Not Found
Alguns nomes de modelos anteriores (como
gemini-2.5-flash-image-preview) foram descontinuados na Interactions API. Use identificadores de modelos atuais como gemini-3.1-flash-image (Nano Banana 2). A API generateContent nao e afetada.response_modalities retorna 400 Bad Request
response_modalities retorna 400 Bad Request
Os valores de
response_modalities na Interactions API devem estar em minusculas ("text", "image"). Maiusculas "TEXT" / "IMAGE" sao a sintaxe da API generateContent e nao sao aceitas na Interactions API.O polling de uma tarefa assincrona retorna 400 / 403
O polling de uma tarefa assincrona retorna 400 / 403
O resultado ainda nao esta pronto. Antes de a geracao terminar,
interactions.get() retorna 400 ou 403. Continue o polling a cada 3 a 5 segundos em vez de tratar como falha. Quando 200 for retornado, leia status para determinar o estado terminal.Excluir uma tarefa assincrona retorna 409
Excluir uma tarefa assincrona retorna 409
A tarefa ainda nao atingiu um estado terminal. Obtenha primeiro o resultado terminal com polling de
interactions.get() e depois chame interactions.delete().E possivel usar vertexai: true?
E possivel usar vertexai: true?
Nao. O modo
vertexai: true do SDK requer GCP OAuth + parametros project/location, e e incompativel com apiKey (o SDK lanca Project/location and API key are mutually exclusive). Ao integrar via AIHubMix, use a forma Gemini Developer API — o backend roteia automaticamente.A criacao do cache reporta: context caching is not available for model
A criacao do cache reporta: context caching is not available for model
O gateway bloqueia requisicoes
caches.create() para modelos sem precos de armazenamento configurados, para evitar custos de armazenamento nao contabilizados. Os modelos principais (gemini-2.5-flash, gemini-2.5-pro, etc.) ja estao configurados. Se encontrar esse erro, verifique se o modelo suporta cache explicito.Ultima atualizacao: 2026-08-14