invoke-ai/InvokeAI · error · ValueError
Unsupported blend mode: '{self.blend_mode}'.
Error message
Unsupported blend mode: '{self.blend_mode}'. What it means
The ImageToTiles / blend tiles invocation only supports a fixed set of blend modes (e.g. Linear and Seam). Any other value for self.blend_mode reaches an else branch that raises ValueError. The mode string must match one of the supported enum members exactly.
Source
Thrown at invokeai/app/invocations/tiles.py:278
pil_image = context.images.get_pil(image.image_name)
pil_image = pil_image.convert("RGB")
tile_np_images.append(np.array(pil_image))
# Prepare the output image buffer.
# Check the first tile to determine how many image channels are expected in the output.
channels = tile_np_images[0].shape[-1]
dtype = tile_np_images[0].dtype
np_image = np.zeros(shape=(height, width, channels), dtype=dtype)
if self.blend_mode == "Linear":
merge_tiles_with_linear_blending(
dst_image=np_image, tiles=tiles, tile_images=tile_np_images, blend_amount=self.blend_amount
)
elif self.blend_mode == "Seam":
merge_tiles_with_seam_blending(
dst_image=np_image, tiles=tiles, tile_images=tile_np_images, blend_amount=self.blend_amount
)
else:
raise ValueError(f"Unsupported blend mode: '{self.blend_mode}'.")
# Convert into a PIL image and save
pil_image = Image.fromarray(np_image)
image_dto = context.images.save(image=pil_image)
return ImageOutput.build(image_dto)
View on GitHub (pinned to 0b6a024f2f)
Solutions
- Set blend_mode to a supported value exactly (e.g. 'Linear' or 'Seam' as defined by the invocation's enum)
- Update stale workflow JSON to the current enum values
- Validate the field against the BlendMode enum before invoking
Example fix
// before blend_mode="seam" // after blend_mode="Seam"
Defensive patterns
Strategy: validation
Validate before calling
SUPPORTED_BLEND_MODES = {"Linear", "Seam"}
if blend_mode not in SUPPORTED_BLEND_MODES:
raise ValueError(f"blend_mode must be one of {sorted(SUPPORTED_BLEND_MODES)}, got {blend_mode!r}") Type guard
def is_supported_blend_mode(mode: str) -> bool:
return mode in {"Linear", "Seam"} Try / catch
try:
output = invocation.invoke(context)
except ValueError as e:
if str(e).startswith("Unsupported blend mode"):
invocation.blend_mode = "Linear" # safe default
output = invocation.invoke(context)
else:
raise Prevention
- Only assign blend_mode from the invocation's enum field, never free text
- Re-validate workflow JSON after upgrading InvokeAI (enum values can change)
- Match exact capitalization ('Seam', not 'seam')
When it happens
Trigger: Setting blend_mode to an unsupported string like 'seam', 'linear' (wrong case), 'smooth', or a free-text value instead of one of the enumerated supported modes when invoking the tiles invocation.
Common situations: Old workflow JSON from a previous InvokeAI version whose blend mode enum value was renamed; hand-editing a workflow file with a typo; case mismatch ('seam' vs 'Seam').
Understand the failure class
Background: Invalid enum value errors: "Unknown type", "Invalid scope", "must be one of" — when a string is not on the library's allowed list — this error's family across 23 libraries.
Related errors
- denoising_start ({self.denoising_start}) must be less than d
- LoRA "{lora_key}" already applied to transformer.
- A saved workflow must be selected before executing call_save
- The selected saved workflow '${self.workflow_id}' could not
- Selected model provider '{model_config.provider_id}' does no
AI-assisted analysis of invoke-ai/InvokeAI@0b6a024f2f (2026-08-29).
Data as JSON: /api/errors/50ca35f1ad397788.
Report an issue: GitHub.