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
After running the image-to-video workflow, the code looks through node outputs for a 'videos' list and picks the first URL; if none is found it raises this Exception pointing at the workflow configuration. It prevents a null-URL download attempt of the final video.
Source
Thrown at web/pipelines/i2v.py:341
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="image_to_video",
title="图生视频" if get_language() == "zh_CN" else "Image to Video",
input_params={
"text": prompt,
"prompt_text": prompt,View on GitHub (pinned to 848b054e4f)
Solutions
- Inspect the workflow JSON and ensure it ends with a proper video output node (VHS_VideoCombine / SaveVideo etc.)
- Check ComfyUI server logs for node failures (OOM, missing custom nodes) during execution
- Verify the 'image' param placeholder name matches the workflow's LoadImage node input
- Broaden the result-parsing to check alternate keys ('gifs', 'images') if your output node classifies video differently
Example fix
// before
if not generated_video_url:
raise Exception("The workflow did not return a video. Please check the workflow configuration.")
// after
if not generated_video_url:
raise RuntimeError(
f"i2v workflow returned no video. workflow={workflow_path}, "
f"outputs={node_outputs!r} — verify the video output node exists and ran."
) Defensive patterns
Strategy: validation
Validate before calling
node_outputs = result.get("node_outputs", [])
video_urls = [v for out in node_outputs if isinstance(out, dict) for v in out.get("videos") or out.get("gifs") or []]
if not video_urls:
raise RuntimeError(f"i2v workflow returned no video: {node_outputs!r}") Type guard
def extracted_video_url(node_outputs):
for o in (node_outputs or []):
if isinstance(o, dict):
vids = o.get("videos") or []
if vids:
return vids[0]
return None Try / catch
try:
video = await generate_audio_visual_video(...)
except Exception as e:
if "did not return a video" in str(e):
log.error("i2v workflow output had no videos; check workflow config and ComfyUI logs")
raise Prevention
- Verify the exported workflow JSON ends in a video-producing node before deploying
- Monitor ComfyUI server logs for silent node failures (OOM, missing nodes)
- Match the 'image' param key to the workflow's LoadImage placeholder exactly
- Add a smoke test that runs each i2v workflow and asserts a video URL is returned
When it happens
Trigger: The i2v workflow completes but no node emits a non-empty 'videos' array — the workflow lacks a video output node, the video node failed or was muted, outputs are returned under 'images'/'gifs' instead, or input param 'image' was not bound so the video node never produced output.
Common situations: Using a workflow JSON exported from a different ComfyUI/custom-node version where the output node name/key changed; replacing a SaveAnimatedWEBP/VHS node with a SaveImage node; ComfyUI queue error swallowed so downstream output missing; insufficient VRAM causing the video encode node to fail silently in the parsed results.
Related errors
- The workflow file does not exist: {workflow_path}
- No default workflow configured for {self.service_name}. Plea
- Workflow '{workflow}' not found. Available workflows: {avail
- Image analysis failed: {error_msg}
- No description generated
AI-assisted analysis of ATH-MaaS/Pixelle-Video@848b054e4f (2026-08-30).
Data as JSON: /api/errors/774debfa65c5af19.
Report an issue: GitHub.