Files
ai-char-bot/api/models/GenerationRequest.py

56 lines
1.4 KiB
Python

from datetime import datetime, UTC
from typing import List, Optional
from pydantic import BaseModel
from models.Asset import Asset
from models.Generation import GenerationStatus
from models.enums import AspectRatios, Quality, GenType
class GenerationRequest(BaseModel):
linked_character_id: Optional[str] = None
aspect_ratio: AspectRatios = AspectRatios.NINESIXTEEN
quality: Quality = Quality.ONEK
prompt: str
telegram_id: Optional[int] = None
use_profile_image: bool = True
assets_list: List[str]
class GenerationsResponse(BaseModel):
generations: List["GenerationResponse"]
total_count: int
class GenerationResponse(BaseModel):
id: str
status: GenerationStatus
failed_reason: Optional[str] = None
linked_character_id: Optional[str] = None
aspect_ratio: AspectRatios
quality: Quality
prompt: str
tech_prompt: Optional[str] = None
assets_list: List[str]
result_list: List[str] = []
result: Optional[str] = None
execution_time_seconds: Optional[float] = None
api_execution_time_seconds: Optional[float] = None
token_usage: Optional[int] = None
input_token_usage: Optional[int] = None
output_token_usage: Optional[int] = None
progress: int = 0
created_at: datetime = datetime.now(UTC)
updated_at: datetime = datetime.now(UTC)
class PromptRequest(BaseModel):
prompt: str
linked_assets: List[str] = []
class PromptResponse(BaseModel):
prompt: str