Repository navigation
Releases
Releases · googleapis/python-genai
v3.1.0
3.1.0 (2026-11-10)
Features
- Add
gemini-omni-1.2-flashand make it thegemini-api videodefault (8e9cce3) - Add
proactive_videotoProactivityConfigfor the Live API. (97d0678) - Add
xhighthinking level to Interactions ThinkingLevel (0f29f4d) - Add usage_metadata (including traffic_type) and truncated to EmbedContentResponse for Gemini Enterprise API (2958fb1)
- interactions: Add gemini-4-carbon and gemini-omni-1.2-flash to Model enum (9610220)
Documentation
- Update documentation links from ai.google.dev to aistudio.google.com. (caf4c4f)
v3.0.0
3.0.0 (2026-11-05)
⚠ BREAKING CHANGES
-
Default Gemini Developer API version is now
v1(wasv1beta) (2d0f947)- Clients targeting the Gemini Developer API now default to API version
v1instead ofv1beta. - No effect on Gemini Enterprise (Vertex AI) defaults: Clients with
vertexai=True/enterprise=Trueare unaffected by this default change and continue to default tov1beta1. - Some model aliases are not available on
v1, notably:gemini-flash-latest,gemini-flash-lite-latestandgemini-pro-latest. They exist only onv1beta. To keep using them, use a specific model version, or switch back tov1betaas shown below. - How to configure or restore the previous default via environment variable: Set
GOOGLE_GENAI_API_VERSION(works for both Gemini Developer API and Enterprise / Vertex AI clients when no version is set in code):# Restores the beta default ('v1beta' on Gemini Developer API, 'v1beta1' on Enterprise / Vertex AI) export GOOGLE_GENAI_API_VERSION=beta # Or set an explicit API version string on either platform (e.g. 'v1', 'v1beta', 'v1beta1') export GOOGLE_GENAI_API_VERSION=v1beta
- How to set the API version in code: Pass
api_versioninHttpOptions(takes precedence overGOOGLE_GENAI_API_VERSION):from google import genai from google.genai import types client = genai.Client( http_options=types.HttpOptions(api_version='v1beta') )
- Clients targeting the Gemini Developer API now default to API version
-
Default HTTP client is now
httpx2(washttpx), andhttpxis no longer installed by default (51285c8)httpxis no longer installed by default.httpx2is now the required dependency and default HTTP client.- How to restore the previous
httpxdefault via environment variable: Becausehttpx2is installed by default, installinggoogle-genai[httpx]alone only makesimport httpxavailable; to switch the SDK's default client back tohttpxwithout code changes, both install thehttpxextra and setGOOGLE_GENAI_HTTP_CLIENT=httpx:pip install "google-genai[httpx]" export GOOGLE_GENAI_HTTP_CLIENT=httpx
- How to pass an
httpxclient in code: After installinggoogle-genai[httpx], you can passhttpx.Client/httpx.AsyncClientdirectly viaHttpOptions:import httpx from google import genai from google.genai import types client = genai.Client( http_options=types.HttpOptions( httpx_client=httpx.Client(), httpx_async_client=httpx.AsyncClient(), ) )
- Migrating existing
httpxcode tohttpx2: In most cases, updating your imports withimport httpx2 as httpxis sufficient. - SSL certificate verification: By default,
httpx2uses the OS certificate trust store (viatruststore/httpx2.create_ssl_context()) instead ofcertifiwhenSSL_CERT_FILEandSSL_CERT_DIRare not set. - When
httpxvs.httpx2types matter: Package-specific objects passed inHttpOptions(client_args=..., async_client_args=...)(such asTimeout,Limits,MockTransport/BaseTransport, or customAuthsubclasses) and unwrapped transport exceptions caught fromclient.models,client.files, etc. (TimeoutException,ConnectError,HTTPError) must match the active HTTP client. (WhenGOOGLE_GENAI_HTTP_CLIENTis unset orauto, passinghttpxobjects inHttpOptionswill also auto-select thehttpxbackend ifgoogle-genai[httpx]is installed.)
-
interactions:
CodeExecutionResultStep.resultchanges fromstringto theCodeExecutionResultStepResultunion. Code that readsresultas a string must now check which variant is present and read the string from it. The JSON for text-only results is unchanged.
Features
- Add
source_texttoAudioTranscriptionConfigandSmartTranscriptionMode. (1ac3c91) - Add MALFORMED_RESPONSE to FinishReason (6eb8523), refs #2937
- cli: Use gemini-3.5-transcribe as default model for transcribe command (b18fd3c)
- Default Gemini API version to v1 instead of v1beta across SDKs (2d0f947)
- Disable GenerateVideos for Gemini API, update tests/READMEs (8ddc655)
- interactions: Add Office and OpenDocument MIME types (753cc1c)
- interactions: Support multimodal content in CodeExecutionResultStep.result (a216d95)
- Support GOOGLE_GENAI_API_VERSION environment variable across SDKs (2d0f947)
- Switch default HTTP client to httpx2 and use OS trust store by default (51285c8)
- Update discovery doc (5647e1e)
Bug Fixes
- interactions: Retries = attempts - 1 (0f688a6)
- Preserve unknown fields and open-union variants in Interactions models (2eaf2d8)
- Respect configured and default API version for Gemini API file uploads across SDKs (ddc45d0)
Documentation
v2.34.0
2.34.0 (2026-10-29)
Features
- Add support for continuation_token and requires_continuation status (daac53e)
- Add support for Python 3.15. (cb1408b)
- Add video upscale task parameter (0456043)
- Drop support for Python 3.10 (2677298)
- interactions: Add automatic_continuation to interactions.create in the Python SDK (c85d5ae)
- interactions: Declare continuation_ids on Interaction (4bdde3a)
- Support base_url, api_version and headers in LiveConnectConfig.http_options (c0e9c54)
- Support video understanding in Gemini Developer API (34b58fd)
Bug Fixes
v2.33.0
2.33.0 (2026-10-22)
Features
- Add
storetoGenerateContentConfig(Gemini Developer API only) andlabelstoLiveConnectConfig. (16a29c9) - Add support for Python 3.15. (e1c4fc7)
- Add support for Python 3.15. (1a64450)
- client: Support httpx2 with GOOGLE_GENAI_HTTP_CLIENT configuration (87ddba1)
- Include AudioContent, DocumentContent, and VideoContent in FunctionResultSubContent (adbc79c)
Bug Fixes
- client: Skip mTLS URL rewriting for multi-regional .rep.googleapis.com endpoints and honor GOOGLE_API_USE_MTLS_ENDPOINT in Google Auth sessions (4e44c84)
- Honor an explicit zero in HttpRetryOptions delay fields (419dd89), refs #2026
- Honor HttpRetryOptions for aiohttp connection errors in async requests (ee639c6), refs #3160
Documentation
- Update unenforced JSON Schema keywords on Interactions schema fields. (c97ae02)
v2.32.0
2.32.0 (2026-10-21)
Features
- Add base_voice to PromptedVoice in GAOS SDK (5488643)
- Add generation_output_config to GenerateContentConfig (5c008e1)
- Add Live API in-session context updates (
send_context_update) and types across GenAI SDKs. (364889a) - sdks: Enable
fixes.openSingleValueEnumsOct2026across all SDKs (78f6d34) - Update discovery doc (6cd176e)
Bug Fixes
- Base64-encode inline bytes in Live send_tool_response (a7bbff6), refs #3022
- Don't crash parsing responses with JSON objects in
Any-typed fields (4c1abcc) - interactions: Sync InteractionSseEventInteractionStatus enum with InteractionStatus (ba854b2)
Documentation
v2.31.0
2.31.0 (2026-10-14)
Features
- interactions: Add gemini-4-argon to Model enum (8554b07)
Bug Fixes
- Clear continuation state and preserve prompt feedback when continuation hop returns no candidates (a0d809c)
- Fix the function declaration parser for union types. Fixes #3060 (be32e9e)
- Fix the grounding metadata merging for automatic continuation in generate content and generate content stream (f1499bb)
- Make continuation streams retry dropped hops, stop on prompt_feedback, and keep real errors in generate_content (339a929)
- Match the mTLS endpoint to each transport's SSL context, including plain aiohttp (f8a4693)
v2.30.1
v2.30.0
2.30.0 (2026-10-13)
Features
- Accumulate streaming continuation usage metadata and expose initial_prompt_token_count (b27f3cd)
- Add
continuation_tokento the Interactionsinteraction.status_updateevent. (02db4c5) - Add a CONTINUATION_REQUIRED Interaction status (bf9d6d7)
- Add billable token counts fields (6a6501c)
- Add startOffset/endOffset to Transcription and interimTranscriptTimestampEnabled to RealtimeInputConfig (c644a94)
- Add usage in InteractionStatusUpdate events (56c3a1a)
- Allow automatic resumption of continuation token for in generate content and generate content stream. Default behavior for this feature is disabled (83e43ea)
- cli: Update Speakeasy generator to v2.948.0, bump CLI to v0.4.2, and apply CLI overlay fixes (cdcd3dd)
- Enable automatic continuation token resumption for chats module. (9ebf714)
Bug Fixes
- Clear intermediate CONTINUATION finish_reason in streaming continuation (8a641d8)
- Do not record incomplete continuation stream turns in curated chat history (b382e01)
- gemini-api-cli: Remove unsupported 2.5 and 1.6 models from Interactions model options and CLI examples (fe5fb10)
- genai: Deduplicate Flash and Omni descriptions in ModelOption (33efaad)
- interactions: Restore
super().model_constructinInteractionmodel validator (ccd5dd3) - python: Discard stale checkpoint token on non-resumable finish reason (f44e8ee)
- Raise default HTTP timeouts so long-running requests aren't killed client-side (b006b4b)
- Resume streaming generation from the latest checkpoint continuation token on mid-stream errors or cutoffs (90bb32b)
- Update EnvironmentConfig.env schema to map keys to EnvVar or string. (3108d8c)
- Use the mTLS endpoint on the httpx and websocket transports (97d5821)