fix(nodes): partially address feedback

This commit is contained in:
psychedelicious
2023-04-17 18:41:26 +10:00
parent ae172b74a4
commit fb0ec1c8d0
6 changed files with 14 additions and 20 deletions

View File

@@ -76,7 +76,6 @@ class TextToImageInvocation(BaseInvocation, SDImageInvocation):
def invoke(self, context: InvocationContext) -> ImageOutput:
# Handle invalid model parameter
model = choose_model(context.services.model_manager, self.model)
self.model = model["model_name"]
outputs = Txt2Img(model).generate(
prompt=self.prompt,
@@ -158,7 +157,6 @@ class ImageToImageInvocation(TextToImageInvocation):
# Handle invalid model parameter
model = choose_model(context.services.model_manager, self.model)
self.model = model["model_name"]
outputs = Img2Img(model).generate(
prompt=self.prompt,
@@ -236,7 +234,6 @@ class InpaintInvocation(ImageToImageInvocation):
# Handle invalid model parameter
model = choose_model(context.services.model_manager, self.model)
self.model = model["model_name"]
outputs = Inpaint(model).generate(
prompt=self.prompt,

View File

@@ -80,19 +80,21 @@ class MaskOutput(BaseInvocationOutput):
class LoadImageInvocation(BaseInvocation):
"""Load an image and provide it as output."""
# fmt: off
type: Literal["load_image"] = "load_image"
# Inputs
image: ImageField = Field(default=None, description="The image to show")
image_type: ImageType = Field(description="The type of the image")
image_name: str = Field(description="The name of the image")
# fmt: on
def invoke(self, context: InvocationContext) -> ImageOutput:
image = context.services.images.get(
self.image.image_type, self.image.image_name
self.image_type, self.image_name
)
return build_image_output(
image_type=self.image.image_type,
image_name=self.image.image_name,
image_type=self.image_type,
image_name=self.image_name,
image=image,
)

View File

@@ -16,10 +16,10 @@ class ImageField(BaseModel):
default=ImageType.RESULT, description="The type of the image"
)
image_name: Optional[str] = Field(default=None, description="The name of the image")
width: int = Field(default=None, description="The width of the image in pixels")
height: int = Field(default=None, description="The height of the image in pixels")
mode: str = Field(default=None, description="The image mode (ie pixel format)")
info: dict = Field(default=None, description="The image file's metadata")
width: int = Field(description="The width of the image in pixels")
height: int = Field(description="The height of the image in pixels")
mode: str = Field(description="The image mode (ie pixel format)")
info: dict = Field(description="The image file's metadata")
class Config:
schema_extra = {

View File

@@ -5,11 +5,7 @@ from pydantic import BaseModel, Field
class InvokeAIMetadata(BaseModel):
"""An image's InvokeAI-specific metadata"""
session: Optional[str] = Field(description="The session that generated this image")
source_id: Optional[str] = Field(
description="The source id of the invocation that generated this image"
)
# TODO: figure out metadata
session_id: Optional[str] = Field(description="The session that generated this image")
invocation: Optional[Dict[str, Any]] = Field(
default={}, description="The prepared invocation that generated this image"
)

View File

@@ -13,7 +13,7 @@ from PIL.Image import Image
import PIL.Image as PILImage
from invokeai.app.api.models.images import ImageResponse
from invokeai.app.models.image import ImageType
from invokeai.app.models.metadata import ImageMetadata
from invokeai.app.models.metadata import ImageMetadata, InvokeAIMetadata
from invokeai.app.services.item_storage import PaginatedResults
from invokeai.app.util.save_thumbnail import save_thumbnail
@@ -41,7 +41,7 @@ class ImageStorageBase(ABC):
pass
@abstractmethod
def save(self, image_type: ImageType, image_name: str, image: Image, metadata: Dict[str, Any] | None = None) -> str:
def save(self, image_type: ImageType, image_name: str, image: Image, metadata: InvokeAIMetadata | Dict[str, Any] | None = None) -> str:
pass
@abstractmethod

View File

@@ -1,4 +1,3 @@
from re import S
import torch
from ..invocations.baseinvocation import InvocationContext
from ...backend.util.util import image_to_dataURL