pub struct UsageMetadata {
pub prompt_token_count: i32,
pub candidates_token_count: i32,
pub total_token_count: i32,
pub cache_read_input_token_count: Option<i32>,
pub cache_creation_input_token_count: Option<i32>,
pub thinking_token_count: Option<i32>,
pub audio_input_token_count: Option<i32>,
pub audio_output_token_count: Option<i32>,
pub cost: Option<f64>,
pub is_byok: Option<bool>,
pub provider_usage: Option<Value>,
}Expand description
Token usage statistics from an LLM response.
Fields§
§prompt_token_count: i32Number of tokens in the prompt.
candidates_token_count: i32Number of tokens in the generated response.
total_token_count: i32Total tokens (prompt + response).
cache_read_input_token_count: Option<i32>Tokens read from cache (Gemini/Anthropic).
cache_creation_input_token_count: Option<i32>Tokens written to cache during this request.
thinking_token_count: Option<i32>Tokens used for thinking/reasoning (thinking models).
audio_input_token_count: Option<i32>Audio input tokens (multimodal models).
audio_output_token_count: Option<i32>Audio output tokens (multimodal models).
cost: Option<f64>Estimated cost in USD for this request.
is_byok: Option<bool>Whether this request used a bring-your-own-key provider.
provider_usage: Option<Value>Provider-specific usage details (e.g., server tool use, video tokens).
Trait Implementations§
Source§impl Clone for UsageMetadata
impl Clone for UsageMetadata
Source§fn clone(&self) -> UsageMetadata
fn clone(&self) -> UsageMetadata
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for UsageMetadata
impl Debug for UsageMetadata
Source§impl Default for UsageMetadata
impl Default for UsageMetadata
Source§fn default() -> UsageMetadata
fn default() -> UsageMetadata
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for UsageMetadata
impl<'de> Deserialize<'de> for UsageMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for UsageMetadata
impl RefUnwindSafe for UsageMetadata
impl Send for UsageMetadata
impl Sync for UsageMetadata
impl Unpin for UsageMetadata
impl UnsafeUnpin for UsageMetadata
impl UnwindSafe for UsageMetadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more