# GeminiEx v0.9.0 - Table of Contents ## Pages - Getting Started - [README](readme.md) - Core Features - [Live API Guide](live_api.md) - [Gemini Streaming Architecture](streaming.md) - [Function Calling Guide](function_calling.md) - [Structured Outputs Guide](structured_outputs.md) - [System Instructions Guide](system_instructions.md) - [Interactions API](interactions.md) - Content Generation - [Image Generation Guide](image_generation.md) - [Video Generation Guide](video_generation.md) - [Gemini Embeddings Examples](embeddings.md) - [Async Batch Embeddings - Production Guide](async_batch_embeddings.md) - File & Data Management - [Files API Guide](files.md) - [File Search Stores Guide](file_search_stores.md) - [Batches API Guide](batches.md) - [Operations API Guide](operations.md) - Authentication & Configuration - [AUTHENTICATION_SYSTEM](authentication_system.md) - [Application Default Credentials (ADC) Guide](adc.md) - Advanced Topics - [Rate Limiting Guide](rate_limiting.md) - [Model Fine-Tuning Guide](tunings.md) - [Automatic Tool Execution Implementation](automatic_tool_execution.md) - Architecture & Internals - [Gemini Unified Client Architecture](architecture.md) - [Gemini Elixir Streaming Architecture](streaming_architecture.md) - [Gemini Telemetry Implementation - Complete](telemetry_implementation.md) - Integration - [The Story of Gemini_Ex and ALTAR: A Path to Production](altar_integration.md) - About - [Changelog](changelog.md) - [LICENSE](license.md) ## Modules - [Gemini.APIs.Batches](Gemini.APIs.Batches.md): Batches API for batch processing of content generation and embedding requests. - [Gemini.APIs.ContextCache](Gemini.APIs.ContextCache.md): Context caching API for improved performance with long context. - [Gemini.APIs.Documents](Gemini.APIs.Documents.md): Documents API for RAG (Retrieval-Augmented Generation) document management. - [Gemini.APIs.FileSearchStores](Gemini.APIs.FileSearchStores.md): File Search Stores API for semantic search and RAG (Retrieval-Augmented Generation). - [Gemini.APIs.Files](Gemini.APIs.Files.md): Files API for uploading, managing, and using files with Gemini models. - [Gemini.APIs.Images](Gemini.APIs.Images.md): API for image generation using Google's Imagen models. - [Gemini.APIs.Interactions](Gemini.APIs.Interactions.md): Interactions API (experimental). - [Gemini.APIs.Models](Gemini.APIs.Models.md): Complete Models API implementation following the unified architecture. - [Gemini.APIs.Operations](Gemini.APIs.Operations.md): Operations API for managing long-running operations. - [Gemini.APIs.RagStores](Gemini.APIs.RagStores.md): RAG Stores API for managing file search stores. - [Gemini.APIs.Tokens](Gemini.APIs.Tokens.md): Token counting functionality for Gemini API. - [Gemini.APIs.Tunings](Gemini.APIs.Tunings.md): API module for model tuning (fine-tuning) operations. - [Gemini.APIs.Videos](Gemini.APIs.Videos.md): API for video generation using Google's Veo models. - [Gemini.Auth.ADC](Gemini.Auth.ADC.md): Application Default Credentials (ADC) for Google Cloud authentication. - [Gemini.Auth.JWT](Gemini.Auth.JWT.md): JWT token generation and management for Google Cloud service accounts. - [Gemini.Auth.MetadataServer](Gemini.Auth.MetadataServer.md): Authentication via GCP metadata server for workloads running on Google Cloud Platform. - [Gemini.Auth.Strategy](Gemini.Auth.Strategy.md): Behavior for authentication strategies. - [Gemini.Auth.TokenCache](Gemini.Auth.TokenCache.md): ETS-based token caching with automatic expiration handling. - [Gemini.Chat](Gemini.Chat.md): Formalized chat session management with immutable history updates. - [Gemini.Live.Models](Gemini.Live.Models.md): Live API model selection helpers. - [Gemini.RateLimiter](Gemini.RateLimiter.md): Rate limiting, concurrency gating, and retry management for Gemini API requests. - [Gemini.RateLimiter.ConcurrencyGate](Gemini.RateLimiter.ConcurrencyGate.md): Per-model concurrency gating using semaphore-like permits. - [Gemini.RateLimiter.Config](Gemini.RateLimiter.Config.md): Configuration management for the rate limiter. - [Gemini.RateLimiter.Manager](Gemini.RateLimiter.Manager.md): Central rate limiter manager that coordinates request submission. - [Gemini.RateLimiter.RetryManager](Gemini.RateLimiter.RetryManager.md): Manages retry logic with backoff strategies. - [Gemini.RateLimiter.State](Gemini.RateLimiter.State.md): ETS-based state management for rate limiting. - [Gemini.Streaming.ToolOrchestrator](Gemini.Streaming.ToolOrchestrator.md): GenServer responsible for managing a single, stateful, automatic tool-calling stream. - [Gemini.Supervisor](Gemini.Supervisor.md): Top-level supervisor for the Gemini application. - [Gemini.TaskSupervisor](Gemini.TaskSupervisor.md): Named task supervisor for Gemini background tasks. - [Gemini.Tools](Gemini.Tools.md): High-level facade for tool registration and execution in the Gemini client. - [Gemini.Tools.AutomaticFunctionCalling](Gemini.Tools.AutomaticFunctionCalling.md): Implements the Automatic Function Calling (AFC) loop for Gemini. - [Gemini.Tools.AutomaticFunctionCalling.Config](Gemini.Tools.AutomaticFunctionCalling.Config.md): Configuration for automatic function calling. - [Gemini.Tools.Executor](Gemini.Tools.Executor.md): Executes function calls from Gemini API responses against a registry of implementations. - [Gemini.Types.BatchJob](Gemini.Types.BatchJob.md): Type definitions for batch processing jobs. - [Gemini.Types.Blob](Gemini.Types.Blob.md): Binary data with MIME type for Gemini API. - [Gemini.Types.CachedContentUsageMetadata](Gemini.Types.CachedContentUsageMetadata.md): Metadata describing cached content usage. - [Gemini.Types.CreateBatchJobConfig](Gemini.Types.CreateBatchJobConfig.md): Configuration for creating a batch job. - [Gemini.Types.CreateFileSearchStoreConfig](Gemini.Types.CreateFileSearchStoreConfig.md): Configuration for creating a new File Search Store. - [Gemini.Types.DeleteFileResponse](Gemini.Types.DeleteFileResponse.md): Response type for file deletion. - [Gemini.Types.Document](Gemini.Types.Document.md): Type definitions for RAG document management. - [Gemini.Types.Enums](Gemini.Types.Enums.md): Comprehensive enumeration types for the Gemini API. - [Gemini.Types.Enums.AspectRatio](Gemini.Types.Enums.AspectRatio.md): Image aspect ratios for image generation. - [Gemini.Types.Enums.BlockedReason](Gemini.Types.Enums.BlockedReason.md): Reasons why content generation was blocked. - [Gemini.Types.Enums.CodeExecutionOutcome](Gemini.Types.Enums.CodeExecutionOutcome.md): Outcome of code execution. - [Gemini.Types.Enums.DynamicRetrievalMode](Gemini.Types.Enums.DynamicRetrievalMode.md): Dynamic retrieval configuration modes. - [Gemini.Types.Enums.ExecutableCodeLanguage](Gemini.Types.Enums.ExecutableCodeLanguage.md): Supported languages for code execution. - [Gemini.Types.Enums.FinishReason](Gemini.Types.Enums.FinishReason.md): Reasons why generation finished. - [Gemini.Types.Enums.FunctionCallingMode](Gemini.Types.Enums.FunctionCallingMode.md): Function calling configuration modes. - [Gemini.Types.Enums.GroundingAttributionConfidence](Gemini.Types.Enums.GroundingAttributionConfidence.md): Confidence levels for grounding attribution. - [Gemini.Types.Enums.HarmBlockThreshold](Gemini.Types.Enums.HarmBlockThreshold.md): Threshold levels for blocking harmful content. - [Gemini.Types.Enums.HarmCategory](Gemini.Types.Enums.HarmCategory.md): Categories of harmful content that can be filtered. - [Gemini.Types.Enums.HarmProbability](Gemini.Types.Enums.HarmProbability.md): Probability levels of harmful content. - [Gemini.Types.Enums.ImageSize](Gemini.Types.Enums.ImageSize.md): Output image sizes for image generation. - [Gemini.Types.Enums.TaskType](Gemini.Types.Enums.TaskType.md): Task types for embedding generation. - [Gemini.Types.Enums.ThinkingLevel](Gemini.Types.Enums.ThinkingLevel.md): Thinking configuration levels for Gemini 3 models. - [Gemini.Types.Enums.VoiceName](Gemini.Types.Enums.VoiceName.md): Available voice names for text-to-speech. - [Gemini.Types.File](Gemini.Types.File.md): Type definitions for file management operations. - [Gemini.Types.FileData](Gemini.Types.FileData.md): URI-based file data reference used in parts and tool results. - [Gemini.Types.FileSearchDocument](Gemini.Types.FileSearchDocument.md): Represents a document within a File Search Store. - [Gemini.Types.FileSearchStore](Gemini.Types.FileSearchStore.md): Type definitions for File Search Stores (semantic search stores). - [Gemini.Types.FunctionResponse](Gemini.Types.FunctionResponse.md): Result output of a function call. - [Gemini.Types.Generation.Image](Gemini.Types.Generation.Image.md): Type definitions for image generation using Google's Imagen models. - [Gemini.Types.Generation.Image.EditImageConfig](Gemini.Types.Generation.Image.EditImageConfig.md): Configuration for image editing operations. - [Gemini.Types.Generation.Image.GeneratedImage](Gemini.Types.Generation.Image.GeneratedImage.md): Represents a generated image result. - [Gemini.Types.Generation.Image.ImageGenerationConfig](Gemini.Types.Generation.Image.ImageGenerationConfig.md): Configuration for image generation requests. - [Gemini.Types.Generation.Image.UpscaleImageConfig](Gemini.Types.Generation.Image.UpscaleImageConfig.md): Configuration for image upscaling operations. - [Gemini.Types.Generation.Video](Gemini.Types.Generation.Video.md): Type definitions for video generation using Google's Veo models. - [Gemini.Types.Generation.Video.GeneratedVideo](Gemini.Types.Generation.Video.GeneratedVideo.md): Represents a generated video result. - [Gemini.Types.Generation.Video.VideoGenerationConfig](Gemini.Types.Generation.Video.VideoGenerationConfig.md): Configuration for video generation requests. - [Gemini.Types.Generation.Video.VideoGenerationReferenceImage](Gemini.Types.Generation.Video.VideoGenerationReferenceImage.md): Reference image used to guide video generation. - [Gemini.Types.Generation.Video.VideoOperation](Gemini.Types.Generation.Video.VideoOperation.md): Represents a video generation operation with progress tracking. - [Gemini.Types.GenerationConfig](Gemini.Types.GenerationConfig.md): Configuration for content generation parameters. - [Gemini.Types.GenerationConfig.ImageConfig](Gemini.Types.GenerationConfig.ImageConfig.md): Configuration for image generation in Gemini 3 Pro Image. - [Gemini.Types.GenerationConfig.ThinkingConfig](Gemini.Types.GenerationConfig.ThinkingConfig.md): Configuration for thinking/reasoning in Gemini models. - [Gemini.Types.Interactions.AgentConfig](Gemini.Types.Interactions.AgentConfig.md): Agent config union (`DynamicAgentConfig | DeepResearchAgentConfig`). - [Gemini.Types.Interactions.AllowedTools](Gemini.Types.Interactions.AllowedTools.md): Allowed tools configuration (`{mode, tools}`). - [Gemini.Types.Interactions.Annotation](Gemini.Types.Interactions.Annotation.md): Citation information for model-generated text. - [Gemini.Types.Interactions.AudioContent](Gemini.Types.Interactions.AudioContent.md): An audio content block (`type: "audio"`). - [Gemini.Types.Interactions.AudioMimeType](Gemini.Types.Interactions.AudioMimeType.md): Audio mime types for Interactions content. - [Gemini.Types.Interactions.CachedTokensByModality](Gemini.Types.Interactions.CachedTokensByModality.md): Cached token count for a response modality. - [Gemini.Types.Interactions.CodeExecution](Gemini.Types.Interactions.CodeExecution.md): `code_execution` tool declaration. - [Gemini.Types.Interactions.CodeExecutionCallArguments](Gemini.Types.Interactions.CodeExecutionCallArguments.md): Arguments for a `code_execution_call` content block. - [Gemini.Types.Interactions.CodeExecutionCallContent](Gemini.Types.Interactions.CodeExecutionCallContent.md): Code execution call content block (`type: "code_execution_call"`). - [Gemini.Types.Interactions.CodeExecutionResultContent](Gemini.Types.Interactions.CodeExecutionResultContent.md): Code execution result content block (`type: "code_execution_result"`). - [Gemini.Types.Interactions.ComputerUse](Gemini.Types.Interactions.ComputerUse.md): `computer_use` tool declaration. - [Gemini.Types.Interactions.Content](Gemini.Types.Interactions.Content.md): Union type for Interactions input/output content blocks. - [Gemini.Types.Interactions.DeepResearchAgentConfig](Gemini.Types.Interactions.DeepResearchAgentConfig.md): Deep Research agent configuration (`type: "deep-research"`). - [Gemini.Types.Interactions.Delta](Gemini.Types.Interactions.Delta.md): Discriminated union for `content.delta.delta` payloads (18 variants). - [Gemini.Types.Interactions.DeltaAudioDelta](Gemini.Types.Interactions.DeltaAudioDelta.md): Audio content delta for streaming responses. - [Gemini.Types.Interactions.DeltaCodeExecutionCallDelta](Gemini.Types.Interactions.DeltaCodeExecutionCallDelta.md): Code execution call delta for streaming responses. - [Gemini.Types.Interactions.DeltaCodeExecutionResultDelta](Gemini.Types.Interactions.DeltaCodeExecutionResultDelta.md): Code execution result delta for streaming responses. - [Gemini.Types.Interactions.DeltaDocumentDelta](Gemini.Types.Interactions.DeltaDocumentDelta.md): Document content delta for streaming responses. - [Gemini.Types.Interactions.DeltaFileSearchResultDelta](Gemini.Types.Interactions.DeltaFileSearchResultDelta.md): File search result delta for streaming responses. - [Gemini.Types.Interactions.DeltaFileSearchResultDeltaResult](Gemini.Types.Interactions.DeltaFileSearchResultDeltaResult.md): Result type for file search result delta. - [Gemini.Types.Interactions.DeltaFunctionCallDelta](Gemini.Types.Interactions.DeltaFunctionCallDelta.md): Function call delta for streaming responses. - [Gemini.Types.Interactions.DeltaFunctionResultDelta](Gemini.Types.Interactions.DeltaFunctionResultDelta.md): Function result delta for streaming responses. - [Gemini.Types.Interactions.DeltaFunctionResultDeltaResult](Gemini.Types.Interactions.DeltaFunctionResultDeltaResult.md): Result type for function result delta. - [Gemini.Types.Interactions.DeltaFunctionResultDeltaResultItems](Gemini.Types.Interactions.DeltaFunctionResultDeltaResultItems.md): Items container for function result delta. - [Gemini.Types.Interactions.DeltaFunctionResultDeltaResultItemsItem](Gemini.Types.Interactions.DeltaFunctionResultDeltaResultItemsItem.md): Item type for function result delta. - [Gemini.Types.Interactions.DeltaGoogleSearchCallDelta](Gemini.Types.Interactions.DeltaGoogleSearchCallDelta.md): Google search call delta for streaming responses. - [Gemini.Types.Interactions.DeltaGoogleSearchResultDelta](Gemini.Types.Interactions.DeltaGoogleSearchResultDelta.md): Google search result delta for streaming responses. - [Gemini.Types.Interactions.DeltaImageDelta](Gemini.Types.Interactions.DeltaImageDelta.md): Image content delta for streaming responses. - [Gemini.Types.Interactions.DeltaMCPServerToolCallDelta](Gemini.Types.Interactions.DeltaMCPServerToolCallDelta.md): MCP server tool call delta for streaming responses. - [Gemini.Types.Interactions.DeltaMCPServerToolResultDelta](Gemini.Types.Interactions.DeltaMCPServerToolResultDelta.md): MCP server tool result delta for streaming responses. - [Gemini.Types.Interactions.DeltaMCPServerToolResultDeltaResult](Gemini.Types.Interactions.DeltaMCPServerToolResultDeltaResult.md): Result type for MCP server tool result delta. - [Gemini.Types.Interactions.DeltaMCPServerToolResultDeltaResultItems](Gemini.Types.Interactions.DeltaMCPServerToolResultDeltaResultItems.md): Items container for MCP server tool result delta. - [Gemini.Types.Interactions.DeltaMCPServerToolResultDeltaResultItemsItem](Gemini.Types.Interactions.DeltaMCPServerToolResultDeltaResultItemsItem.md): Item type for MCP server tool result delta. - [Gemini.Types.Interactions.DeltaTextDelta](Gemini.Types.Interactions.DeltaTextDelta.md): Text content delta for streaming responses. - [Gemini.Types.Interactions.DeltaThoughtSignatureDelta](Gemini.Types.Interactions.DeltaThoughtSignatureDelta.md): Thought signature delta for streaming responses. - [Gemini.Types.Interactions.DeltaThoughtSummaryDelta](Gemini.Types.Interactions.DeltaThoughtSummaryDelta.md): Thought summary delta for streaming responses. - [Gemini.Types.Interactions.DeltaThoughtSummaryDeltaContent](Gemini.Types.Interactions.DeltaThoughtSummaryDeltaContent.md): Content type for thought summary delta. - [Gemini.Types.Interactions.DeltaURLContextCallDelta](Gemini.Types.Interactions.DeltaURLContextCallDelta.md): URL context call delta for streaming responses. - [Gemini.Types.Interactions.DeltaURLContextResultDelta](Gemini.Types.Interactions.DeltaURLContextResultDelta.md): URL context result delta for streaming responses. - [Gemini.Types.Interactions.DeltaVideoDelta](Gemini.Types.Interactions.DeltaVideoDelta.md): Video content delta for streaming responses. - [Gemini.Types.Interactions.DocumentContent](Gemini.Types.Interactions.DocumentContent.md): A document content block (`type: "document"`). - [Gemini.Types.Interactions.DynamicAgentConfig](Gemini.Types.Interactions.DynamicAgentConfig.md): Dynamic agent configuration (`type: "dynamic"`). - [Gemini.Types.Interactions.Events](Gemini.Types.Interactions.Events.md): Helpers for decoding Interactions SSE events. - [Gemini.Types.Interactions.Events.ContentDelta](Gemini.Types.Interactions.Events.ContentDelta.md): Interactions SSE event: `content.delta`. - [Gemini.Types.Interactions.Events.ContentStart](Gemini.Types.Interactions.Events.ContentStart.md): Interactions SSE event: `content.start`. - [Gemini.Types.Interactions.Events.ContentStop](Gemini.Types.Interactions.Events.ContentStop.md): Interactions SSE event: `content.stop`. - [Gemini.Types.Interactions.Events.Error](Gemini.Types.Interactions.Events.Error.md): Error payload inside an Interactions SSE `error` event. - [Gemini.Types.Interactions.Events.ErrorEvent](Gemini.Types.Interactions.Events.ErrorEvent.md): Interactions SSE event: `event_type: "error"`. - [Gemini.Types.Interactions.Events.InteractionEvent](Gemini.Types.Interactions.Events.InteractionEvent.md): Interactions SSE event: `interaction.start` or `interaction.complete`. - [Gemini.Types.Interactions.Events.InteractionSSEEvent](Gemini.Types.Interactions.Events.InteractionSSEEvent.md): Union type for Interactions SSE events (6 variants). - [Gemini.Types.Interactions.Events.InteractionStatusUpdate](Gemini.Types.Interactions.Events.InteractionStatusUpdate.md): Interactions SSE event: `interaction.status_update`. - [Gemini.Types.Interactions.FileSearch](Gemini.Types.Interactions.FileSearch.md): `file_search` tool declaration. - [Gemini.Types.Interactions.FileSearchCallContent](Gemini.Types.Interactions.FileSearchCallContent.md): File Search call content block (`type: "file_search_call"`). - [Gemini.Types.Interactions.FileSearchResult](Gemini.Types.Interactions.FileSearchResult.md): An item inside `file_search_result` results. - [Gemini.Types.Interactions.FileSearchResultContent](Gemini.Types.Interactions.FileSearchResultContent.md): File Search result content block (`type: "file_search_result"`). - [Gemini.Types.Interactions.Function](Gemini.Types.Interactions.Function.md): `function` tool declaration. - [Gemini.Types.Interactions.FunctionCallContent](Gemini.Types.Interactions.FunctionCallContent.md): A function tool call content block (`type: "function_call"`). - [Gemini.Types.Interactions.FunctionResultContent](Gemini.Types.Interactions.FunctionResultContent.md): A function tool result content block (`type: "function_result"`). - [Gemini.Types.Interactions.GenerationConfig](Gemini.Types.Interactions.GenerationConfig.md): Interactions GenerationConfig (snake_case keys). - [Gemini.Types.Interactions.GoogleSearch](Gemini.Types.Interactions.GoogleSearch.md): `google_search` tool declaration. - [Gemini.Types.Interactions.GoogleSearchCallArguments](Gemini.Types.Interactions.GoogleSearchCallArguments.md): Arguments for a `google_search_call` content block. - [Gemini.Types.Interactions.GoogleSearchCallContent](Gemini.Types.Interactions.GoogleSearchCallContent.md): Google Search call content block (`type: "google_search_call"`). - [Gemini.Types.Interactions.GoogleSearchResult](Gemini.Types.Interactions.GoogleSearchResult.md): A Google Search result item. - [Gemini.Types.Interactions.GoogleSearchResultContent](Gemini.Types.Interactions.GoogleSearchResultContent.md): Google Search result content block (`type: "google_search_result"`). - [Gemini.Types.Interactions.ImageConfig](Gemini.Types.Interactions.ImageConfig.md): Configuration for image generation in Interactions. - [Gemini.Types.Interactions.ImageContent](Gemini.Types.Interactions.ImageContent.md): An image content block (`type: "image"`). - [Gemini.Types.Interactions.ImageMimeType](Gemini.Types.Interactions.ImageMimeType.md): Image mime types for Interactions content. - [Gemini.Types.Interactions.Input](Gemini.Types.Interactions.Input.md): Input union for Interactions `create`. - [Gemini.Types.Interactions.InputTokensByModality](Gemini.Types.Interactions.InputTokensByModality.md): Input token count for a response modality. - [Gemini.Types.Interactions.Interaction](Gemini.Types.Interactions.Interaction.md): Interactions `Interaction` resource. - [Gemini.Types.Interactions.MCPServer](Gemini.Types.Interactions.MCPServer.md): `mcp_server` tool declaration. - [Gemini.Types.Interactions.MCPServerToolCallContent](Gemini.Types.Interactions.MCPServerToolCallContent.md): MCP server tool call content block (`type: "mcp_server_tool_call"`). - [Gemini.Types.Interactions.MCPServerToolResultContent](Gemini.Types.Interactions.MCPServerToolResultContent.md): MCP server tool result content block (`type: "mcp_server_tool_result"`). - [Gemini.Types.Interactions.OutputTokensByModality](Gemini.Types.Interactions.OutputTokensByModality.md): Output token count for a response modality. - [Gemini.Types.Interactions.SpeechConfig](Gemini.Types.Interactions.SpeechConfig.md): Speech config for Interactions generation (different from generateContent). - [Gemini.Types.Interactions.TextContent](Gemini.Types.Interactions.TextContent.md): A text content block (`type: "text"`). - [Gemini.Types.Interactions.ThinkingLevel](Gemini.Types.Interactions.ThinkingLevel.md): Thinking level for Interactions generation (`"minimal"`, `"low"`, `"medium"`, `"high"`). - [Gemini.Types.Interactions.ThoughtContent](Gemini.Types.Interactions.ThoughtContent.md): A thought content block (`type: "thought"`). - [Gemini.Types.Interactions.Tool](Gemini.Types.Interactions.Tool.md): Union type for Interactions tools. - [Gemini.Types.Interactions.ToolChoice](Gemini.Types.Interactions.ToolChoice.md): Tool choice union (`ToolChoiceType | ToolChoiceConfig`). - [Gemini.Types.Interactions.ToolChoiceConfig](Gemini.Types.Interactions.ToolChoiceConfig.md): Tool choice configuration. - [Gemini.Types.Interactions.ToolChoiceType](Gemini.Types.Interactions.ToolChoiceType.md): Tool choice type (`"auto" | "any" | "none" | "validated"`). - [Gemini.Types.Interactions.ToolUseTokensByModality](Gemini.Types.Interactions.ToolUseTokensByModality.md): Tool-use token count for a response modality. - [Gemini.Types.Interactions.Turn](Gemini.Types.Interactions.Turn.md): A conversation turn in the Interactions API. - [Gemini.Types.Interactions.URLContext](Gemini.Types.Interactions.URLContext.md): `url_context` tool declaration. - [Gemini.Types.Interactions.URLContextCallArguments](Gemini.Types.Interactions.URLContextCallArguments.md): Arguments for a `url_context_call` content block. - [Gemini.Types.Interactions.URLContextCallContent](Gemini.Types.Interactions.URLContextCallContent.md): URL context call content block (`type: "url_context_call"`). - [Gemini.Types.Interactions.URLContextResult](Gemini.Types.Interactions.URLContextResult.md): URL context result item (`{status, url}`). - [Gemini.Types.Interactions.URLContextResultContent](Gemini.Types.Interactions.URLContextResultContent.md): URL context result content block (`type: "url_context_result"`). - [Gemini.Types.Interactions.Usage](Gemini.Types.Interactions.Usage.md): Token usage statistics for an Interaction. - [Gemini.Types.Interactions.VideoContent](Gemini.Types.Interactions.VideoContent.md): A video content block (`type: "video"`). - [Gemini.Types.Interactions.VideoMimeType](Gemini.Types.Interactions.VideoMimeType.md): Video mime types for Interactions content. - [Gemini.Types.ListBatchJobsResponse](Gemini.Types.ListBatchJobsResponse.md): Response type for listing batch jobs. - [Gemini.Types.ListDocumentsResponse](Gemini.Types.ListDocumentsResponse.md): Response type for listing documents in a RAG store. - [Gemini.Types.ListFileSearchStoresResponse](Gemini.Types.ListFileSearchStoresResponse.md): Response type for listing file search stores. - [Gemini.Types.ListFilesResponse](Gemini.Types.ListFilesResponse.md): Response type for listing files. - [Gemini.Types.ListOperationsResponse](Gemini.Types.ListOperationsResponse.md): Response type for listing operations. - [Gemini.Types.ListRagStoresResponse](Gemini.Types.ListRagStoresResponse.md): Response type for listing RAG stores. - [Gemini.Types.MediaResolution](Gemini.Types.MediaResolution.md): Media resolution enum for controlling token allocation on media inputs. - [Gemini.Types.Modality](Gemini.Types.Modality.md): Response modality types for multimodal generation. - [Gemini.Types.Operation](Gemini.Types.Operation.md): Type definitions for long-running operations. - [Gemini.Types.Part](Gemini.Types.Part.md): Part type for content in Gemini API. - [Gemini.Types.Part.MediaResolution](Gemini.Types.Part.MediaResolution.md): Media resolution settings for Gemini 3 vision processing. - [Gemini.Types.PrebuiltVoiceConfig](Gemini.Types.PrebuiltVoiceConfig.md): Configuration for a prebuilt voice. - [Gemini.Types.RagStore](Gemini.Types.RagStore.md): Type definitions for RAG stores (FileSearchStores). - [Gemini.Types.Request.BatchEmbedContentsRequest](Gemini.Types.Request.BatchEmbedContentsRequest.md): Request structure for batch embedding multiple content items. - [Gemini.Types.Request.CountTokensRequest](Gemini.Types.Request.CountTokensRequest.md): Request structure for counting tokens. - [Gemini.Types.Request.EmbedContentBatch](Gemini.Types.Request.EmbedContentBatch.md): Async batch embedding job request. - [Gemini.Types.Request.EmbedContentRequest](Gemini.Types.Request.EmbedContentRequest.md): Request structure for embedding content using Gemini embedding models. - [Gemini.Types.Request.GenerateContentRequest](Gemini.Types.Request.GenerateContentRequest.md): Request structure for content generation. - [Gemini.Types.Request.GetModelRequest](Gemini.Types.Request.GetModelRequest.md): Request structure for getting a specific model. - [Gemini.Types.Request.InlinedEmbedContentRequest](Gemini.Types.Request.InlinedEmbedContentRequest.md): A single embedding request within an async batch, with optional metadata. - [Gemini.Types.Request.InlinedEmbedContentRequests](Gemini.Types.Request.InlinedEmbedContentRequests.md): Container for multiple inlined embedding requests in a batch. - [Gemini.Types.Request.InputEmbedContentConfig](Gemini.Types.Request.InputEmbedContentConfig.md): Input configuration for async batch embedding. - [Gemini.Types.Request.ListModelsRequest](Gemini.Types.Request.ListModelsRequest.md): Request structure for listing models with pagination support. - [Gemini.Types.Response.BatchEmbedContentsResponse](Gemini.Types.Response.BatchEmbedContentsResponse.md): Response structure for batch embedding requests. - [Gemini.Types.Response.BatchState](Gemini.Types.Response.BatchState.md): Represents the state of an async batch embedding job. - [Gemini.Types.Response.Candidate](Gemini.Types.Response.Candidate.md): Content candidate in response. - [Gemini.Types.Response.CitationMetadata](Gemini.Types.Response.CitationMetadata.md): Citation metadata for generated content. - [Gemini.Types.Response.CitationSource](Gemini.Types.Response.CitationSource.md): Citation source information. - [Gemini.Types.Response.ContentEmbedding](Gemini.Types.Response.ContentEmbedding.md): A list of floats representing an embedding. - [Gemini.Types.Response.CountTokensResponse](Gemini.Types.Response.CountTokensResponse.md): Response from counting tokens. - [Gemini.Types.Response.EmbedContentBatch](Gemini.Types.Response.EmbedContentBatch.md): Complete async batch embedding job status and results. - [Gemini.Types.Response.EmbedContentBatchOutput](Gemini.Types.Response.EmbedContentBatchOutput.md): Output of an async batch embedding job. - [Gemini.Types.Response.EmbedContentBatchStats](Gemini.Types.Response.EmbedContentBatchStats.md): Statistics about an async embedding batch job. - [Gemini.Types.Response.EmbedContentResponse](Gemini.Types.Response.EmbedContentResponse.md): Response structure for embedding content requests. - [Gemini.Types.Response.GenerateContentResponse](Gemini.Types.Response.GenerateContentResponse.md): Response from content generation. - [Gemini.Types.Response.GroundingAttribution](Gemini.Types.Response.GroundingAttribution.md): Grounding attribution information. - [Gemini.Types.Response.GroundingAttributionSourceId](Gemini.Types.Response.GroundingAttributionSourceId.md): Grounding attribution source ID. - [Gemini.Types.Response.GroundingPassageId](Gemini.Types.Response.GroundingPassageId.md): Grounding passage ID. - [Gemini.Types.Response.InlinedEmbedContentResponse](Gemini.Types.Response.InlinedEmbedContentResponse.md): Response for a single request within an async batch. - [Gemini.Types.Response.InlinedEmbedContentResponses](Gemini.Types.Response.InlinedEmbedContentResponses.md): Container for all responses in an inline batch. - [Gemini.Types.Response.ListModelsResponse](Gemini.Types.Response.ListModelsResponse.md): Response structure for listing models. - [Gemini.Types.Response.ModalityTokenCount](Gemini.Types.Response.ModalityTokenCount.md): Token counting information for a single modality. - [Gemini.Types.Response.Model](Gemini.Types.Response.Model.md): Model information response structure. - [Gemini.Types.Response.PromptFeedback](Gemini.Types.Response.PromptFeedback.md): Prompt feedback information. - [Gemini.Types.Response.SafetyRating](Gemini.Types.Response.SafetyRating.md): Safety rating for content. - [Gemini.Types.Response.SemanticRetrieverChunk](Gemini.Types.Response.SemanticRetrieverChunk.md): Semantic retriever chunk information. - [Gemini.Types.Response.TrafficType](Gemini.Types.Response.TrafficType.md): Traffic type for API requests (billing classification). - [Gemini.Types.Response.UsageMetadata](Gemini.Types.Response.UsageMetadata.md): Usage metadata for API calls. - [Gemini.Types.SafetySetting](Gemini.Types.SafetySetting.md): Safety settings for content generation. - [Gemini.Types.Schema](Gemini.Types.Schema.md): JSON Schema type for defining function parameters in Gemini tool calling. - [Gemini.Types.SpeechConfig](Gemini.Types.SpeechConfig.md): Speech generation configuration. - [Gemini.Types.ToolSerialization](Gemini.Types.ToolSerialization.md): Pure data transformation utilities to serialize ALTAR ADM tool structures into the exact JSON maps expected by the Gemini API. - [Gemini.Types.Tuning](Gemini.Types.Tuning.md): Types for the Tunings API (fine-tuning/model tuning). - [Gemini.Types.Tuning.CreateTuningJobConfig](Gemini.Types.Tuning.CreateTuningJobConfig.md): Configuration for creating a new tuning job. - [Gemini.Types.Tuning.HyperParameters](Gemini.Types.Tuning.HyperParameters.md): Hyperparameters for supervised tuning. - [Gemini.Types.Tuning.ListTuningJobsResponse](Gemini.Types.Tuning.ListTuningJobsResponse.md): Response from listing tuning jobs with pagination support. - [Gemini.Types.Tuning.SupervisedTuningSpec](Gemini.Types.Tuning.SupervisedTuningSpec.md): Specification for supervised tuning configuration. - [Gemini.Types.Tuning.TuningJob](Gemini.Types.Tuning.TuningJob.md): Represents a tuning job with full status and configuration. - [Gemini.Types.Tuning.TuningJobError](Gemini.Types.Tuning.TuningJobError.md): Error information for failed tuning jobs. - [Gemini.Types.UploadFileConfig](Gemini.Types.UploadFileConfig.md): Configuration options for file upload. - [Gemini.Types.VoiceConfig](Gemini.Types.VoiceConfig.md): Voice configuration for speech synthesis. - [Gemini.Utils.MapHelpers](Gemini.Utils.MapHelpers.md): Shared helper functions for building maps with optional values. - [Gemini.Utils.PollingHelpers](Gemini.Utils.PollingHelpers.md): Shared helper functions for polling operations. - [Gemini.Utils.ResourceNames](Gemini.Utils.ResourceNames.md): Utilities for normalizing Google Cloud resource names for Gemini/Vertex AI. - [Gemini.Validation.ThinkingConfig](Gemini.Validation.ThinkingConfig.md): Validation for thinking configuration parameters based on model capabilities. - Core API - [Gemini](Gemini.md): # Gemini Elixir Client - [Gemini.APIs.Coordinator](Gemini.APIs.Coordinator.md): Coordinates API calls across different authentication strategies and endpoints. - Authentication - [Gemini.Auth](Gemini.Auth.md): Authentication strategy behavior and implementations for Gemini and Vertex AI. - [Gemini.Auth.GeminiStrategy](Gemini.Auth.GeminiStrategy.md): Authentication strategy for Google Gemini API using API key. - [Gemini.Auth.MultiAuthCoordinator](Gemini.Auth.MultiAuthCoordinator.md): Coordinates multiple authentication strategies for concurrent usage. - [Gemini.Auth.VertexStrategy](Gemini.Auth.VertexStrategy.md): Authentication strategy for Google Vertex AI using OAuth2/Service Account. - Live API - [Gemini.Live.Audio](Gemini.Live.Audio.md): Audio utilities for Live API. - [Gemini.Live.EphemeralToken](Gemini.Live.EphemeralToken.md): Creates ephemeral tokens for client-side Live API access. - [Gemini.Live.Session](Gemini.Live.Session.md): GenServer managing a Live API WebSocket session. - Streaming - [Gemini.SSE.Parser](Gemini.SSE.Parser.md): Server-Sent Events (SSE) parser for streaming responses. - [Gemini.Streaming.UnifiedManager](Gemini.Streaming.UnifiedManager.md): Unified streaming manager that supports multiple authentication strategies. - HTTP Client - [Gemini.Client](Gemini.Client.md): Main client module that delegates to the appropriate HTTP client implementation. - [Gemini.Client.HTTP](Gemini.Client.HTTP.md): HTTP client for both Gemini and Vertex AI APIs using Req. - [Gemini.Client.HTTPStreaming](Gemini.Client.HTTPStreaming.md): HTTP client for streaming Server-Sent Events (SSE) from Gemini API. - [Gemini.Client.WebSocket](Gemini.Client.WebSocket.md): WebSocket client for Gemini Live API using :gun. - Types - Live - [Gemini.Types.Live.AudioTranscriptionConfig](Gemini.Types.Live.AudioTranscriptionConfig.md): Audio transcription configuration for Live API sessions. - [Gemini.Types.Live.AutomaticActivityDetection](Gemini.Types.Live.AutomaticActivityDetection.md): Automatic activity detection configuration for Live API sessions. - [Gemini.Types.Live.ClientContent](Gemini.Types.Live.ClientContent.md): Client content message for Live API sessions. - [Gemini.Types.Live.ContextWindowCompression](Gemini.Types.Live.ContextWindowCompression.md): Context window compression configuration for Live API sessions. - [Gemini.Types.Live.Enums](Gemini.Types.Live.Enums.md): Enumeration types for the Live API (WebSocket). - [Gemini.Types.Live.Enums.ActivityHandling](Gemini.Types.Live.Enums.ActivityHandling.md): The different ways of handling user activity. - [Gemini.Types.Live.Enums.EndSensitivity](Gemini.Types.Live.Enums.EndSensitivity.md): Determines how end of speech is detected. - [Gemini.Types.Live.Enums.StartSensitivity](Gemini.Types.Live.Enums.StartSensitivity.md): Determines how start of speech is detected. - [Gemini.Types.Live.Enums.TurnCoverage](Gemini.Types.Live.Enums.TurnCoverage.md): Options about which input is included in the user's turn. - [Gemini.Types.Live.Enums.VadSignalType](Gemini.Types.Live.Enums.VadSignalType.md): Voice Activity Detection signal types. - [Gemini.Types.Live.GoAway](Gemini.Types.Live.GoAway.md): Notice from the server that the connection will soon be terminated. - [Gemini.Types.Live.GroundingMetadata](Gemini.Types.Live.GroundingMetadata.md): Grounding metadata for Live API responses. - [Gemini.Types.Live.ProactivityConfig](Gemini.Types.Live.ProactivityConfig.md): Proactivity configuration for Live API sessions. - [Gemini.Types.Live.RealtimeInput](Gemini.Types.Live.RealtimeInput.md): Realtime input for Live API sessions. - [Gemini.Types.Live.RealtimeInputConfig](Gemini.Types.Live.RealtimeInputConfig.md): Realtime input configuration for Live API sessions. - [Gemini.Types.Live.ServerContent](Gemini.Types.Live.ServerContent.md): Server content message for Live API sessions. - [Gemini.Types.Live.ServerMessage](Gemini.Types.Live.ServerMessage.md): Server message wrapper for Live API responses. - [Gemini.Types.Live.SessionResumptionConfig](Gemini.Types.Live.SessionResumptionConfig.md): Session resumption configuration for Live API sessions. - [Gemini.Types.Live.SessionResumptionUpdate](Gemini.Types.Live.SessionResumptionUpdate.md): Session resumption state update from the server. - [Gemini.Types.Live.Setup](Gemini.Types.Live.Setup.md): Session setup configuration for Live API. - [Gemini.Types.Live.SetupComplete](Gemini.Types.Live.SetupComplete.md): Setup complete message from the server. - [Gemini.Types.Live.SlidingWindow](Gemini.Types.Live.SlidingWindow.md): Sliding window context compression configuration. - [Gemini.Types.Live.ToolCall](Gemini.Types.Live.ToolCall.md): Tool call request from the server in Live API sessions. - [Gemini.Types.Live.ToolCallCancellation](Gemini.Types.Live.ToolCallCancellation.md): Tool call cancellation notification from the server. - [Gemini.Types.Live.ToolResponse](Gemini.Types.Live.ToolResponse.md): Tool response from the client in Live API sessions. - [Gemini.Types.Live.Transcription](Gemini.Types.Live.Transcription.md): Transcription of audio (input or output) in Live API sessions. - [Gemini.Types.Live.UsageMetadata](Gemini.Types.Live.UsageMetadata.md): Usage metadata for Live API responses. - [Gemini.Types.Live.VoiceActivity](Gemini.Types.Live.VoiceActivity.md): Voice activity signal for Live API sessions. - Types & Schemas - [Gemini.Types.Content](Gemini.Types.Content.md): Content type for Gemini API requests and responses. - [Gemini.Types.ModelArmorConfig](Gemini.Types.ModelArmorConfig.md): Configuration for Model Armor integrations. - [Gemini.Types.RegisterFilesConfig](Gemini.Types.RegisterFilesConfig.md): Configuration for the register_files method. - [Gemini.Types.RegisterFilesResponse](Gemini.Types.RegisterFilesResponse.md): Response from the register_files method. - [Gemini.Types.Response](Gemini.Types.Response.md): Response types for the Gemini API. - Configuration - [Gemini.Config](Gemini.Config.md): Unified configuration management for both Gemini and Vertex AI authentication. - Error Handling - [Gemini.Error](Gemini.Error.md): Standardized error structure for Gemini client. - Utilities - [Gemini.Telemetry](Gemini.Telemetry.md): Telemetry instrumentation helpers for Gemini library.