diff --git a/apps/web/src/pages/generate/hooks/useGenerateVideo.ts b/apps/web/src/pages/generate/hooks/useGenerateVideo.ts index 73455a308..c1b8dc55b 100755 --- a/apps/web/src/pages/generate/hooks/useGenerateVideo.ts +++ b/apps/web/src/pages/generate/hooks/useGenerateVideo.ts @@ -5,7 +5,7 @@ import { useState, useCallback } from "react" import { message } from "antd" import type { GeneratedVideo } from "@/api/template-editor" -import { confirmGeneration, createPreview } from "@/api/generation" +import { confirmGeneration } from "@/api/generation" import type { UseGenerateVideoProps } from "./generate-video/types" import { getGenerationPhase } from "./generate-video/phase" import { useGenerationPolling } from "./generate-video/useGenerationPolling" @@ -87,32 +87,10 @@ export function useGenerateVideo(props: UseGenerateVideoProps) { outputHeight = 1920 } - // 获取或创建后端任务 ID - // 预览改为前端播放后,不再有预览任务,需要在此处创建 - let taskId = props.previewTaskId + // 获取后端任务 ID(预览已改为前端实时播放,不再调用后端 createPreview) + const taskId = props.previewTaskId if (!taskId) { - const assetIds = - props.materialMode === "auto" ? props.smartSelectedIds : props.selectedMaterials - const previewResp = await createPreview({ - template_id: selectedTemplate, - asset_ids: assetIds, - duration: props.duration || undefined, - video_ratio: props.videoRatio, - voice_ids: undefined, - title_config: props.titleSettings?.title - ? { - text: props.titleSettings.title, - font: props.titleSettings.font, - font_size: props.titleSettings.size, - font_color: props.titleSettings.color, - position: props.titleSettings.position, - bold: props.titleSettings.bold, - stroke: props.titleSettings.stroke, - shadow: props.titleSettings.shadow, - } - : undefined, - }) - taskId = previewResp.task_id + throw new Error("缺少预览任务 ID,无法确认生成") } await confirmGeneration(taskId, { @@ -132,7 +110,7 @@ export function useGenerateVideo(props: UseGenerateVideoProps) { setGenerateError(finalMsg) message.error(finalMsg) } - }, [props, clearTimer, startPolling, selectedTemplate]) + }, [props, clearTimer, startPolling]) /* 重新生成(失败后重试) */ const retry = useCallback(() => {