SeedVR2-3B-mlx-int8 / README.md
xocialize's picture
Add SeedVR2-3B MLX-Swift weights (int8)
9dbcb30 verified
metadata
license: apache-2.0
library_name: mlx
tags:
  - mlx
  - mlx-swift
  - super-resolution
  - image-upscaling
  - diffusion
  - quantized
  - apple-silicon
pipeline_tag: image-to-image

SeedVR2-3B (MLX-Swift) — int8

int8-quantized MLX-Swift weights for SeedVR2-3B (ByteDance, ICLR 2026) — one-step diffusion super-resolution. The on-device variant: ~half the size, near-lossless. For the seedvr2-mlx-swift package (MLXEngine / ForgeUpscaler). fp16 base: SeedVR2-3B-mlx.

  • Quantization: transformer DiT Linears int8, group size 64 (the small vid_in.proj and the VAE are kept fp16). Declared in config.json ("quantization": {"bits": 8, "group_size": 64}); the loader applies it automatically.
  • Files: transformer.safetensors (int8, ~3.9 GB vs 7.9 GB fp16) · vae.safetensors (fp16) · pos_emb.safetensors · config.json.
  • Quality: int8 t_out cosine vs fp16 = 0.9999749 (near-lossless; int4 by contrast degrades this model to ~22.7 dB — use int8 on-device). Reload round-trip cosine 1.0.

Usage

import SeedVR2MLX
let upscaler = try SeedVR2Upscaler(directory: weightsDir)   // detects int8 from config, applies quantize on load
let out = upscaler.upscale(processedImage: img, seed: 42)

Provenance & license

ByteDance Seed (SeedVR2, ICLR 2026, ByteDance-Seed/SeedVR, Apache-2.0) → fp16 numz/SeedVR2_comfyUI → MLX ref filipstrand/mflux → MLX-Swift port + int8 conversion by MVS Collective (xocialize). Format/precision-converted weights (not a new model); Apache-2.0 applies.