1、添加中英文版本
2、修复已知BUG 3、完善功能 4、添加minimax视频渠道
This commit is contained in:
@@ -20,7 +20,7 @@ type ImageGenerationHandler struct {
|
||||
|
||||
func NewImageGenerationHandler(db *gorm.DB, cfg *config.Config, log *logger.Logger, transferService *services.ResourceTransferService, localStorage *storage.LocalStorage) *ImageGenerationHandler {
|
||||
return &ImageGenerationHandler{
|
||||
imageService: services.NewImageGenerationService(db, transferService, localStorage, log),
|
||||
imageService: services.NewImageGenerationService(db, cfg, transferService, localStorage, log),
|
||||
taskService: services.NewTaskService(db, log),
|
||||
log: log,
|
||||
}
|
||||
@@ -75,6 +75,15 @@ func (h *ImageGenerationHandler) GetBackgroundsForEpisode(c *gin.Context) {
|
||||
func (h *ImageGenerationHandler) ExtractBackgroundsForEpisode(c *gin.Context) {
|
||||
episodeID := c.Param("episode_id")
|
||||
|
||||
// 接收可选的 model 参数
|
||||
var req struct {
|
||||
Model string `json:"model"`
|
||||
}
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
// 如果没有提供body或者解析失败,使用空字符串(使用默认模型)
|
||||
req.Model = ""
|
||||
}
|
||||
|
||||
// 创建异步任务
|
||||
task, err := h.taskService.CreateTask("background_extraction", episodeID)
|
||||
if err != nil {
|
||||
@@ -84,7 +93,7 @@ func (h *ImageGenerationHandler) ExtractBackgroundsForEpisode(c *gin.Context) {
|
||||
}
|
||||
|
||||
// 启动后台goroutine处理
|
||||
go h.processBackgroundExtraction(task.ID, episodeID)
|
||||
go h.processBackgroundExtraction(task.ID, episodeID, req.Model)
|
||||
|
||||
// 立即返回任务ID
|
||||
response.Success(c, gin.H{
|
||||
@@ -95,8 +104,8 @@ func (h *ImageGenerationHandler) ExtractBackgroundsForEpisode(c *gin.Context) {
|
||||
}
|
||||
|
||||
// processBackgroundExtraction 后台处理场景提取
|
||||
func (h *ImageGenerationHandler) processBackgroundExtraction(taskID, episodeID string) {
|
||||
h.log.Infow("Starting background extraction", "task_id", taskID, "episode_id", episodeID)
|
||||
func (h *ImageGenerationHandler) processBackgroundExtraction(taskID, episodeID, model string) {
|
||||
h.log.Infow("Starting background extraction", "task_id", taskID, "episode_id", episodeID, "model", model)
|
||||
|
||||
// 更新任务状态为处理中
|
||||
if err := h.taskService.UpdateTaskStatus(taskID, "processing", 10, "开始提取场景..."); err != nil {
|
||||
@@ -104,7 +113,7 @@ func (h *ImageGenerationHandler) processBackgroundExtraction(taskID, episodeID s
|
||||
}
|
||||
|
||||
// 调用实际的提取逻辑
|
||||
backgrounds, err := h.imageService.ExtractBackgroundsForEpisode(episodeID)
|
||||
backgrounds, err := h.imageService.ExtractBackgroundsForEpisode(episodeID, model)
|
||||
if err != nil {
|
||||
h.log.Errorw("Failed to extract backgrounds", "error", err, "task_id", taskID)
|
||||
if updateErr := h.taskService.UpdateTaskError(taskID, err); updateErr != nil {
|
||||
|
||||
Reference in New Issue
Block a user