{"record":{"id":"595e8a5e53513128","repo":"ATH-MaaS/Pixelle-Video","slug":"the-workflow-file-does-not-exist-workflow-path","errorCode":null,"errorMessage":"The workflow file does not exist: {workflow_path}","messagePattern":"The workflow file does not exist: (.+?)","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"web/pipelines/action_transfer.py","lineNumber":407,"sourceCode":"                                title=\"动作迁移\" if get_language() == \"zh_CN\" else \"Action Transfer\",\n                                input_params={\n                                    \"text\": prompt,\n                                    \"prompt_text\": prompt,\n                                    \"image_assets\": image_assets,\n                                    \"video_assets\": video_assets,\n                                    \"duration\": second,\n                                    \"workflow_key\": workflow_key,\n                                    \"api_video_params\": api_video_params,\n                                },\n                            )\n                            return media_result.url\n\n                        kit = await pixelle_video._get_or_create_comfykit()\n\n                        workflow_path = Path(\"workflows\") / workflow_key\n\n                        if not workflow_path.exists():\n                            raise Exception(f\"The workflow file does not exist: {workflow_path}\")\n\n                        with open(workflow_path, 'r', encoding='utf-8') as f:\n                            workflow_config = json.load(f)\n\n                        workflow_params = {\n                            \"video\": video_path,\n                            \"image\": image_path,\n                            \"prompt\": prompt,\n                            \"second\": second\n                        }\n\n                        if workflow_config.get(\"source\") == \"runninghub\" and \"workflow_id\" in workflow_config:\n                            workflow_input = workflow_config[\"workflow_id\"]\n                        else:\n                            workflow_input = str(workflow_path)\n\n                        video_result = await kit.execute(workflow_input, workflow_params)\n","sourceCodeStart":389,"sourceCodeEnd":425,"githubUrl":"https://github.com/ATH-MaaS/Pixelle-Video/blob/848b054e4fae40dabc62ec58e960b573e83793ac/web/pipelines/action_transfer.py#L389-L425","documentation":"generate_audio_visual_video in web/pipelines/action_transfer.py resolves the ComfyUI workflow as Path('workflows') / workflow_key and raises a plain Exception if that file does not exist on disk before loading its JSON config.","triggerScenarios":"_render_output_preview renders the action-transfer pipeline with a workflow_key whose file is missing under the 'workflows' directory relative to the current working directory — e.g. a renamed, deleted, or never-downloaded workflow JSON, or the app was launched from a different working directory.","commonSituations":"Fresh checkout without the workflows folder populated; user configured a custom workflow key that doesn't match a file name; running the web app from a directory other than the repo root so the relative 'workflows' path doesn't resolve.","solutions":["Verify the file workflows/<workflow_key> exists relative to the app's working directory (ls workflows/)","Download or restore the missing workflow JSON into the workflows directory","Fix the workflow_key value in the pipeline settings to match an existing file name","Launch the app from the repository root so the relative 'workflows' path resolves"],"exampleFix":"// before\nworkflow_key = \"audio_visual_custom.json\"  # file doesn't exist\n// after\nworkflow_key = \"action_transfer.json\"  # exists under workflows/","handlingStrategy":"validation","validationCode":"from pathlib import Path\nworkflow_path = Path(\"workflows\") / workflow_key\nif not workflow_path.is_file():\n    raise FileNotFoundError(f\"Workflow missing: {workflow_path.resolve()}\")","typeGuard":null,"tryCatchPattern":"try:\n    video_url = await generate_audio_visual_video(...)\nexcept Exception as e:\n    if \"workflow file does not exist\" in str(e):\n        st.error(f\"Workflow '{workflow_key}' not found under workflows/; restore it or pick another.\")","preventionTips":["Verify all workflow_key values against os.listdir('workflows') on app startup","Launch the app consistently from the repo root or make paths absolute","Keep workflow JSONs in version control so they are never missing after clone","Fail fast with a startup check instead of mid-render"],"tags":["file-not-found","workflow","configuration"],"backgroundTag":"workflow-file-not-found","analyzedSha":"848b054e4fae40dabc62ec58e960b573e83793ac","analyzedAt":"2026-08-30T03:24:41.468Z","schemaVersion":2},"datasetVersion":"2026-08-30T08:17:16.595Z"}