velai / services /image /ImageGenerator.py
cansik's picture
Upload folder via script
abd08cb verified
from abc import ABC, abstractmethod
from typing import Any, Sequence
from PIL import Image
from services.image.ImageGenerationResult import ImageGenerationResult
from services.progress import ProgressCallback
from services.services import GenerationService, TaskType
class ImageGenerator(GenerationService, ABC):
"""Base class for image generation backends."""
task_type = TaskType.IMAGE
@abstractmethod
def generate(
self,
prompt: str,
images: Sequence[Image.Image] | None = None,
*,
progress: ProgressCallback | None = None,
aspect_ratio: str | None = None,
**kwargs: Any,
) -> ImageGenerationResult:
"""Generate images from a prompt and optional images. """
raise NotImplementedError