fix: 为FFMPEGVideoLoopFillAudioRequest添加字段验证器

修复video-loop-fill接口无法接受字符串格式S3 URL的问题,添加field_validator来处理video和audio字段的字符串到MediaSource对象的转换
This commit is contained in:
imeepos 2025-09-19 15:27:20 +08:00
parent 21af708598
commit ceef34c523
1 changed files with 20 additions and 0 deletions

View File

@ -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="提取帧画面的来源")