diff --git a/src/BowongModalFunctions/models/requests/models.py b/src/BowongModalFunctions/models/requests/models.py index f61802c..3e87400 100644 --- a/src/BowongModalFunctions/models/requests/models.py +++ b/src/BowongModalFunctions/models/requests/models.py @@ -323,6 +323,26 @@ class FFMPEGVideoLoopFillAudioRequest(BaseFFMPEGTaskRequest): video: MediaSource = Field(description="用来填充的视频素材") audio: MediaSource = Field(description="被填充的音频素材") + @field_validator('video', mode='before') + @classmethod + def parse_video_input(cls, v: Union[str, MediaSource]): + if isinstance(v, str): + return MediaSource.from_str(v) + elif isinstance(v, MediaSource): + return v + else: + raise TypeError(v) + + @field_validator('audio', mode='before') + @classmethod + def parse_audio_input(cls, v: Union[str, MediaSource]): + if isinstance(v, str): + return MediaSource.from_str(v) + elif isinstance(v, MediaSource): + return v + else: + raise TypeError(v) + class FFMPEGExtractFrameRequest(BaseFFMPEGTaskRequest): video: MediaSource = Field(description="提取帧画面的来源")