use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct TokenUsageInputTokenDetails {
pub audio_tokens: u32,
pub text_tokens: u32,
}
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct TranscriptTextUsageTokens {
pub input_tokens: u32,
pub output_tokens: u32,
pub total_tokens: u32,
pub input_token_details: Option<TokenUsageInputTokenDetails>,
}
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct TranscriptTextUsageDuration {
pub seconds: f32,
}
#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(tag = "type")]
pub enum TranscriptionUsage {
#[serde(rename = "tokens")]
Tokens(TranscriptTextUsageTokens),
#[serde(rename = "duration")]
Duration(TranscriptTextUsageDuration),
}