image_generation#
__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 |
|---|---|---|
<a href="./#griptape.drivers.image_generation.BaseMultiModelImageGenerationDriver.image_generation_model_driver" title="image_generation_model_driver = field(kw_only=True, metadata={'serializable': True}) class-attribute instance-attribute (griptape.drivers.image_generation.BaseMultiModelImageGenerationDriver.image_generation_model_driver)"><code class="language-python">image_generation_model_driver</code></a> |
<a href="../image_generation_model#griptape.drivers.image_generation_model.BaseImageGenerationModelDriver" title="BaseImageGenerationModelDriver (griptape.drivers.image_generation_model.BaseImageGenerationModelDriver)"><code class="language-python">BaseImageGenerationModelDriver</code></a> |
Image Model Driver to use.<br/> |
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
- amazon_bedrock
- amazon_bedrock_image_generation_driver
- azure_openai_image_generation_driver
- base_image_generation_driver
- after_run()
- before_run(prompts, negative_prompts=None)
- run_image_inpainting(prompts, image, mask, negative_prompts=None)
- run_image_outpainting(prompts, image, mask, negative_prompts=None)
- run_image_variation(prompts, image, negative_prompts=None)
- run_text_to_image(prompts, negative_prompts=None)
- try_image_inpainting(prompts, image, mask, negative_prompts=None)abstractmethod
- try_image_outpainting(prompts, image, mask, negative_prompts=None)abstractmethod
- try_image_variation(prompts, image, negative_prompts=None)abstractmethod
- try_text_to_image(prompts, negative_prompts=None)abstractmethod
- base_multi_model_image_generation_driver
- dummy
- dummy_image_generation_driver
- griptape_cloud
- griptape_cloud_image_generation_driver
- huggingface_pipeline
- huggingface_pipeline_image_generation_driver
- leonardo
- Attributes
- _create_generation(prompts, negative_prompts, init_image_id=None)
- _download_image(url)
- _get_image_url(generation_id)
- _make_api_request(endpoint, request, method=‘POST’)
- _upload_init_image(image)
- try_image_inpainting(prompts, image, mask, negative_prompts=None)
- try_image_outpainting(prompts, image, mask, negative_prompts=None)
- try_image_variation(prompts, image, negative_prompts=None)
- try_text_to_image(prompts, negative_prompts=None)
- leonardo_image_generation_driver
- Attributes
- _create_generation(prompts, negative_prompts, init_image_id=None)
- _download_image(url)
- _get_image_url(generation_id)
- _make_api_request(endpoint, request, method=‘POST’)
- _upload_init_image(image)
- try_image_inpainting(prompts, image, mask, negative_prompts=None)
- try_image_outpainting(prompts, image, mask, negative_prompts=None)
- try_image_variation(prompts, image, negative_prompts=None)
- try_text_to_image(prompts, negative_prompts=None)
- openai
- Attributes
- client()
- Attributes
- _build_model_params(values)
- Parameters
- _parse_image_response(response, prompt)
- client()
- try_image_inpainting(prompts, image, mask, negative_prompts=None)
- try_image_outpainting(prompts, image, mask, negative_prompts=None)
- try_image_variation(prompts, image, negative_prompts=None)
- try_text_to_image(prompts, negative_prompts=None)
- validate_image_size(attribute, value)
- openai_image_generation_driver
- Attributes
- _build_model_params(values)
- Parameters
- _parse_image_response(response, prompt)
- client()
- try_image_inpainting(prompts, image, mask, negative_prompts=None)
- try_image_outpainting(prompts, image, mask, negative_prompts=None)
- try_image_variation(prompts, image, negative_prompts=None)
- try_text_to_image(prompts, negative_prompts=None)
- validate_image_size(attribute, value)