43ntropy
/

43ntropy's picture
Duplicate from epfl-neuroai/NEvo
1e2bb2f
Raw
History Blame Contribute Delete
782 Bytes
from __future__ import annotations
from abc import ABC, abstractmethod
from typing import Any
class TextToImageGenerator(ABC):
@abstractmethod
def generate(self, prompts: list[str], *, generator: Any | None = None, **kwargs) -> list[Any]:
...
class ImageToVideoGenerator(ABC):
@abstractmethod
def generate(self, image: Any, prompt: str, *, generator: Any | None = None, **kwargs) -> Any:
...
def generate_batch(self, images: list[Any], prompts: list[str], *, generators: list[Any] | None = None, **kwargs) -> list[Any]:
generators = generators or [None] * len(images)
return [
self.generate(image, prompt, generator=gen, **kwargs)
for image, prompt, gen in zip(images, prompts, generators)
]