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