Spaces:
Sleeping
Sleeping
| from abc import ABC, abstractmethod | |
| from typing import List, Optional | |
| from PIL import Image | |
| class ImageProviderBase(ABC): | |
| """ | |
| Abstract base class for image generation providers. | |
| All providers must implement the generate method. | |
| """ | |
| def generate( | |
| self, | |
| prompt: str, | |
| negative_prompt: str = "", | |
| n_images: int = 1, | |
| **kwargs | |
| ) -> List[Image.Image]: | |
| """ | |
| Generate images based on prompt. | |
| Args: | |
| prompt: Main generation prompt | |
| negative_prompt: Things to avoid in generation | |
| n_images: Number of images to generate | |
| **kwargs: Provider-specific parameters | |
| Returns: | |
| List of PIL Image objects | |
| """ | |
| pass | |
| class VideoProviderBase(ABC): | |
| """ | |
| Abstract base class for video generation providers. | |
| """ | |
| def generate( | |
| self, | |
| prompt: str, | |
| duration: int = 10, | |
| fps: int = 30, | |
| **kwargs | |
| ) -> str: | |
| """ | |
| Generate video based on prompt. | |
| Args: | |
| prompt: Video generation prompt | |
| duration: Video duration in seconds | |
| fps: Frames per second | |
| **kwargs: Provider-specific parameters | |
| Returns: | |
| Path to generated video file | |
| """ | |
| pass | |
| class Model3DProviderBase(ABC): | |
| """ | |
| Abstract base class for 3D model generation providers. | |
| """ | |
| def generate( | |
| self, | |
| prompt: str, | |
| export_format: str = "obj", | |
| **kwargs | |
| ) -> str: | |
| """ | |
| Generate 3D model based on prompt. | |
| Args: | |
| prompt: 3D asset generation prompt | |
| export_format: Export format (obj, fbx, gltf, etc.) | |
| **kwargs: Provider-specific parameters | |
| Returns: | |
| Path to generated 3D model file | |
| """ | |
| pass |