diff --git a/pixelle_video/config/__init__.py b/pixelle_video/config/__init__.py index b61793a..c64cb04 100644 --- a/pixelle_video/config/__init__.py +++ b/pixelle_video/config/__init__.py @@ -29,7 +29,7 @@ Usage: if config_manager.validate(): print("Config is valid!") """ -from .schema import PixelleVideoConfig, LLMConfig, ComfyUIConfig, TTSSubConfig, ImageSubConfig +from .schema import PixelleVideoConfig, LLMConfig, ComfyUIConfig, TTSSubConfig, ImageSubConfig, VideoSubConfig from .manager import ConfigManager from .loader import load_config_dict, save_config_dict @@ -42,6 +42,7 @@ __all__ = [ "ComfyUIConfig", "TTSSubConfig", "ImageSubConfig", + "VideoSubConfig", "ConfigManager", "config_manager", "load_config_dict", diff --git a/pixelle_video/config/manager.py b/pixelle_video/config/manager.py index 9966e67..04374bb 100644 --- a/pixelle_video/config/manager.py +++ b/pixelle_video/config/manager.py @@ -135,6 +135,10 @@ class ConfigManager: "image": { "default_workflow": self.config.comfyui.image.default_workflow, "prompt_prefix": self.config.comfyui.image.prompt_prefix, + }, + "video": { + "default_workflow": self.config.comfyui.video.default_workflow, + "prompt_prefix": self.config.comfyui.video.prompt_prefix, } } diff --git a/pixelle_video/config/schema.py b/pixelle_video/config/schema.py index 7884c85..9723f43 100644 --- a/pixelle_video/config/schema.py +++ b/pixelle_video/config/schema.py @@ -59,12 +59,22 @@ class ImageSubConfig(BaseModel): ) +class VideoSubConfig(BaseModel): + """Video-specific configuration (under comfyui.video)""" + default_workflow: Optional[str] = Field(default=None, description="Default video workflow (optional)") + prompt_prefix: str = Field( + default="Minimalist black-and-white matchstick figure style illustration, clean lines, simple sketch style", + description="Prompt prefix for all video generation" + ) + + class ComfyUIConfig(BaseModel): """ComfyUI configuration (includes global settings and service-specific configs)""" comfyui_url: str = Field(default="http://127.0.0.1:8188", description="ComfyUI Server URL") runninghub_api_key: Optional[str] = Field(default=None, description="RunningHub API Key (optional)") tts: TTSSubConfig = Field(default_factory=TTSSubConfig, description="TTS-specific configuration") image: ImageSubConfig = Field(default_factory=ImageSubConfig, description="Image-specific configuration") + video: VideoSubConfig = Field(default_factory=VideoSubConfig, description="Video-specific configuration") class TemplateConfig(BaseModel):