fix: 为FFMPEGVideoLoopFillAudioRequest添加字段验证器
修复video-loop-fill接口无法接受字符串格式S3 URL的问题,添加field_validator来处理video和audio字段的字符串到MediaSource对象的转换
This commit is contained in:
parent
21af708598
commit
ceef34c523
|
|
@ -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="提取帧画面的来源")
|
||||
|
|
|
|||
Loading…
Reference in New Issue