invoke-ai/InvokeAI · error · UnsupportedWorkflowNodeError
Unsupported integer generator type '{generator_type}'
Error message
Unsupported integer generator type '{generator_type}' What it means
An integer_generator node in a called batch child workflow declares a generator 'type' not implemented by _resolve_integer_generator. Only arithmetic_sequence, linear_distribution, random_distribution_uniform, and parse_string are supported during call_saved_workflow batch expansion.
Source
Thrown at invokeai/app/services/session_processor/workflow_call_batch.py:292
return [start]
return [start + i * step for i in range(count)]
if generator_type == "integer_generator_linear_distribution":
start = int(value.get("start", 0))
end = int(value.get("end", 10))
count = int(value.get("count", 10))
if count == 1:
return [start]
return [start + round((end - start) * (i / (count - 1))) for i in range(count)]
if generator_type == "integer_generator_random_distribution_uniform":
minimum = int(value.get("min", 0))
maximum = int(value.get("max", 10))
count = int(value.get("count", 10))
rng = random.Random(value.get("seed"))
return [int(rng.random() * (maximum - minimum + 1)) + minimum for _ in range(count)]
if generator_type == "integer_generator_parse_string":
split_values = _parse_split_values(str(value.get("input", "")), str(value.get("splitOn", ",")))
return [int(v.strip()) for v in split_values if v.strip()]
raise UnsupportedWorkflowNodeError(f"Unsupported integer generator type '{generator_type}'")
def _resolve_string_generator(value: Mapping[str, Any]) -> list[str]:
generator_type = value.get("type")
if generator_type == "string_generator_parse_string":
return [v for v in _parse_split_values(str(value.get("input", "")), str(value.get("splitOn", ","))) if v]
if generator_type == "string_generator_dynamic_prompts_combinatorial":
generator = CombinatorialPromptGenerator()
return list(generator.generate(str(value.get("input", "")), max_prompts=int(value.get("maxPrompts", 10))))
if generator_type == "string_generator_dynamic_prompts_random":
seed = value.get("seed")
if seed is None:
seed = random.randint(0, 2**31 - 1)
generator = RandomPromptGenerator(seed=int(seed))
return list(generator.generate(str(value.get("input", "")), num_images=int(value.get("count", 10))))
raise UnsupportedWorkflowNodeError(f"Unsupported string generator type '{generator_type}'")
View on GitHub (pinned to 0b6a024f2f)
Solutions
- Use one of the supported types: integer_generator_arithmetic_sequence, integer_generator_linear_distribution, integer_generator_random_distribution_uniform, or integer_generator_parse_string
- Correct the 'type' value spelling in the workflow JSON
- Replace the generator with a direct list of integers on the integer_batch node
- Upgrade InvokeAI to a version that supports the generator type
Example fix
// before
{ "type": "integer_generator_random", "count": 3 }
// after
{ "type": "integer_generator_random_distribution_uniform", "min": 0, "max": 10, "count": 3 } Defensive patterns
Strategy: validation
Validate before calling
SUPPORTED_INT_TYPES = {"integer_generator_arithmetic_sequence", "integer_generator_linear_distribution", "integer_generator_random_distribution_uniform", "integer_generator_parse_string"}
for node in workflow.get("nodes", []):
d = node.get("data", {}) if isinstance(node, dict) else {}
if d.get("type") == "integer_generator":
t = d.get("inputs", {}).get("generator", {}).get("value", {}).get("type")
if t not in SUPPORTED_INT_TYPES:
raise ValueError(f"unsupported integer generator type: {t!r}") Type guard
def is_supported_integer_generator(value: object) -> bool:
return (isinstance(value, dict) and value.get("type") in {
"integer_generator_arithmetic_sequence", "integer_generator_linear_distribution",
"integer_generator_random_distribution_uniform", "integer_generator_parse_string"}) Try / catch
try:
sessions = build_batch_child_workflow_sessions(...)
except UnsupportedWorkflowNodeError as e:
m = re.search(r"Unsupported integer generator type '(.+?)'", str(e))
if m:
workflow = swap_to_supported_int_generator(workflow, m.group(1))
sessions = build_batch_child_workflow_sessions(...)
else:
raise Prevention
- Use only the four supported integer generator types in called workflows
- Fix typo'd type strings at export/lint time
- Pre-compute values and use integer_batch lists for unsupported generator kinds
- Keep server and workflow-export versions aligned
When it happens
Trigger: Calling a saved workflow with an integer_generator whose inputs.generator.value.type is missing, misspelled (e.g. 'integer_generator_random'), or from a newer UI version with additional generator kinds.
Common situations: Version skew between exported workflow JSON and the running server; hand-edited type strings; using generator types from the queue batch editor that the child-workflow expansion path does not support.
Related errors
- Unsupported float generator type '{generator_type}'
- Unsupported string generator type '{generator_type}'
- Workflow not found
- Not authorized to access this workflow
- A saved workflow must be selected before executing call_save
AI-assisted analysis of invoke-ai/InvokeAI@0b6a024f2f (2026-08-29).
Data as JSON: /api/errors/d3bb626c6b90fac5.
Report an issue: GitHub.