diff --git a/video-gen-api/app/services/generation/provider_service.py b/video-gen-api/app/services/generation/provider_service.py index f2a65218..8463a26b 100644 --- a/video-gen-api/app/services/generation/provider_service.py +++ b/video-gen-api/app/services/generation/provider_service.py @@ -51,7 +51,9 @@ def _snapshot_owner(task: GenerationOwner) -> SimpleNamespace: for key, value in vars(task).items() if key != "_sa_instance_state" } - values.setdefault("generation_mode", getattr(task, "generation_mode", None) or "generation_record") + # 只有原对象确实有 generation_mode 时才保留,避免 SimpleNamespace 快照被误判为 ChatGenerationTask + if getattr(task, "generation_mode", None): + values.setdefault("generation_mode", task.generation_mode) return SimpleNamespace(**values)