ATH-MaaS/Pixelle-Video · error · Exception
workflow execution failed: {combine_image.msg}
Error message
workflow execution failed: {combine_image.msg} What it means
In generate_digital_human_video, the first-stage combine-image workflow is executed via kit.execute(workflow_input, workflow_params); if the returned result's status != 'completed', the Exception surfaces the ComfyKit failure message (combine_image.msg). This means the ComfyUI workflow run itself failed.
Source
Thrown at web/pipelines/digital_human.py:723
media_type="image",
image_paths=[character_assets[0], goods_assets[0]],
output_path=generated_image_path,
width=1080,
height=1920,
)
generated_image_url = media_result.url
else:
workflow_path = third_workflow_path
workflow_params = {"firstimage": character_assets[0], "secondimage": goods_assets[0]}
kit = await pixelle_video._get_or_create_comfykit()
workflow_config = json.load(open(workflow_path, 'r', encoding='utf8'))
if workflow_config.get("source") == "runninghub" and "workflow_id" in workflow_config:
workflow_input = workflow_config["workflow_id"]
else:
workflow_input = str(workflow_config)
combine_image = await kit.execute(workflow_input, workflow_params)
if combine_image.status != "completed":
raise Exception(f"workflow execution failed: {combine_image.msg}")
generated_image_url = getattr(combine_image, "images", [None])[0]
status_text.text(tr("progress.step_audio"))
audio_path = os.path.join(task_dir, "narration.mp3")
tts_inference_mode = video_params.get("tts_inference_mode", "local")
tts_voice = video_params.get("tts_voice")
tts_speed = video_params.get("tts_speed")
tts_workflow = video_params.get("tts_workflow")
ref_audio = video_params.get("ref_audio")
tts_kwargs = {
"text": generated_text,
"output_path": audio_path,
"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":View on GitHub (pinned to 848b054e4f)
Solutions
- Read combine_image.msg in the error for the underlying ComfyUI failure and fix that node/input
- Validate the workflow runs in ComfyUI (or RunningHub) directly with the same inputs
- For RunningHub source, confirm workflow_id is correct and the account/quota is valid
- Install missing custom node packs and retry; check server VRAM/logs
Defensive patterns
Strategy: try-catch
Validate before calling
# Validate workflow config before execution
if workflow_config.get("source") == "runninghub":
assert workflow_config.get("workflow_id"), "RunningHub workflows need a valid workflow_id" Try / catch
try:
await generate_digital_human_video(...)
except Exception as e:
if e.__class__ is Exception and str(e).startswith("workflow execution failed"):
st.error(f"Combine-image workflow failed: {e}") # underlying msg included
# inspect ComfyUI/RunningHub logs, fix node/input, retry Prevention
- Test the combine-image workflow in ComfyUI/RunningHub with representative inputs
- Install all custom node packs the workflow depends on
- Validate RunningHub workflow_id and quota before batch runs
- Watch server VRAM; reduce resolution/length on OOM errors
When it happens
Trigger: The combine-image workflow errors server-side (bad node, invalid input image, missing node pack, RunningHub API error) so kit.execute returns a non-completed status with an error message.
Common situations: Invalid workflow_id for RunningHub source; missing ComfyUI custom nodes; input image format/size rejected by a node; ComfyUI server overloaded or out of VRAM.
Related errors
- Media generation failed: {error_msg}
- TTS generation failed: {error_msg}
- workflow execution failed: {synthesis_result.msg}
- Image analysis failed: {error_msg}
- No default workflow configured for {self.service_name}. Plea
AI-assisted analysis of ATH-MaaS/Pixelle-Video@848b054e4f (2026-08-30).
Data as JSON: /api/errors/2c03b360eb65b97b.
Report an issue: GitHub.