fix: add missing project_id to extract-voice FormData #1687
Reference in New Issue
Block a user
Delete Branch "fix/extract-voice-missing-project-id"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Clicking "提取视频配音" button triggers
POST /api/v1/voices/extract-voicewhich returns 422 Unprocessable Entity.Root cause: Backend
voices.py:541definesproject_id: str = Form(...)as a required field, but the frontend FormData only appendsfilewithoutproject_id. FastAPI validation fails and returns 422.Fix
Added
formData.append("project_id", "default")after the file append inapps/web/src/api/tts/jobs.ts.Changes
apps/web/src/api/tts/jobs.ts— line 84: addproject_idto FormDataVerification
Backend voices.py:541 requires project_id as a mandatory Form field, but the frontend FormData only appended 'file', causing FastAPI to return 422 Unprocessable Entity. Added formData.append('project_id', 'default') to satisfy the backend validation.【阻塞级判定】
📊 审查概览
🔴 阻塞级问题(必须修复)
无
💡 改进建议(不阻塞合并)
project_id为字符串"default"。在多项目或多租户场景下,这会导致所有上传的资源都归属于同一个项目,造成数据隔离问题。建议确认业务逻辑,如果支持多项目,应将其改为函数参数或从上下文获取。✅ 良好实践
无
🤖 由 AI 代码审查机器人自动生成 | 2026-09-04 06:21:14 | 模型:
🚀 预览环境已部署
CI全绿,自动审批通过。
CI全绿,自动审批通过。
🗑️ 预览环境已清理
PR #1687 已关闭或合并,对应的预览环境已被清理。