invoke-ai/InvokeAI · error · UnsupportedWorkflowNodeError
call_saved_workflow generator node '{generator_node_data.get
Error message
call_saved_workflow generator node '{generator_node_data.get('id')}' has invalid generator value What it means
The generator input's 'value' must itself be a mapping holding the generator parameters. If inputs.generator.value is missing or not a mapping, the node's generator payload is invalid and this error is raised with the node id.
Source
Thrown at invokeai/app/services/session_processor/workflow_call_batch.py:415
return None
def _resolve_generator_items(
generator_node: Mapping[str, Any], services: Any, user_id: str | None, maximum_items: int
) -> list[Any]:
generator_node_data = generator_node["data"]
node_type = generator_node_data.get("type")
inputs = generator_node_data.get("inputs")
if not isinstance(node_type, str) or not _is_mapping(inputs):
raise UnsupportedWorkflowNodeError("call_saved_workflow generator node is malformed")
generator_input = inputs.get("generator")
if not _is_mapping(generator_input):
raise UnsupportedWorkflowNodeError(
f"call_saved_workflow generator node '{generator_node_data.get('id')}' is missing generator input"
)
generator_value = generator_input.get("value")
if not _is_mapping(generator_value):
raise UnsupportedWorkflowNodeError(
f"call_saved_workflow generator node '{generator_node_data.get('id')}' has invalid generator value"
)
declared_item_count = _get_declared_generator_item_count(generator_value)
if declared_item_count is not None and declared_item_count > maximum_items:
raise TooManySessionsError("call_saved_workflow exceeds remaining queue capacity for child workflow executions")
if node_type == "integer_generator":
return _resolve_integer_generator(generator_value)
if node_type == "float_generator":
return _resolve_float_generator(generator_value)
if node_type == "string_generator":
return _resolve_string_generator(generator_value)
if node_type == "image_generator":
return _resolve_image_generator(generator_value, services, user_id)
raise UnsupportedWorkflowNodeError(f"Unsupported generator node type '{node_type}'")
def _get_generator_placeholder_items(generator_node: Mapping[str, Any]) -> list[Any]:
generator_node_data = generator_node["data"]View on GitHub (pinned to 0b6a024f2f)
Solutions
- Move the generator parameters into a mapping at inputs.generator.value (e.g. {"count": 5, "start": 0, ...})
- Re-save the workflow in the InvokeAI canvas to normalize the generator value
- Check the invoking API call isn't overwriting generator.value with a non-object
Example fix
// before
"inputs": {"generator": {"value": 42}}
// after
"inputs": {"generator": {"value": {"count": 42, "start": 0, "stop": 42, "step": 1}}} Defensive patterns
Strategy: validation
Validate before calling
value = node["data"]["inputs"].get("generator", {}).get("value")
if not isinstance(value, dict):
raise ValueError("inputs.generator.value must be a mapping of generator parameters") Type guard
def has_generator_value(node: dict) -> TypeGuard[dict]:
return isinstance(node.get("data", {}).get("inputs", {}).get("generator", {}).get("value"), Mapping) Try / catch
try:
build_batch_child_workflow_session_results(...)
except UnsupportedWorkflowNodeError as e:
if "invalid generator value" in str(e):
repair_generator_value(extract_node_id(str(e))) Prevention
- Keep generator params nested under inputs.generator.value, never as raw scalars
- Round-trip workflows through the UI export to normalize structure
- Add schema validation to any pipeline that generates workflow JSON
When it happens
Trigger: inputs.generator exists but its 'value' key is absent, null, a scalar, or a list when resolving generator items for a call_saved_workflow batch.
Common situations: Hand-crafted batch payloads that placed raw parameters directly under inputs.generator; import/export round-trips that stripped the value wrapper; API clients posting non-dict values.
Understand the failure class
Background: Schema validation failed / invalid input schema: payload rejected because its shape doesn't match the expected schema — this error's family across 28 libraries.
Related errors
- call_saved_workflow child workflow is malformed
- call_saved_workflow does not yet support child workflows tha
- Unsupported batch group id '{batch_group_id}' in called work
- call_saved_workflow batch child workflow node inputs are mal
- call_saved_workflow batch child workflow node is missing req
AI-assisted analysis of invoke-ai/InvokeAI@0b6a024f2f (2026-08-29).
Data as JSON: /api/errors/7780c73ca128d8ca.
Report an issue: GitHub.