Darkweb007's picture
Initial commit: CPU-only multimodal AI content generator
d0ffa36 verified
Raw
History Blame Contribute Delete
1.42 kB
"""Central configuration for the multimodal generator, overridable via env vars."""
import os
from dataclasses import dataclass, field
def _env_int(name: str, default: int) -> int:
return int(os.environ.get(name, default))
def _env_str(name: str, default: str) -> str:
return os.environ.get(name, default)
@dataclass
class GenerationConfig:
# Image generation
image_model: str = field(default_factory=lambda: _env_str("MAG_IMAGE_MODEL", "stabilityai/sd-turbo"))
image_width: int = field(default_factory=lambda: _env_int("MAG_IMAGE_WIDTH", 512))
image_height: int = field(default_factory=lambda: _env_int("MAG_IMAGE_HEIGHT", 512))
num_inference_steps: int = field(default_factory=lambda: _env_int("MAG_STEPS", 4))
guidance_scale: float = 0.0 # sd-turbo is distilled for guidance-free sampling
# Video generation
video_num_frames: int = field(default_factory=lambda: _env_int("MAG_VIDEO_FRAMES", 16))
video_fps: int = field(default_factory=lambda: _env_int("MAG_VIDEO_FPS", 8))
video_zoom_factor: float = 1.15
# Audio generation
tts_rate: int = field(default_factory=lambda: _env_int("MAG_TTS_RATE", 165))
# Output
output_dir: str = field(default_factory=lambda: _env_str("MAG_OUTPUT_DIR", "outputs"))
# Device — CPU only by design (no GPU required)
device: str = "cpu"
torch_dtype: str = "float32"
DEFAULT_CONFIG = GenerationConfig()