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-native usage data retained when available, including fields that are not yet projected into the normalized counters above.
Trait Implementations§
Source§impl Clone for UsageMetadata
impl Clone for UsageMetadata
Source§impl Debug for UsageMetadata
impl Debug for UsageMetadata
Source§impl Default for UsageMetadata
impl Default for UsageMetadata
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