1#![deny(missing_docs)]
8#![forbid(unsafe_code)]
9
10mod accounting;
11mod agent;
12mod api;
13mod error;
14mod model;
15
16pub use accounting::{
17 GroupedUsage, LimitPeriod, LimitStatus, SpendingLimits, UsageBreakdown, UsageRecord,
18 UsageTotals, UsageWindow,
19};
20pub use agent::{AgentTool, AgentToolCall, AgentTurnRequest, AgentTurnResponse, ModelMetadata};
21pub use api::Gemini;
22pub use error::{Error, Result};
23pub use model::{
24 AspectRatio, CompletionStatus, CostAccuracy, CostBreakdown, GeneratedImage, GenerationOptions,
25 GroundedSearchRequest, GroundedSearchResponse, InferenceRequest, InferenceResponse, MediaInput,
26 MediaKind, Modality, ModalityTokens, Money, MultimodalRequest, NanoBananaProRequest,
27 ServiceTier, StructuredOutput, TextModel, ThinkingLevel, TokenUsage, WebSource,
28};
29
30pub const GEMINI_31_FLASH_LITE: &str = "gemini-3.1-flash-lite";
32pub const GEMINI_31_PRO: &str = "gemini-3.1-pro-preview";
34pub const GEMINI_25_FLASH: &str = "gemini-2.5-flash";
36pub const NANO_BANANA_PRO: &str = "gemini-3-pro-image";