Mundus
Mundus is a self-contained, provider-based hub for video/image generators,
learned world models, representation models, and WAMs. Its SANA integration
is bundled in mundus.sana; it does not import or require the sibling
sana_sim project at runtime. Providers have one common generation interface;
heavyweight models are loaded only when used.
The core has no runtime dependencies. For the bundled SANA provider, install
the optional runtime once with pip install -e '.[sana]'.
Standalone SANA video generation
from mundus import Mundus
world = Mundus.from_pretrained(
"sana-video",
model_path="checkpoints/SANA_Video_2B_480p.pth",
vae_path="checkpoints/Wan2.1_VAE.pth",
)
result = world.generate("A robot carefully opens a drawer", num_frames=81, seed=42)
result.save("robot.mp4")
SANA MoT WAM
migma.models.wms.samot.SanaMoTWAM keeps the loaded SANA denoiser as the
video branch and adds an action diffusion head. The action head reads SANA's
per-layer normalized video tokens (world memory) and its own action tokens;
the video branch never reads action tokens. This is the asymmetric
Mixture-of-Transformers contract and preserves the normal SANA video output.
from migma.models.wms.samot import SanaMoTWAM
provider = world.model
wam = SanaMoTWAM(provider.backbone, action_dim=7, max_action_horizon=32).cuda()
text, mask = provider.encode_text("Robot reaches for the drawer handle")
video_noise, action_noise = wam(
noisy_video, video_timestep, text, mask, noisy_actions,
)
Train the two outputs with the appropriate SANA video denoising loss and the action flow/noise loss. SANA can be frozen initially, then selectively unfrozen for joint WAM finetuning.
Extending the hub
Implement the WorldModel protocol (model_id, capabilities, and
generate(request)), then register a factory:
from mundus import registry
registry.register("my-world-model", MyWorldModel)
No provider has to share model internals with another provider. A provider that exposes a backbone may additionally be used by a WAM adapter.
Metadata
Release files for mundus 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mundus-0.1.0.tar.gz | 104.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mundus-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 231.8 kB
Release files / mundus-0.1.0.tar.gz
| Download URL | mundus-0.1.0.tar.gz |
|---|---|
| Size | 104.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
009b8165a6638fe97a950f1e7757e8f9ce9f3888de588f806e368bf49fae7c5f
|
|
BLAKE2b-256 checksum How to use checksums |
f9072050516d8020c6c7ed4ace3d60c79dfc59c94fb45afeeec6c463101bd3a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.0
|
Release files / mundus-0.1.0-py3-none-any.whl
| Download URL | mundus-0.1.0-py3-none-any.whl |
|---|---|
| Size | 127.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a1c0c6507979b09ae925e20c5aa894c231e41caba3271f894fb471c075f85c48
|
|
BLAKE2b-256 checksum How to use checksums |
551a54014b484da09cea7da5ce2aa737ddccb25a02b80647f78e344611281e41
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.0
|