fix(viral-video): 6 E2E bug fixes (fusion_level/concat/ingest/duplicated URL/TTS/Seedance ratio) #2113
Reference in New Issue
Block a user
Delete Branch "fix/2110-six-viral-video-bugs"
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?
Summary
修复 E2E 冒烟测试发现的 6 个 bug(2 P0 + 4 P1)。
Bug list
full_ai,后端只认ai_full)→ 422full_ai,field_validator 自动归一化到ai_fulla=1找不到[N:a])concat_video_files对每段调probe_has_audio,无声段ConcatSegment(has_audio=False)→ concat filter 用aevalsrc补静音轨(占位片本就这么做,真实段之前漏了)assets/<project>/...)find_by_storage_key改为(storage_key == k) OR (file_url == k)双列查询,兼容新老数据file_url属性 → AttributeError_get_existing_asset_url()helper,按storage_key → file_url顺序取值,再storage_service.get_url(key)生成公网 URL_step_tts用job.persona_id or longxiaochun_v3,统一 format="mp3";保留 TypeError 兜底call_video_generation在 image_url 非空时不传 ratio;ai_client.video_generationratio 改为 Optional[str],为 None 时 payload 中省略 ratio 字段Files changed
Test
Checklist
🚀 预览环境已部署
Bug1 (P0): schema accepts 'full_ai' as alias for 'ai_full' (Pydantic field_validator normalizes) Bug2 (P0): concat_video_files probes each segment audio stream; Seedance gen_audio=False segments now marked has_audio=False so concat filter uses aevalsrc silence instead of failing with ffmpeg exit 234 Bug3 (P1): find_by_storage_key now queries (storage_key OR file_url) to cover historical data where the legacy file_url column held assets/<project>/<date>/... paths Bug4 (P1): duplicated-hit response no longer accesses non-existent domain Asset.file_url; new helper _get_existing_asset_url uses storage_key (fallback file_url) through storage_service.get_url() Bug5 (P1): _step_tts passes job.persona_id as voice_id (default longxiaochun_v3) and forces format='mp3' so downstream ffmpeg -map 1:a:0 works regardless of provider Bug6 (P1): call_video_generation omits ratio param in first-frame (image_url) mode; ai_client.video_generation ratio becomes Optional[str] and is omitted from payload when None, fixing 400 InvalidParameter from Seedance72cffe664btocdce1b2e10daf1b3b380to09b8b2990f🗑️ 预览环境已清理
PR #2113 已关闭或合并,对应的预览环境已被清理。