ATH-MaaS/Pixelle-Video · error · Exception

The second step workflow file does not exist:{second_workflo

Error message

The second step workflow file does not exist:{second_workflow_path}

What it means

generate_digital_human_video in web/pipelines/digital_human.py loads a two-stage pipeline; at the concatenation stage it resolves Path from video_params['second_workflow_path'] and raises if the file does not exist before reading its JSON.

Source

Thrown at web/pipelines/digital_human.py:641

                                "inference_mode": tts_inference_mode
                            }
                            if tts_inference_mode == "local":
                                tts_kwargs["voice"] = tts_voice
                                tts_kwargs["speed"] = tts_speed
                            elif tts_inference_mode == "comfyui":
                                if tts_workflow:
                                    tts_kwargs["workflow"] = tts_workflow
                                if ref_audio:
                                    tts_kwargs["ref_audio"] = ref_audio

                            await pixelle_video.tts(**tts_kwargs)
                            progress_bar.progress(65)
                            status_text.text(tr("progress.concatenating"))

                            # Directly call the second workflow
                            second_workflow_path = Path(workflow_path.get("second_workflow_path"))
                            if not second_workflow_path.exists():
                                raise Exception(f"The second step workflow file does not exist:{second_workflow_path}")
                            with open(second_workflow_path, 'r', encoding='utf-8') as f:
                                second_workflow_config = json.load(f)
                            second_workflow_params = {
                                "videoimage": generated_image_path,
                                "audio": audio_path
                            }
                            if second_workflow_config.get("source") == "runninghub" and "workflow_id" in second_workflow_config:
                                workflow_input = second_workflow_config["workflow_id"]
                            else:
                                workflow_input = str(second_workflow_config)
                            second_result = await kit.execute(workflow_input, second_workflow_params)
                            # Video Link Extraction
                            generated_video_url = None
                            if hasattr(second_result, 'videos') and second_result.videos:
                                generated_video_url = second_result.videos[0]
                            elif hasattr(second_result, 'outputs') and second_result.outputs:
                                for node_id, node_output in second_result.outputs.items():
                                    if isinstance(node_output, dict) and 'videos' in node_output:

View on GitHub (pinned to 848b054e4f)

Solutions

  1. Check that second_workflow_path in the settings points to an existing file and correct it
  2. Use an absolute path for second_workflow_path to avoid working-directory issues
  3. Restore or re-download the missing second-step workflow JSON
  4. Verify file permissions allow the app process to read the path

Example fix

// before
"second_workflow_path": "workflows/dh_step2_old.json"  # missing
// after
"second_workflow_path": "/abs/path/workflows/dh_step2.json"  # exists
Defensive patterns

Strategy: validation

Validate before calling

from pathlib import Path
p = Path(video_params["second_workflow_path"])
if not p.is_file():
    raise FileNotFoundError(f"Second-step workflow missing: {p.resolve()}")

Try / catch

try:
    await generate_digital_human_video(...)
except Exception as e:
    if "second step workflow file does not exist" in str(e):
        st.error(f"Second workflow not found: {e}; fix second_workflow_path in settings.")

Prevention

When it happens

Trigger: The two-step digital human flow reaches ~65% progress, then Path(second_workflow_path).exists() is False — the second workflow JSON path is misconfigured, the file was moved/deleted, or a relative path no longer resolves from the current working directory.

Common situations: Settings pointing at a workflow file that was renamed; migrating machines without copying the second workflow; using a relative path while launching the app from another directory.

Related errors


AI-assisted analysis of ATH-MaaS/Pixelle-Video@848b054e4f (2026-08-30). Data as JSON: /api/errors/1a7a5083469524b7. Report an issue: GitHub.