outfox_openai/spec/shared/
transcription_usage.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize, Clone)]
4pub struct TokenUsageInputTokenDetails {
5 pub audio_tokens: u32,
7 pub text_tokens: u32,
9}
10
11#[derive(Debug, Serialize, Deserialize, Clone)]
12pub struct TranscriptTextUsageTokens {
13 pub input_tokens: u32,
15 pub output_tokens: u32,
17 pub total_tokens: u32,
19 pub input_token_details: Option<TokenUsageInputTokenDetails>,
21}
22
23#[derive(Debug, Serialize, Deserialize, Clone)]
24pub struct TranscriptTextUsageDuration {
25 pub seconds: f32,
27}
28
29#[derive(Debug, Serialize, Deserialize, Clone)]
30#[serde(tag = "type")]
31pub enum TranscriptionUsage {
32 #[serde(rename = "tokens")]
33 Tokens(TranscriptTextUsageTokens),
34 #[serde(rename = "duration")]
35 Duration(TranscriptTextUsageDuration),
36}