feat(nodes): check/watermark all images in invocation api

Note: The NSFW checker model fails when the image isn't RGB.
This commit is contained in:
psychedelicious 2024-04-23 22:45:52 +10:00
parent 28d81a4372
commit b46cd5dcd0

View File

@ -15,6 +15,8 @@ from invokeai.app.services.images.images_common import ImageDTO
from invokeai.app.services.invocation_services import InvocationServices
from invokeai.app.services.model_records.model_records_base import UnknownModelException
from invokeai.app.util.step_callback import stable_diffusion_step_callback
from invokeai.backend.image_util.invisible_watermark import InvisibleWatermark
from invokeai.backend.image_util.safety_checker import SafetyChecker
from invokeai.backend.model_manager.config import AnyModelConfig, BaseModelType, ModelFormat, ModelType, SubModelType
from invokeai.backend.model_manager.load.load_base import LoadedModel
from invokeai.backend.stable_diffusion.diffusers_pipeline import PipelineIntermediateState
@ -191,6 +193,12 @@ class ImagesInterface(InvocationContextInterface):
elif isinstance(self._data.invocation, WithBoard) and self._data.invocation.board:
board_id_ = self._data.invocation.board.board_id
if self._services.configuration.nsfw_check:
image = SafetyChecker.blur_if_nsfw(image)
if self._services.configuration.watermark:
image = InvisibleWatermark.add_watermark(image, "InvokeAI")
return self._services.images.create(
image=image,
is_intermediate=self._data.invocation.is_intermediate,