from dataclasses import dataclass from pydantic import BaseModel class FrameVerdict(BaseModel): index: int time: float legible: bool broken: str class TitleGateVerdict(BaseModel): passed: bool reason: str = "" skip: str = "" # 판단 근거가 없어 통과시킨 사유 pixel_score: float | None = None # 글리프 휘도차 A pixel_hard: bool = False # 하드컷 초과 — VLM 2단으로 넘어감 samples: list[float] = [] frames: list[FrameVerdict] = [] @dataclass class I2vResult: clip: bytes credits: float # generate create 응답에 크레딧이 없어 cost 조회값을 쓴다 model: str title_gate: TitleGateVerdict