ATH-MaaS/Pixelle-Video · error · Exception
The workflow did not return a video. Please check the workfl
Error message
The workflow did not return a video. Please check the workflow configuration.
What it means
generate_audio_visual_video iterates ComfyKit node outputs looking for node_output['videos']; if no video URL was produced it raises this Exception before downloading the result. It indicates the workflow ran but no output node emitted a video (or output parsing didn't match).
Source
Thrown at web/pipelines/action_transfer.py:438
workflow_input = workflow_config["workflow_id"]
else:
workflow_input = str(workflow_path)
video_result = await kit.execute(workflow_input, workflow_params)
generated_video_url = None
if hasattr(video_result, 'videos') and video_result.videos:
generated_video_url = video_result.videos[0]
elif hasattr(video_result, 'outputs') and video_result.outputs:
for node_id, node_output in video_result.outputs.items():
if isinstance(node_output, dict) and 'videos' in node_output:
videos = node_output['videos']
if videos and len(videos) > 0:
generated_video_url = videos[0]
break
if not generated_video_url:
raise Exception("The workflow did not return a video. Please check the workflow configuration.")
timeout = httpx.Timeout(300.0)
async with httpx.AsyncClient(timeout=timeout) as client:
response = await client.get(generated_video_url)
response.raise_for_status()
with open(final_video_path, 'wb') as f:
f.write(response.content)
progress_bar.progress(100)
status_text.text(tr("status.success"))
await save_web_generation_history(
pixelle_video,
task_id=task_id,
video_path=final_video_path,
pipeline="action_transfer",
title="动作迁移" if get_language() == "zh_CN" else "Action Transfer",
input_params={
"text": prompt,
"prompt_text": prompt,View on GitHub (pinned to 848b054e4f)
Solutions
- Open the workflow JSON and confirm it contains a video output node (e.g. VHS_VideoCombine) whose results land under 'videos'
- Re-run the workflow in ComfyUI directly to see whether a video is actually produced
- Check ComfyUI server logs for node errors that prevented video generation
- Fix the output-parsing key if the node emits under a different field
Defensive patterns
Strategy: try-catch
Validate before calling
# Before relying on the pipeline, confirm the workflow JSON has a video output node:
import json
cfg = json.load(open("workflows/<key>.json"))
assert any("VHS_VideoCombine" in str(node) or "video" in str(node).lower() for node in cfg.get("nodes", {}).values()), "No video output node in workflow" Type guard
def has_video_output(node_output: dict) -> bool:
videos = node_output.get("videos") if isinstance(node_output, dict) else None
return isinstance(videos, list) and len(videos) > 0 Try / catch
try:
url = await generate_audio_visual_video(...)
except Exception as e:
if "did not return a video" in str(e):
st.error("Workflow produced no video; check its output node (must emit 'videos').")
# fall back or re-run with a known-good workflow Prevention
- Only use workflow JSONs that include a video combine/output node
- Re-validate workflows after any manual edit in ComfyUI
- Monitor ComfyUI logs for node failures that yield empty outputs
- Pin known-good workflow files in version control
When it happens
Trigger: kit.execute(workflow_input, workflow_params) completes successfully, but the result's nodes contain no 'videos' list with entries — e.g. the workflow's save node outputs images instead of video, or the workflow lacks a video output node entirely.
Common situations: Editing the workflow JSON and accidentally replacing a VHS/Video save node with a SaveImage node; a workflow that only renders previews; an output node failing silently upstream so the videos list is empty.
Related errors
- The second step of the workflow did not return a video. Plea
- No default workflow configured for {self.service_name}. Plea
- Workflow '{workflow}' not found. Available workflows: {avail
- API workflow '{workflow}' not found. Available API workflows
- Image analysis failed: {error_msg}
AI-assisted analysis of ATH-MaaS/Pixelle-Video@848b054e4f (2026-08-30).
Data as JSON: /api/errors/558289f517369ff9.
Report an issue: GitHub.