mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-02-13 05:34:58 -05:00
47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
from invokeai.app.invocations.baseinvocation import (
|
|
BaseInvocation,
|
|
BaseInvocationOutput,
|
|
Classification,
|
|
invocation,
|
|
invocation_output,
|
|
)
|
|
from invokeai.app.invocations.fields import (
|
|
FieldDescriptions,
|
|
FluxFillConditioningField,
|
|
InputField,
|
|
OutputField,
|
|
TensorField,
|
|
)
|
|
from invokeai.app.invocations.primitives import ImageField
|
|
from invokeai.app.services.shared.invocation_context import InvocationContext
|
|
|
|
|
|
@invocation_output("flux_fill_output")
|
|
class FluxFillOutput(BaseInvocationOutput):
|
|
"""The conditioning output of a FLUX Fill invocation."""
|
|
|
|
fill_cond: FluxFillConditioningField = OutputField(
|
|
description=FieldDescriptions.flux_redux_conditioning, title="Conditioning"
|
|
)
|
|
|
|
|
|
@invocation(
|
|
"flux_fill",
|
|
title="FLUX Fill Conditioning",
|
|
tags=["inpaint"],
|
|
category="inpaint",
|
|
version="1.0.0",
|
|
classification=Classification.Beta,
|
|
)
|
|
class FluxFillInvocation(BaseInvocation):
|
|
"""Prepare the FLUX Fill conditioning data."""
|
|
|
|
image: ImageField = InputField(description="The FLUX Fill reference image.")
|
|
mask: TensorField = InputField(
|
|
description="The bool inpainting mask. Excluded regions should be set to "
|
|
"False, included regions should be set to True.",
|
|
)
|
|
|
|
def invoke(self, context: InvocationContext) -> FluxFillOutput:
|
|
return FluxFillOutput(fill_cond=FluxFillConditioningField(image=self.image, mask=self.mask))
|