Spaces:
Sleeping
Sleeping
| from smolagents.tools import Tool | |
| from PIL.Image import Image | |
| class ImageGeneratorTool(Tool): | |
| name = "image_generator" | |
| description = "Generates an image based on your query." | |
| inputs = { | |
| "query": { | |
| "type": "string", | |
| "description": "The query to generate an image for.", | |
| } | |
| } | |
| output_type = "any" | |
| def __init__(self, **kwargs): | |
| super().__init__() | |
| try: | |
| from huggingface_hub import InferenceClient | |
| except ImportError as e: | |
| raise ImportError( | |
| "You must install package `huggingface_hub` to run this tool: for instance run `pip install huggingface_hub`." | |
| ) from e | |
| self.client = InferenceClient("black-forest-labs/FLUX.1-dev") | |
| def forward(self, query: str) -> Image: | |
| image: Image = self.client.text_to_image(query) | |
| if image is None: | |
| raise Exception("No results found! Try a less restrictive/shorter query.") | |
| return image | |