image_generation
Adapted from the Griptape AI Framework documentation.
__all__ = ['BaseImageGenerationDriver', 'BaseMultiModelImageGenerationDriver']
module-attribute
Bases:
SerializableMixin
, ExponentialBackoffMixin
, ABC
Source Code in griptape/drivers/image_generation/base_image_generation_driver.py
@define class BaseImageGenerationDriver(SerializableMixin, ExponentialBackoffMixin, ABC): model: str = field(kw_only=True, metadata={"serializable": True}) def before_run(self, prompts: list[str], negative_prompts: Optional[list[str]] = None) -> None: EventBus.publish_event(StartImageGenerationEvent(prompts=prompts, negative_prompts=negative_prompts)) def after_run(self) -> None: EventBus.publish_event(FinishImageGenerationEvent()) def run_text_to_image(self, prompts: list[str], negative_prompts: Optional[list[str]] = None) -> ImageArtifact: for attempt in self.retrying(): with attempt: self.before_run(prompts, negative_prompts) result = self.try_text_to_image(prompts, negative_prompts) self.after_run() return result raise Exception("Failed to run text to image generation") def run_image_variation( self, prompts: list[str], image: ImageArtifact, negative_prompts: Optional[list[str]] = None, ) -> ImageArtifact: for attempt in self.retrying(): with attempt: self.before_run(prompts, negative_prompts) result = self.try_image_variation(prompts, image, negative_prompts) self.after_run() return result raise Exception("Failed to generate image variations") def run_image_inpainting( self, prompts: list[str], image: ImageArtifact, mask: ImageArtifact, negative_prompts: Optional[list[str]] = None, ) -> ImageArtifact: for attempt in self.retrying(): with attempt: self.before_run(prompts, negative_prompts) result = self.try_image_inpainting(prompts, image, mask, negative_prompts) self.after_run() return result raise Exception("Failed to run image inpainting") def run_image_outpainting( self, prompts: list[str], image: ImageArtifact, mask: ImageArtifact, negative_prompts: Optional[list[str]] = None, ) -> ImageArtifact: for attempt in self.retrying(): with attempt: self.before_run(prompts, negative_prompts) result = self.try_image_outpainting(prompts, image, mask, negative_prompts) self.after_run() return result raise Exception("Failed to run image outpainting") @abstractmethod def try_text_to_image(self, prompts: list[str], negative_prompts: Optional[list[str]] = None) -> ImageArtifact: ... @abstractmethod def try_image_variation( self, prompts: list[str], image: ImageArtifact, negative_prompts: Optional[list[str]] = None, ) -> ImageArtifact: ... @abstractmethod def try_image_inpainting( self, prompts: list[str], image: ImageArtifact, mask: ImageArtifact, negative_prompts: Optional[list[str]] = None, ) -> ImageArtifact: ... @abstractmethod def try_image_outpainting( self, prompts: list[str], image: ImageArtifact, mask: ImageArtifact, negative_prompts: Optional[list[str]] = None, ) -> ImageArtifact: ...
model = field(kw_only=True, metadata={'serializable': True})
class-attribute instance-attribute
after_run()
Source Code in griptape/drivers/image_generation/base_image_generation_driver.py
def after_run(self) -> None: EventBus.publish_event(FinishImageGenerationEvent())
before_run(prompts, negative_prompts=None)
Source Code in griptape/drivers/image_generation/base_image_generation_driver.py
def before_run(self, prompts: list[str], negative_prompts: Optional[list[str]] = None) -> None: EventBus.publish_event(StartImageGenerationEvent(prompts=prompts, negative_prompts=negative_prompts))
run_image_inpainting(prompts, image, mask, negative_prompts=None)
Source Code in griptape/drivers/image_generation/base_image_generation_driver.py
def run_image_inpainting( self, prompts: list[str], image: ImageArtifact, mask: ImageArtifact, negative_prompts: Optional[list[str]] = None, ) -> ImageArtifact: for attempt in self.retrying(): with attempt: self.before_run(prompts, negative_prompts) result = self.try_image_inpainting(prompts, image, mask, negative_prompts) self.after_run() return result raise Exception("Failed to run image inpainting")
run_image_outpainting(prompts, image, mask, negative_prompts=None)
Source Code in griptape/drivers/image_generation/base_image_generation_driver.py
def run_image_outpainting( self, prompts: list[str], image: ImageArtifact, mask: ImageArtifact, negative_prompts: Optional[list[str]] = None, ) -> ImageArtifact: for attempt in self.retrying(): with attempt: self.before_run(prompts, negative_prompts) result = self.try_image_outpainting(prompts, image, mask, negative_prompts) self.after_run() return result raise Exception("Failed to run image outpainting")
run_image_variation(prompts, image, negative_prompts=None)
Source Code in griptape/drivers/image_generation/base_image_generation_driver.py
def run_image_variation( self, prompts: list[str], image: ImageArtifact, negative_prompts: Optional[list[str]] = None, ) -> ImageArtifact: for attempt in self.retrying(): with attempt: self.before_run(prompts, negative_prompts) result = self.try_image_variation(prompts, image, negative_prompts) self.after_run() return result raise Exception("Failed to generate image variations")
run_text_to_image(prompts, negative_prompts=None)
Source Code in griptape/drivers/image_generation/base_image_generation_driver.py
def run_text_to_image(self, prompts: list[str], negative_prompts: Optional[list[str]] = None) -> ImageArtifact: for attempt in self.retrying(): with attempt: self.before_run(prompts, negative_prompts) result = self.try_text_to_image(prompts, negative_prompts) self.after_run() return result raise Exception("Failed to run text to image generation")
try_image_inpainting(prompts, image, mask, negative_prompts=None)abstractmethod
Source Code in griptape/drivers/image_generation/base_image_generation_driver.py
@abstractmethod def try_image_inpainting( self, prompts: list[str], image: ImageArtifact, mask: ImageArtifact, negative_prompts: Optional[list[str]] = None, ) -> ImageArtifact: ...
try_image_outpainting(prompts, image, mask, negative_prompts=None)abstractmethod
Source Code in griptape/drivers/image_generation/base_image_generation_driver.py
@abstractmethod def try_image_outpainting( self, prompts: list[str], image: ImageArtifact, mask: ImageArtifact, negative_prompts: Optional[list[str]] = None, ) -> ImageArtifact: ...
try_image_variation(prompts, image, negative_prompts=None)abstractmethod
Source Code in griptape/drivers/image_generation/base_image_generation_driver.py
@abstractmethod def try_image_variation( self, prompts: list[str], image: ImageArtifact, negative_prompts: Optional[list[str]] = None, ) -> ImageArtifact: ...
try_text_to_image(prompts, negative_prompts=None)abstractmethod
Source Code in griptape/drivers/image_generation/base_image_generation_driver.py
@abstractmethod def try_text_to_image(self, prompts: list[str], negative_prompts: Optional[list[str]] = None) -> ImageArtifact: ...
BaseMultiModelImageGenerationDriver
Bases:
BaseImageGenerationDriver
, ABC
Attributes
Name | Type | Description |
---|---|---|
image_generation_model_driver | BaseImageGenerationModelDriver | Image Model Driver to use. |
Source Code in griptape/drivers/image_generation/base_multi_model_image_generation_driver.py
@define class BaseMultiModelImageGenerationDriver(BaseImageGenerationDriver, ABC): """Image Generation Driver for platforms like Amazon Bedrock that host many LLM models. Instances of this Image Generation Driver require a Image Generation Model Driver which is used to structure the image generation request in the format required by the model and to process the output. Attributes: image_generation_model_driver: Image Model Driver to use. """ image_generation_model_driver: BaseImageGenerationModelDriver = field(kw_only=True, metadata={"serializable": True})
image_generation_model_driver = field(kw_only=True, metadata={'serializable': True})
class-attribute instance-attribute
- On this page
- BaseMultiModelImageGenerationDriver
Could this page be better? Report a problem or suggest an addition!