diff --git a/apps/worker/worker_app/tasks/generation.py b/apps/worker/worker_app/tasks/generation.py index d59e61705..906e3694b 100755 --- a/apps/worker/worker_app/tasks/generation.py +++ b/apps/worker/worker_app/tasks/generation.py @@ -174,6 +174,7 @@ class _VirtualClip: start_time: float = 0.0 duration: float = 0.0 transition_effect: str = "cut" + playback_speed: float = 1.0 status: str = "ready" config: dict[str, Any] = field(default_factory=dict) @@ -302,6 +303,16 @@ def _apply_template_clip_effects( existing_config[key] = template_clip_config[key] clip.config = existing_config + # 3. 调速:同步到 clip.playback_speed 顶级字段(渲染引擎读此字段) + template_speed = template_clip_config.get("playback_speed") or template_clip_config.get("speed") + if template_speed: + try: + speed_val = float(template_speed) + if speed_val > 0: + clip.playback_speed = speed_val + except (ValueError, TypeError): + pass + def _build_plan_and_clips_from_task( task_id: str,