mirror of
https://github.com/invoke-ai/InvokeAI.git
synced 2026-02-14 02:55:11 -05:00
Co-authored-by: kent <kent@invoke.ai> Fix Kontext sequence length handling in Flux denoise invocation Co-authored-by: kent <kent@invoke.ai> Fix Kontext step callback to handle combined token sequences Co-authored-by: kent <kent@invoke.ai> fix ruff Fix Flux Kontext
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
from invokeai.app.invocations.baseinvocation import (
|
|
BaseInvocation,
|
|
BaseInvocationOutput,
|
|
invocation,
|
|
invocation_output,
|
|
)
|
|
from invokeai.app.invocations.fields import (
|
|
FieldDescriptions,
|
|
FluxKontextConditioningField,
|
|
InputField,
|
|
OutputField,
|
|
)
|
|
from invokeai.app.invocations.primitives import ImageField
|
|
from invokeai.app.services.shared.invocation_context import InvocationContext
|
|
|
|
|
|
@invocation_output("flux_kontext_output")
|
|
class FluxKontextOutput(BaseInvocationOutput):
|
|
"""The conditioning output of a FLUX Kontext invocation."""
|
|
|
|
kontext_cond: FluxKontextConditioningField = OutputField(
|
|
description=FieldDescriptions.flux_kontext_conditioning, title="Kontext Conditioning"
|
|
)
|
|
|
|
|
|
@invocation(
|
|
"flux_kontext",
|
|
title="Kontext Conditioning - FLUX",
|
|
tags=["conditioning", "kontext", "flux"],
|
|
category="conditioning",
|
|
version="1.0.0",
|
|
)
|
|
class FluxKontextInvocation(BaseInvocation):
|
|
"""Prepares a reference image for FLUX Kontext conditioning."""
|
|
|
|
image: ImageField = InputField(description="The Kontext reference image.")
|
|
|
|
def invoke(self, context: InvocationContext) -> FluxKontextOutput:
|
|
"""Packages the provided image into a Kontext conditioning field."""
|
|
return FluxKontextOutput(kontext_cond=FluxKontextConditioningField(image=self.image))
|