diff --git a/apps/worker/worker_app/tasks/generation.py b/apps/worker/worker_app/tasks/generation.py index 1ba072f71..94e492205 100644 --- a/apps/worker/worker_app/tasks/generation.py +++ b/apps/worker/worker_app/tasks/generation.py @@ -1051,20 +1051,15 @@ def generate_video(self, task_id: str) -> dict: ) if _meta_model: meta = dict(_meta_model.extra_meta or {}) + # #2024/P0 finalize-400: 直接展开 _precompute_render_metadata 返回的 + # 完整 dict(含 file_url/fingerprint_dict/fingerprint_chunks/is_duplicate + # /duplicate_of/...),避免手写字段白名单漏传字段导致 finalize 读不到数据。 meta["rendered_output"] = { + **dict(rendered_output or {}), + # file_url/duration 由外层调用方拿到的实际上传结果,优先覆盖预计算值 "file_url": file_url, "file_size": file_size, "duration": duration, - "width": rendered_output.get("width", 1280), - "height": rendered_output.get("height", 720), - "fps": rendered_output.get("fps", 25.0), - "name": rendered_output.get("name", ""), - "thumbnail_url": rendered_output.get("thumbnail_url", ""), - "mode": rendered_output.get("mode", editing_mode.value), - "fingerprint_dict": rendered_output.get("fingerprint_dict"), - "batch_id": batch_id, - "project_id": project_id, - "user_id": user_id, } _meta_model.extra_meta = meta _finalize_meta_session.commit()