diff --git a/apps/web/src/api/generation/types.ts b/apps/web/src/api/generation/types.ts index 2231f74cb..f51b453ca 100755 --- a/apps/web/src/api/generation/types.ts +++ b/apps/web/src/api/generation/types.ts @@ -7,6 +7,8 @@ export interface CreatePreviewRequest { asset_ids: string[] title_ids?: string[] voice_ids?: string[] + /** 配音素材库ID(用户上传的音频或AI配音),对应配音选择页面选择的配音素材 */ + voice_library_id?: string video_title?: string duration?: number video_ratio?: string diff --git a/apps/web/src/pages/generate/GeneratePage.tsx b/apps/web/src/pages/generate/GeneratePage.tsx index ec513f211..2780e0389 100644 --- a/apps/web/src/pages/generate/GeneratePage.tsx +++ b/apps/web/src/pages/generate/GeneratePage.tsx @@ -106,6 +106,7 @@ const GeneratePage: React.FC = () => { duration, videoRatio, voiceIds: previewVoiceIds, + voiceLibraryId: selectedVoice || undefined, previewCount, }) diff --git a/apps/web/src/pages/generate/hooks/useStep4Preview.ts b/apps/web/src/pages/generate/hooks/useStep4Preview.ts index 4460035b4..04f3ff8f9 100644 --- a/apps/web/src/pages/generate/hooks/useStep4Preview.ts +++ b/apps/web/src/pages/generate/hooks/useStep4Preview.ts @@ -35,6 +35,8 @@ interface UseStep4PreviewProps { videoRatio: string /** 配音 voice_ids(传给后端,让预览包含配音音频) */ voiceIds?: string[] + /** 配音素材库ID(用户选择的上传音频或AI配音素材) */ + voiceLibraryId?: string /** 要生成的预览数量 */ previewCount?: number } @@ -84,6 +86,7 @@ export function useStep4Preview({ duration, videoRatio, voiceIds, + voiceLibraryId, previewCount = 1, }: UseStep4PreviewProps) { const templateName = useMemo( @@ -332,6 +335,7 @@ export function useStep4Preview({ duration: duration || undefined, video_ratio: videoRatio, voice_ids: voiceIds && voiceIds.length > 0 ? voiceIds : undefined, + voice_library_id: voiceLibraryId || undefined, }) if (startTimeRef.current === 0) return @@ -355,6 +359,7 @@ export function useStep4Preview({ duration, videoRatio, voiceIds, + voiceLibraryId, previewCount, clearPollTimer, pollPreviewStatus,