From 5b2ef4c8f2ad43718ce7f7654260b102bba9f9ab Mon Sep 17 00:00:00 2001 From: DJP Date: Wed, 10 Dec 2025 22:39:42 -0500 Subject: [PATCH] Fix subtitle API to send file as FormData instead of asset_id --- frontend/app/video/subtitles/page.tsx | 32 +++++++++++++++------------ 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/frontend/app/video/subtitles/page.tsx b/frontend/app/video/subtitles/page.tsx index 03d37a7..dee4c75 100644 --- a/frontend/app/video/subtitles/page.tsx +++ b/frontend/app/video/subtitles/page.tsx @@ -115,7 +115,7 @@ export default function SubtitlesPage() { }; const handleProcess = async () => { - if (!assetId) { + if (!file) { toast.error('Please upload a video first'); return; } @@ -124,18 +124,22 @@ export default function SubtitlesPage() { setResults(null); try { - const response = await modulesApi.processSubtitles({ - asset_id: assetId, - source_language: sourceLanguage || undefined, - target_language: targetLanguage || undefined, - burn_subtitles: burnSubtitles, - font, - font_size: fontSize, - text_color: textColor, - outline_color: outlineColor, - outline_width: outlineWidth, - position, - }); + // Create FormData with file and all parameters + const formData = new FormData(); + formData.append('file', file); + formData.append('source_language', sourceLanguage || 'auto'); + if (targetLanguage) { + formData.append('target_language', targetLanguage); + } + formData.append('burn_subtitles', String(burnSubtitles)); + formData.append('font', font); + formData.append('font_size', String(fontSize)); + formData.append('text_color', textColor); + formData.append('outline_color', outlineColor); + formData.append('outline_width', String(outlineWidth)); + formData.append('position', position); + + const response = await modulesApi.processSubtitles(formData); const job = response.data; setJobId(job.id); @@ -388,7 +392,7 @@ export default function SubtitlesPage() { {/* Process Button */}