# GeminiEx v0.14.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 &amp; 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 &amp; 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 &amp; 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.GovernedAuthority](Gemini.GovernedAuthority.md): Authority-materialized Gemini inputs for governed execution.
- [Gemini.Live.Models](Gemini.Live.Models.md): Live API model selection helpers.
- [Gemini.ModelRegistry](Gemini.ModelRegistry.md): Canonical model registry with capability metadata.
- [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.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.TurnCompleteReason](Gemini.Types.Live.Enums.TurnCompleteReason.md): Reasons why a Live API turn completed.
- [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.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.MultiSpeakerVoiceConfig](Gemini.Types.MultiSpeakerVoiceConfig.md): Configuration for multi-speaker voice synthesis.
- [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.SpeakerVoiceConfig](Gemini.Types.SpeakerVoiceConfig.md): Configuration for a single speaker in multi-speaker voice synthesis.

- [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.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 &amp; 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.

