invoke-ai/InvokeAI · error · UnsupportedWorkflowNodeError
call_saved_workflow generator-backed batch child workflow no
Error message
call_saved_workflow generator-backed batch child workflow node '{generator_source_id}' produced no batch items What it means
A batch node whose items come from a generator node (e.g. rand_int_generator, range_generator, image_generator) resolved to an empty item list after expansion. InvokeAI refuses to build child sessions for an empty batch because it would produce zero child workflow executions.
Source
Thrown at invokeai/app/services/session_processor/workflow_call_batch.py:599
if generator_source_id is not None:
generator_node = workflow_nodes.get(generator_source_id)
if generator_node is None:
raise UnsupportedWorkflowNodeError(
f"call_saved_workflow generator-backed batch child workflow is missing generator node '{generator_source_id}'"
)
generator_node_type = generator_node["data"].get("type") if _is_invocation_node(generator_node) else None
if generator_node_type == "image_generator" and services is None and resolve_generator_items:
raise UnsupportedWorkflowNodeError(
"call_saved_workflow image-generator-backed batch child workflows require runtime services"
)
batch_items = (
_resolve_generator_items(generator_node, services, user_id, maximum_children)
if resolve_generator_items
else _get_generator_placeholder_items(generator_node)
)
used_generator_node_ids.add(generator_source_id)
if not batch_items:
raise UnsupportedWorkflowNodeError(
f"call_saved_workflow generator-backed batch child workflow node '{generator_source_id}' produced no batch items"
)
else:
batch_items = _get_batch_items(node_data, field_name)
if not batch_items:
raise UnsupportedWorkflowNodeError(
f"call_saved_workflow batch child workflow node '{node_id}' must provide at least one batch item"
)
batch_group_id = _get_batch_group_id(node_data)
destinations = _resolve_batch_destinations(node_id, field_name, workflow_nodes, workflow_edges)
if not destinations:
raise UnsupportedWorkflowNodeError(
f"call_saved_workflow batch child workflow node '{node_id}' is not connected to any invocation input"
)
group_batch_data = batch_data_by_group.setdefault(batch_group_id, [])
for destination_node_id, destination_field in destinations:
group_batch_data.append(
BatchDatum(View on GitHub (pinned to 0b6a024f2f)
Solutions
- Ensure the generator node actually yields items: for image_generator, verify matching images exist for the user; for range/count-based generators, set a count >= 1.
- Check the generator node's configuration in the saved workflow (seed/count/collection fields) and correct it in the workflow editor before calling.
- If placeholders are acceptable, call with resolve_generator_items=False so placeholder items are derived from the node itself.
- Wrap the call and surface a user-facing message to fix the generator configuration, retrying only after the generator yields items.
Example fix
// before (range generator with count 0)
{"id":"g1","data":{"type":"range_generator","count":0}}
// after
{"id":"g1","data":{"type":"range_generator","count":5}} Defensive patterns
Strategy: validation
Validate before calling
def generator_yields_items(gen_node):
t = gen_node.get("data", {}).get("type", "")
if t == "image_generator":
return len(services.images.get_many_by_user(...).items) > 0
if t in ("range_generator", "rand_int_generator"):
return gen_node["data"].get("count", 0) > 0
return True Type guard
def is_generator_node(node) -> bool:
return isinstance(node, dict) and str(node.get("data", {}).get("type", "")).endswith("_generator") Try / catch
try:
results = build_batch_child_workflow_session_results(...)
except UnsupportedWorkflowNodeError as e:
if "produced no batch items" in str(e):
fix_generator_config(e) # surface to user, do not retry blindly Prevention
- Verify generator counts/collections are non-empty before enqueueing workflow calls
- Check image existence for image_generator-backed workflows at save time
- Re-validate saved workflows after editing or importing
- Never assume placeholder resolution returns items without resolve_generator_items=False
When it happens
Trigger: build_batch_child_workflow_session_results encounters a generator-backed batch node where _resolve_generator_items returns [] (e.g. image_generator matching no images, range generator with empty range, or placeholder resolution yielding nothing).
Common situations: Saved workflow wired to an image_generator whose gallery/collection has no images under the given user; a range/iteration generator configured with zero count; deleting the source images between workflow save and call.
Related errors
- call_saved_workflow image-generator-backed batch child workf
- call_saved_workflow batch child workflow node '{node_id}' mu
- call_saved_workflow batch child workflow node '{node_id}' is
- call_saved_workflow batch child workflow contains no support
- All Krea-2 conditioning batch items must have the same valid
AI-assisted analysis of invoke-ai/InvokeAI@0b6a024f2f (2026-08-29).
Data as JSON: /api/errors/0b1ab1dfbd030b14.
Report an issue: GitHub.