playreel/backend/models/i2v.py

29 lines
755 B
Python

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