You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Releae v0.11.0: add Gemini 3.1 model support and comprehensive Files API features
- Add `gemini-3.1-flash-lite-preview` and `gemini-3.1-flash-image-preview`
entries to the model registry.
- Implement generic `Gemini.predict/3` and `predict_long_running/3` endpoints
for advanced model interactions (Imagen/Veo).
- Add `thinking` boolean to `Gemini.Types.Response.Model` and `supports_thinking?/1`
helper to identify reasoning capabilities.
- Enhance `generateContent` response parsing with `candidates_tokens_details`,
`grounding_metadata`, `logprobs_result`, and `url_context_metadata`.
- Add structured parsing for `CitationMetadata` and `CitationSource`.
- Implement `MultiSpeakerVoiceConfig` for advanced text-to-speech workflows.
- Add `enable_enhanced_civic_answers` to `GenerationConfig`.
- Enforce Gemini-only auth for Files API; add `api_key` override support.
- Remove `mimeType` from file upload metadata (output-only field fix).
- Deprecate `gemini-3-pro-preview` in favor of `gemini-3.1-pro-preview`.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+39-1Lines changed: 39 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [0.11.0] - 2026-03-05
11
+
12
+
### Added
13
+
14
+
#### New Model Registry Entries
15
+
-`gemini-3.1-flash-lite-preview` — Gemini 3.1 Flash-Lite Preview, frontier-class performance rivaling larger models at a fraction of the cost
16
+
-`gemini-3.1-flash-image-preview` — Nano Banana 2, high-efficiency image generation and editing optimized for speed and high-volume use cases
17
+
18
+
#### Config Model Registry
19
+
-`flash_3_1_lite_preview` and `flash_3_1_image_preview` keys added to universal models in `Gemini.Config`
20
+
21
+
#### Models API: `thinking` field
22
+
-**`thinking` boolean field** added to `Gemini.Types.Response.Model` — reflects whether the model supports thinking/reasoning as returned by the API
23
+
-**`Model.supports_thinking?/1`** helper function for querying thinking capability
24
+
-`thinking` included in `Model.capabilities_summary/1` output
25
+
- Parsed from API responses in both `Gemini.APIs.Models` and `Gemini.APIs.Coordinator`
26
+
27
+
#### generateContent/streamGenerateContent API completeness
28
+
-**`candidates_tokens_details`** field added to `UsageMetadata` — parses `candidatesTokensDetails` modality token counts from API responses
29
+
-**`grounding_metadata`** field added to `Candidate` — stores `groundingMetadata` (grounding chunks, supports, web search queries) from API responses
30
+
-**`logprobs_result`** field added to `Candidate` — stores `logprobsResult` log probability data from API responses
31
+
-**`url_context_metadata`** field added to `Candidate` — stores `urlContextMetadata` from API responses
32
+
-**`CitationMetadata.from_api/1`** and **`CitationSource.from_api/1`** — proper structured parsing of citation data (previously stored as raw maps)
33
+
-**`safety_settings`** wired into `build_generate_request` — pass `safety_settings: [SafetySetting.harassment(:block_none)]` to set per-request safety thresholds
34
+
-**`enable_enhanced_civic_answers`** field added to `GenerationConfig` and supported in `put_generation_opt`
35
+
-**`MultiSpeakerVoiceConfig`** and **`SpeakerVoiceConfig`** types added with `from_api/1` and `to_api/1`
36
+
-**`multi_speaker_voice_config`** field added to `SpeechConfig` for multi-speaker voice synthesis
37
+
38
+
#### Models API: `predict` and `predictLongRunning` endpoints
39
+
-**`Gemini.predict/3`** — generic `models.predict` endpoint (`POST /v1beta/{model=models/*}:predict`) for direct prediction requests
40
+
-**`Gemini.predict_long_running/3`** — `models.predictLongRunning` endpoint (`POST /v1beta/{model=models/*}:predictLongRunning`) returning an Operation for async processing
41
+
- Both endpoints support Vertex AI (`projects/.../publishers/google/models/...:predict`) and Gemini API paths
42
+
- For most use cases, prefer the higher-level `Gemini.APIs.Images` or `Gemini.APIs.Videos` modules which use these endpoints internally
43
+
44
+
### Changed
45
+
-**Gemini 3 Pro deprecation**: `gemini-3-pro-preview` track changed from `:preview` to `:deprecated` — Google is discontinuing the model on March 9, 2026; migrate to `gemini-3.1-pro-preview`
Copy file name to clipboardExpand all lines: README.md
+25-28Lines changed: 25 additions & 28 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,7 +29,7 @@ A comprehensive Elixir client for Google's Gemini AI API with dual authenticatio
29
29
-**Batches API**: Submit large numbers of requests with 50% cost savings (NEW in v0.7.0!)
30
30
-**Operations API**: Track long-running operations like video generation (NEW in v0.7.0!)
31
31
-**Tunings (Fine-Tuning)**: Create, monitor, and manage tuned models (NEW in v0.8.x!)
32
-
-**Model Registry**: Centralized model capabilities, modality tracking, and registry-backed Live API model resolution (NEW in v0.10.0!)
32
+
-**Model Registry**: Centralized model capabilities, modality tracking, and registry-backed Live API model resolution (Enhanced in v0.11.0!)
33
33
-**Image & Video Generation**: Imagen/Veo APIs for text-to-image, editing, upscaling, and video generation with Veo 3.1 support
34
34
-**Embeddings with MRL**: Text embeddings with Matryoshka Representation Learning, normalization, and distance metrics
35
35
-**Async Batch Embeddings**: Production-scale embedding generation with 50% cost savings
@@ -59,7 +59,7 @@ Add `gemini` to your list of dependencies in `mix.exs`:
59
59
```elixir
60
60
defdepsdo
61
61
[
62
-
{:gemini_ex, "~> 0.10.0"}
62
+
{:gemini_ex, "~> 0.11.0"}
63
63
]
64
64
end
65
65
```
@@ -431,7 +431,7 @@ alias Gemini.Types.Content
431
431
-`gemini-2.5-pro`
432
432
-`gemini-2.0-flash-001`
433
433
-`gemini-2.0-flash-lite-001`
434
-
-`gemini-3-pro-preview`
434
+
-`gemini-3.1-pro-preview`
435
435
-`gemini-3-flash-preview`
436
436
437
437
You can list, get, update TTL, and delete caches via the top-level `Gemini.*cache*` helpers or `Gemini.APIs.ContextCache.*`. Vertex AI names are auto-expanded when `auth: :vertex_ai` or configured credentials are present.
@@ -442,25 +442,24 @@ Upload and manage files for use with Gemini models. Perfect for multimodal conte
**Note:** This feature is only available in the Gemini Developer API, not Vertex AI. The credentials must have read access to the GCS bucket.
657
+
**Note:** This feature is only available in the Gemini Developer API, not Vertex AI. Pass either `%{token: "..."}` or a `Goth.Token`-style struct, and ensure the token can read the referenced GCS objects.
0 commit comments