Google AI Studio
Configure googleaistudio deployments and understand provider-specific behavior.
Configure a deployment
Send this body to POST /admin/deployments with an operator credential. Replace the example
credentials and choose a model available to your provider account. See
Creating deployments for the shared configuration fields.
{ "publicModel": "gemini", "adapterKey": "googleaistudio", "upstreamModel": "gemini-3-pro", "credentials": { "apiKey": "..." } }Behavior and limitations
- Credentials:
apiKeyonly. - Default transport:
generateContentfor text and image operations,generate_videosfor Veo video generation, andembedContent/batchEmbedContentsfor embeddings. Gemini Omni Flash must overridevideo.generatetointeractions. - Tool schemas are translated, not passed through. Non-strict tools and pre-Gemini-3 models use
Gemini's OpenAPI-shaped
parametersfield and its narrower schema translator. Gemini 3 and later models declarecapabilities.strictTools: true; a request containing an OpenAIstrict: truefunction usesparametersJsonSchemaand Gemini's schema-constrainedVALIDATEDmode. Pre-Gemini-3 models reject strict requests instead of silently downgrading them. This is generation-time enforcement; the gateway does not coerce arguments or retry a hidden repair request. Constructs outside Google's supported schema subset may still require a simpler tool definition. - Reasoning:
gemini_level(discretethinkingLevel, withxhighmapped tohigh) orgemini_budget(rawthinkingBudgettokens), per model — see Reasoning. - Thought signatures round-trip statelessly inside the tool call id. When Gemini returns a
thoughtSignatureon a function call, the gateway embeds it in the public tool call id as<id>__thought__<signature>(LiteLLM-compatible) across all three surfaces. Any client that echoes tool call ids verbatim — every standard OpenAI/Anthropic client, including the Vercel AI SDK — round-trips it with no changes and no server-side state. The signature is also mirrored asprovider_specific_fields.thought_signatureandextra_content.google.thought_signatureon the rendered tool call, and all three inbound forms are accepted. See Provider-specific fields. - Embeddings accept text input and float vectors only through this gateway — no tokenized input,
no
base64encoding — regardless of what the catalog profile might otherwise allow. - Image
qualitymaps to native thinking on the models that expose the control (Gemini 3.1 Flash Image and Flash Lite Image), which declare the rungslow(thinkingLevel: minimal) andhigh(thinkingLevel: high); other rungs snap onto those two.autoor an omitted quality sends no thinking level and Gemini's own default applies. Models without the control, such as Gemini 3 Pro Image, declare no rungs at all. See Images. - Veo uses the Gemini
:predictLongRunningREST flow. Image/video references must be data URLs because the REST request sends them asinlineData; multiple image references are forwarded asreferenceImages, whilevideo_urlis used for Veo extension on models that declare it. - Gemini Omni Flash 1.1 uses the Interactions API for text-to-video, image-to-video,
reference-to-video, edit, extend, and frame interpolation. The gateway runs interactions in the
background, polls by interaction id, and fetches inline output into object storage without storing
base64 in Postgres. Files API inputs, multi-turn
previous_interaction_id, audio references, and URI-only 1080p/4K output are intentionally unsupported. - Catalog:
src/adapters/google/catalog.json(folder isgoogle; adapter key isgoogleaistudio— the one place today those two names don't match).
Next steps
- Reasoning —
gemini_level/gemini_budgetin detail. - Embeddings — the reduced Google embedding contract.
- Images — the quality-to-thinking mapping.
- Videos — the async video lifecycle and object storage.