from pydantic import BaseModel


class RealtimeModel(BaseModel):
    input_tokens: int
    input_text_tokens: int
    input_audio_tokens: int
    input_image_tokens: int
    cached_text_tokens: int
    cached_audio_tokens: int
    cached_image_tokens: int
    output_tokens: int
    output_text_tokens: int
    output_audio_tokens: int
    input_text_cost: float
    input_audio_cost: float
    input_image_cost: float
    cached_text_cost: float
    cached_audio_cost: float
    cached_image_cost: float
    text_output_cost: float
    audio_output_cost: float
    total_input_cost: float
    total_output_cost: float
    total_cost: float


class RealtimeTranscribeModel(BaseModel):
    input_text_tokens: int
    input_audio_tokens: int
    output_text_tokens: int
    input_text_cost: float
    input_audio_cost: float
    output_text_cost: float
    total_cost: float


class ChatCompletionModel(BaseModel):
    input_text_tokens: int
    cached_text_tokens: int
    output_text_tokens: int
    input_text_cost: float
    cached_text_cost: float
    output_text_cost: float
    total_cost: float
