Agent skill · research science · aradotso

seoul-world-model

seoul-world-model — an agent skill for coding agents.

Why this skill is useful

Provides specific model inference code and anticipated training data for urban simulation that the AI wouldn't reliably generate on its own.

What it needs

Requires accelerate, conda, diffusers, einops, git, imageio, numpy, opencv-python, pillow, timm, torch, torchaudio, torchvision, tqdm, transformers installed locally. About 5k tokens when loaded. Last updated 2026-07-09. 70 stars on the source repository.

What this skill does

bash git clone https://github.com/naver-ai/seoul-world-model.git cd seoul-world-model bash Create and activate a conda environment conda create -n seoul-world-model python=3.10 -y conda activate seoul-world-model Install dependencies (once requirements.txt is released) pip install -r requirements.txt bash pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 pip install diffusers transformers accelerate pip install einops timm imageio[ffmpeg] opencv-python pip install numpy pillow tqdm seoul-world-model/ ├── README.md ├── checkpoints/ # Model weights (to be released) ├── data/ # Synthetic training data (to be released) ├── inference/ # Inference scripts (to be released) │ ├── worldmodel.py │ └── interpolation.py ├── train/ # Training code (to be released) ├── configs/ # Model and training configs └── utils/ # Utilities python import torch from PIL import Image Load model (path subject to change on release) from inference.worldmodel import SeoulWorldModel model = SeoulWorldModel.frompretrained("checkpoints/worldmodel") model = model.to("cuda").eval() Prepare input frames def loadframes(imagepaths: list[str]) -> torch.Tensor: from torchvision import transforms transform = transforms.Compose([ transforms.Resize((256, 512)), transforms.ToTensor(), transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]), ]) frames = [transform(Image.open(p).convert("RGB")) for p in imagepaths] return torch.stack(frames).unsqueeze(0) # (1, T, C, H, W) contextframes = loadframes(["frame000.jpg", "frame001.jpg", "frame002.jpg"]) Run generation with torch.nograd(): generatedframes = model.generate( context=contextframes.cuda(), numframes=16, guidancescale=7.5, ) Save output savevideo(generatedframes, "output.mp4", fps=10) python Interpolate between two keyframe images from inference.interpolation import StreetViewInterpolator interpolator = StreetViewInterpolator.frompretrained("checkpoints/interpolation") interpolator = interpolator.to("cuda").e …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills aradotso/seoul-world-model

View the source on GitHub

Browse the @skills marketplace