use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TranscriptionResponse {
pub text: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub language: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub duration: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub words: Option<Vec<Word>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub segments: Option<Vec<Segment>>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Word {
pub word: String,
pub start: f64,
pub end: f64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Segment {
pub id: i32,
pub seek: i32,
pub start: f64,
pub end: f64,
pub text: String,
pub tokens: Vec<i32>,
pub temperature: f64,
pub avg_logprob: f64,
pub compression_ratio: f64,
pub no_speech_prob: f64,
}