2025-09-25 17:21:45 +08:00

49 lines
1.7 KiB
TypeScript

import { TaskModal } from '@/define/model/task'
import { MJVideoService } from './mjVideo'
import { KlingVideoService } from './klingVideo'
import { HaiLuoVideoService } from './hailuoVideo'
export class VideoHandle {
mjVideoService: MJVideoService
klingVideoService: KlingVideoService
hailuoVideoService: HaiLuoVideoService
// 这里可以添加 VideoHandle 特有的方法
constructor() {
// mixin 装饰器会处理初始化
this.mjVideoService = new MJVideoService()
this.klingVideoService = new KlingVideoService()
this.hailuoVideoService = new HaiLuoVideoService()
}
/** MJ图片转视频处理方法 将指定的图片通过Midjourney API转换为视频 */
MJImageToVideo(task: TaskModal.Task) {
return this.mjVideoService.MJImageToVideo(task)
}
/** MJ视频扩展生成视频处理方法 将指定的视频通过Midjourney API进行扩展生成新视频 */
MJVideoExtendToVideo(task: TaskModal.Task) {
return this.mjVideoService.MJVideoExtendToVideo(task)
}
/** 将静态图片通过可灵AI模型转换为动态视频的核心方法。 支持多种参数配置,包括模型选择、提示词、负面提示词、持续时间等。 */
KlingImageToVideo(task: TaskModal.Task) {
return this.klingVideoService.KlingImageToVideo(task)
}
/** 可灵视频延长服务 */
KlingVideoExtend(task: TaskModal.Task) {
return this.klingVideoService.KlingVideoExtend(task)
}
HailuoTextToVideo(task: TaskModal.Task) {
return this.hailuoVideoService.HailuoTextToVideo(task)
}
HailuoImageToVideo(task: TaskModal.Task) {
return this.hailuoVideoService.HailuoImageToVideo(task)
}
HailuoFirstLastFrameToVideo(task: TaskModal.Task) {
return this.hailuoVideoService.HailuoFirstLastFrameToVideo(task)
}
}