diff --git a/video-gen-api/app/enums/__init__.py b/video-gen-api/app/enums/__init__.py index 730424e5..224ff9a8 100644 --- a/video-gen-api/app/enums/__init__.py +++ b/video-gen-api/app/enums/__init__.py @@ -7,3 +7,5 @@ from app.enums.user import * from app.enums.credit_record import * from app.enums.token_usage import * from app.enums.generation_task import * +from app.enums.generation_status import * +from app.enums.sms import * diff --git a/video-gen-api/app/enums/generation.py b/video-gen-api/app/enums/generation.py new file mode 100644 index 00000000..c4502eaf --- /dev/null +++ b/video-gen-api/app/enums/generation.py @@ -0,0 +1,49 @@ +from enum import Enum + + +class GenerationMode(str, Enum): + """生成模式。""" + STANDARD = "standard" + FAST = "fast" + + +class GenerationType(str, Enum): + """生成类型。""" + video = "video" + image = "image" + + +class ChatGenerationTaskStatus(str, Enum): + """聊天生成任务状态。""" + pending = "pending" + processing = "processing" + completed = "completed" + failed = "failed" + + +class ChatGenerationPipelineStage(str, Enum): + """聊天生成任务阶段。""" + waiting = "waiting" + prompt_optimization = "prompt_optimization" + video_generation = "video_generation" + post_processing = "post_processing" + completed = "completed" + failed = "failed" + + +class ChatGenerationTaskEventType(str, Enum): + """聊天生成任务事件类型。""" + TASK_CREATED = "TASK_CREATED" + TASK_DELETED = "TASK_DELETED" + TASK_CANCELLED = "TASK_CANCELLED" + PROMPT_OPT_STARTED = "PROMPT_OPT_STARTED" + PROMPT_OPT_COMPLETED = "PROMPT_OPT_COMPLETED" + PROMPT_OPT_FAILED = "PROMPT_OPT_FAILED" + VIDEO_GEN_STARTED = "VIDEO_GEN_STARTED" + VIDEO_GEN_COMPLETED = "VIDEO_GEN_COMPLETED" + VIDEO_GEN_FAILED = "VIDEO_GEN_FAILED" + POST_PROCESSING_STARTED = "POST_PROCESSING_STARTED" + POST_PROCESSING_COMPLETED = "POST_PROCESSING_COMPLETED" + POST_PROCESSING_FAILED = "POST_PROCESSING_FAILED" + TASK_COMPLETED = "TASK_COMPLETED" + TASK_FAILED = "TASK_FAILED" \ No newline at end of file diff --git a/video-gen-api/app/enums/generation_status.py b/video-gen-api/app/enums/generation_status.py new file mode 100644 index 00000000..81dcb791 --- /dev/null +++ b/video-gen-api/app/enums/generation_status.py @@ -0,0 +1,22 @@ +from enum import Enum + + +class GenerationStatus(str, Enum): + """生成状态。""" + prompt_optimized = "prompt_optimized" + generating = "generating" + completed = "completed" + failed = "failed" + + +class GenerationType(str, Enum): + """生成类型。""" + video = "video" + image = "image" + + +# 生成配置常量 +DURATIONS = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] +ASPECT_RATIOS = ["16:9", "9:16", "1:1", "4:3", "3:4", "21:9"] +RESOLUTIONS = ["480p", "720p", "1080p"] +IMAGE_SIZES = ["2K", "4K"] \ No newline at end of file diff --git a/video-gen-api/app/enums/sms.py b/video-gen-api/app/enums/sms.py new file mode 100644 index 00000000..d364df0d --- /dev/null +++ b/video-gen-api/app/enums/sms.py @@ -0,0 +1,9 @@ +from enum import Enum + + +class SmsScene(str, Enum): + """短信场景。""" + register = "register" + login = "login" + common = "common" + set_password = "set_password" \ No newline at end of file diff --git a/video-gen-api/app/schemas/generation.py b/video-gen-api/app/schemas/generation.py index 51d71ce5..fca8db5c 100644 --- a/video-gen-api/app/schemas/generation.py +++ b/video-gen-api/app/schemas/generation.py @@ -1,29 +1,17 @@ -from enum import Enum - from pydantic import BaseModel, Field +from app.enums.generation_status import ( + GenerationStatus, + GenerationType, + DURATIONS, + ASPECT_RATIOS, + RESOLUTIONS, + IMAGE_SIZES, +) from app.schemas.common import NaiveDatetime, NaiveDatetimeOptional from app.services.operation_log import log_operation -class GenerationStatus(str, Enum): - prompt_optimized = "prompt_optimized" - generating = "generating" - completed = "completed" - failed = "failed" - - -class GenerationType(str, Enum): - video = "video" - image = "image" - - -DURATIONS = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] -ASPECT_RATIOS = ["16:9", "9:16", "1:1", "4:3", "3:4", "21:9"] -RESOLUTIONS = ["480p", "720p", "1080p"] -IMAGE_SIZES = ["2K", "4K"] - - class OptimizeParams(BaseModel): project_id: str prompt: str = Field(..., max_length=500) diff --git a/video-gen-api/app/schemas/sms.py b/video-gen-api/app/schemas/sms.py index 1c84396a..5b8dc793 100644 --- a/video-gen-api/app/schemas/sms.py +++ b/video-gen-api/app/schemas/sms.py @@ -1,13 +1,6 @@ -from enum import Enum - from pydantic import BaseModel, Field - -class SmsScene(str, Enum): - register = "register" - login = "login" - common = "common" - set_password = "set_password" +from app.enums.sms import SmsScene class SmsSendRequest(BaseModel):