multimedia-generationlisted
Install: claude install-skill dbtinoy-/lexigram-framework-skills
# Multimedia Generation
## Overview
`lexigram-multimedia` wires **seven subsystems** into one DI graph: TTS, music, video, image, upscale, interpolate, and beat analysis. One module and one nested config tree; protocols for direct calls, accessors for storage, caching, events, and idempotent jobs.
## Setup
```bash
uv add lexigram-multimedia
# backends are opt-in per subsystem
uv add "lexigram-multimedia-tts[elevenlabs,openai]"
uv add "lexigram-multimedia-video[svd-server]" # extras: runway, openai, cogvideox-server, svd-server
```
With zero extras the umbrella uses the default `local-http` backends. Installing an extra only adds dependencies — you also set the subsystem's `backend:` config value to select it (wan22/cogvideox/comfyui are URL-configured GPU-side installs with no extra).
## Module Registration
```python
from lexigram.app.base import Application
from lexigram.multimedia import MultimediaConfig, MultimediaModule
app = Application(name="media-app")
app.add_module(MultimediaModule.configure(
config=MultimediaConfig(cache_results=True)
))
await app.start()
```
`MultimediaModule.configure()` with no arguments is zero-config.
## Resolve a Protocol
```python
from lexigram.contracts.multimedia import TTSProvider, TTSRequest
tts = await app.container.resolve(TTSProvider)
result = await tts.generate(TTSRequest(text="Hello from Lexigram"))
if result.is_ok():
asset = result.unwrap() # MediaAsset — has_bytes OR has_uri
if asset.has_uri:
prin