from enum import StrEnum class ClipGenre(StrEnum): MUSIC = "Music" class ProjectStage(StrEnum): PENDING = "PENDING" QUEUED = "QUEUED" IMPORT = "IMPORT" CURATE = "CURATE" REFINE = "REFINE" RENDER = "RENDER" UPLOAD = "UPLOAD" COMPLETE = "COMPLETE" STALLED = "STALLED" class LayoutAspectRatio(StrEnum): PORTRAIT = "portrait" # 9:16 SQUARE = "square" # 1:1 LANDSCAPE = "landscape" # 16:9 @classmethod def list(cls) -> list[str]: return list(map(lambda c: c.value, cls)) class ClipDuration(StrEnum): ZERO_TO_THIRTY = "< 30" THIRTY_TO_SIXTY = "30 - 60" ZERO_TO_NINETY = "< 90" SIXTY_TO_NINETY = "60 - 90" NINETY_TO_ONE_EIGHTY = "90 - 180" def to_api_value(self) -> list[int]: mapping = { self.ZERO_TO_THIRTY: [0, 30], self.THIRTY_TO_SIXTY: [30, 60], self.ZERO_TO_NINETY: [0, 90], self.SIXTY_TO_NINETY: [60, 90], self.NINETY_TO_ONE_EIGHTY: [90, 180], } return mapping[self] @classmethod def list(cls) -> list[str]: return list(map(lambda c: c.value, cls)) class CurationModel(StrEnum): CLIP_ANYTHING = "ClipAnything" CLIP_BASIC = "ClipBasic"