invoke-ai/InvokeAI · error · UnsupportedWorkflowNodeError

Unsupported generator node type '{node_type}'

Error message

Unsupported generator node type '{node_type}'

What it means

_resolve_generator_items only handles node types integer_generator, float_generator, string_generator, and image_generator. Any other *_generator node type falls through to this UnsupportedWorkflowNodeError, since batch expansion cannot compute items for it.

Source

Thrown at invokeai/app/services/session_processor/workflow_call_batch.py:429

            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"]
    node_type = generator_node_data.get("type")
    if node_type == "integer_generator":
        return [0]
    if node_type == "float_generator":
        return [0.0]
    if node_type == "string_generator":
        return [""]
    if node_type == "image_generator":
        return [ImageField(image_name="compatibility-placeholder")]
    raise UnsupportedWorkflowNodeError(f"Unsupported generator node type '{node_type}'")


def _get_outgoing_default_edges(
    node_id: str, source_handle: str, workflow_edges: Sequence[Mapping[str, Any]]

View on GitHub (pinned to 0b6a024f2f)

Solutions

  1. Replace the node with one of the supported generators (integer/float/string/image generator)
  2. Upgrade InvokeAI to a version that supports this generator node type in batch expansion
  3. Remove the node from the batch path or supply its items via a static batch field instead

Example fix

// before: unsupported custom generator
{"data": {"type": "prompt_generator", ...}}
// after
{"data": {"type": "string_generator", "inputs": {"generator": {"value": {...}}}}}
Defensive patterns

Strategy: validation

Validate before calling

SUPPORTED = {"integer_generator", "float_generator", "string_generator", "image_generator"}
for node in workflow.get("nodes", []):
    t = node.get("data", {}).get("type", "")
    if t.endswith("_generator") and t not in SUPPORTED:
        raise ValueError(f"node {node.get('id')} uses unsupported generator type {t}")

Type guard

def is_supported_generator(node: dict) -> TypeGuard[dict]:
    return node.get("data", {}).get("type") in {
        "integer_generator", "float_generator", "string_generator", "image_generator"}

Try / catch

try:
    build_batch_child_workflow_session_results(...)
except UnsupportedWorkflowNodeError as e:
    if "Unsupported generator node type" in str(e):
        suggest_supported_replacement(e)

Prevention

When it happens

Trigger: A generator node in a call_saved_workflow whose data.type is not one of the four supported *_generator types (e.g. 'prompt_generator' or a custom generator) reaching the item-resolution step.

Common situations: Third-party/custom generator nodes used as batch sources; workflows saved from newer InvokeAI versions with new generator node types; typos in node type.

Related errors


AI-assisted analysis of invoke-ai/InvokeAI@0b6a024f2f (2026-08-29). Data as JSON: /api/errors/04bda2cc2d0b132e. Report an issue: GitHub.