S1-Omni vision tower, Qwen-Image VAE and generation interfaces
562 exact source tensor entries: the Qwen3-VL visual tower and deepstack projections, native text-hidden-state alignment MLP, full Qwen-Image pixel VAE, and DiT input/output/timestep boundary modules. The large language backbone and the DiT attention/FFN generator are excluded. This is a component bundle, not a standalone scientific-figure generator.
Corrected source mapping
The upstream joint-model index assigns 444 keys to the wrong source shard; all 351 visual-tower entries are affected. We read the actual headers of all 21 safetensors shards and constructed a source-verified mapping before extraction. Original tensor keys, shapes, dtypes and bytes are preserved. source_index_audit.json records the original and actual assignment for every mismatch, and tensor_mapping.json records each extracted tensor's source offset. The original index was not trusted silently or edited in place.
from huggingface_hub import snapshot_download
import sys
folder=snapshot_download("gatilin/s1_omni_vision_vae_io")
sys.path.insert(0,folder)
from component import load_model,normalize_latents,denormalize_latents
interfaces=load_model(folder)
visual=interfaces.model.visual
pixel_codec=interfaces.vae
The vision tower consumes native Qwen3-VL packed patches and grid_thw. The alignment module consumes generated text hidden states from the full language backbone. Visual features must not be substituted merely because their output widths agree. Pixel VAE input is BCTHW RGB in [-1,1]; single images have T=1. Its channel-wise latents_mean / latents_std conventions are preserved by the supplied normalization helpers.
Validation
Install requirements and run python validate.py. Tests cover strict loading of all selected components, image-grid and deepstack vision outputs, text-hidden alignment, DiT boundary interfaces, native Qwen-Image VAE reconstruction, normalization inversion, and extraction using the corrected source-header map. Results use deterministic synthetic inputs and small grids; they do not establish full scientific-image generation quality or end-to-end VQA performance.
Native AlignmentLayer is retained from the pinned official inference implementation; visual and VAE/DiT boundary classes follow its transformers/diffusers imports and original configuration. The exact runtime package versions used are recorded in validation.json where available. This release targets the July S1-Omni joint checkpoint, not the earlier February S1-Omni-Image-Preview, whose tensor prefixes differ.
Sources: official weights, official inference code, report. The source model card declares Apache-2.0; the standard license text and original notices are retained.
Model tree for gatilin/s1_omni_vision_vae_io
Base model
ScienceOne-AI/S1-Omni