SolPix — Final Release
A compact latent text-to-image flow transformer from SolIntelligence.
SolPix predicts flow in the latent space of the SANA 1.1 DC-AE. This repository contains its PyTorch implementation, a full training checkpoint, and a small prompt-to-image example that pairs the model with the matching frozen text encoder and decoder.
Release v1.0.0: this published snapshot packages the durable EMA checkpoint at optimizer step 210,000. A separate SolPix 1.1 continuation is training from this checkpoint toward step 300,000. That in-progress run is not represented by the files in this repository; the public weights remain the stable 210,000-step snapshot until a new release is ready.
Model summary
| Model | SolPix, approximately 49M parameters |
| Task | Text-conditioned image generation in latent space |
| Objective | Rectified flow matching, sampled with a logit-normal time distribution |
| Image latent | 32 channels, 32× spatial compression; 16×16 grid for 512×512 images |
| Text conditioning | Frozen google/flan-t5-base states (768 features, up to 96 tokens) |
| Decoder | Frozen SANA 1.1 DC-AE F32C32 |
| Published weights | EMA and raw model weights in step_00210000.pt |
| Release | v1.0.0 published snapshot; SolPix 1.1 continuation in progress |
| Saved optimizer step | 210,000 (configured schedule: 5,000,000 steps) |
SolPix outputs latent velocity predictions, not RGB pixels. Use the matching DC-AE to decode its sampled latents. The text encoder and autoencoder are external dependencies and are not included in this repository.
Quick start
The included helper downloads this repository's checkpoint, encodes a prompt with Flan-T5 Base, samples with Euler integration and classifier-free guidance, then decodes with the pinned SANA DC-AE revision.
python -m pip install -r requirements.txt
python generate.py --prompt "A glass greenhouse in a quiet garden after rain" --output solpix.png
For a local checkpoint copy or a different prompt/seed:
python generate.py \
--checkpoint ./step_00210000.pt \
--prompt "A small red sailboat on a misty lake at sunrise" \
--seed 1234 --steps 40 --guidance-scale 3.5 \
--output ./solpix.png
The helper targets a 512×512 image and defaults to CUDA when available. CPU inference is supported but will be slow. No quality benchmark is claimed for this release.
Architecture
The transformer implementation is solpix.SolPixTransformer2D: a 15-block,
512-wide U-shaped joint text/image transformer. It uses 8 attention heads
(64 dimensions each), a 1,152-wide SwiGLU MLP, seven long skip connections,
shared adaptive layer-normalization conditioning, and depthwise 3×3 local
mixing. The decoder adapter is solpix.AutoencoderDCSol, which loads the
external SANA diffusers.AutoencoderDC. The text encoder and image autoencoder
remain frozen and outside the approximately 49M-parameter generator.
The model accepts precomputed text states and noisy autoencoder latents. Its
sampler follows the training convention x_t = (1 - t) x_clean + t noise,
integrating from t=1 down to t=0.
Training data and recipe
The training split was curated from MONET v1.2.0
with a deterministic seed of 20260924. The curation summary records 174,603
training examples and a 9,300-example validation holdout. It used pre-encoded
SANA F32C32 latents and captions encoded with Flan-T5 Base; the images and
dataset shards are not redistributed in this model repository.
The selected source categories were CC12M, CommonCatalog-CC-BY, COYO, Diffusion-Aesthetic-4K, LAION, and synthetic captions from Flux Klein, Flux Schnell, and Z-Image. Curation applied resolution, aesthetic, NSFW, watermark, and near-duplicate filters. The source metadata recorded the following upstream license labels: CC BY 4.0, Apache 2.0, Google permissive, and MIT. Those labels describe dataset records. The data shards are not included here; their original terms remain separate from this repository's Apache-2.0 license.
The Windows v1.0 continuation used BF16, batch size 4 per device, gradient accumulation 16, and one RTX 3080 Ti. The published checkpoint is from step 210,000. The SolPix 1.1 continuation uses the same curated split and resumes from this checkpoint toward step 300,000. No final validation benchmark was completed for v1.0.
Intended use
Research and experimentation with compact latent text-to-image flow models, sampling behavior, and small-model training. Treat generated images as model outputs requiring human review before publication or consequential use.
Limitations
- The published checkpoint is from step 210,000; prompt following and visual quality have not been established by a formal evaluation.
- Small capacity and limited training progress may yield weak composition, artifacts, or poor rendering of fine details and text.
- The model has no built-in safety classifier or content filter.
- The image decoder and text encoder are external, separately licensed components. Their use is governed by their own model terms.
- Training-data curation does not remove all biases, errors, or unwanted associations in source captions and images.
Sample gallery
These are 15 individual images generated by the released SolPix checkpoint, not external examples. Each was sampled at 512×512 with 32 Euler steps and guidance scale 3.5 using the pinned SANA DC-AE decoder. The image files, prompts, seeds, and SHA-256 values are in samples/.
Sample 01
Prompt: Three Black men sharing french fries at a neighborhood diner, candid documentary photography.
Checkpoint: step 210000 · Seed: 260926 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 02
Prompt: A red fox standing in fresh snow beneath pine trees at winter dawn, wildlife photography.
Checkpoint: step 210000 · Seed: 260927 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 03
Prompt: A glass greenhouse filled with ferns after rain, soft natural light, botanical photograph.
Checkpoint: step 210000 · Seed: 260928 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 04
Prompt: A handmade cobalt blue teapot on a pale stone table, clean studio product photograph.
Checkpoint: step 210000 · Seed: 260929 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 05
Prompt: A white sailboat crossing a calm blue bay at golden hour, fine art landscape photograph.
Checkpoint: step 210000 · Seed: 260930 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 06
Prompt: An orange cat curled on a wooden chair in a sunlit bookshop, cozy editorial photograph.
Checkpoint: step 210000 · Seed: 260931 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 07
Prompt: A small street cafe reflected in wet pavement at night, warm window light, city photograph.
Checkpoint: step 210000 · Seed: 260932 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 08
Prompt: A wooden lighthouse on a rocky coast under a cloudy sky, atmospheric landscape photograph.
Checkpoint: step 210000 · Seed: 260933 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 09
Prompt: A bowl of ripe peaches on a kitchen counter, morning light, natural still life photograph.
Checkpoint: step 210000 · Seed: 260934 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 10
Prompt: A snow-covered cabin among tall pine trees at blue hour, quiet winter landscape photograph.
Checkpoint: step 210000 · Seed: 260935 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 11
Prompt: A baker placing fresh bread on a cooling rack in a bright kitchen, documentary photograph.
Checkpoint: step 210000 · Seed: 260936 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 12
Prompt: A goldfinch perched on a thin branch among spring blossoms, close-up wildlife photograph.
Checkpoint: step 210000 · Seed: 260937 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 13
Prompt: A red bicycle leaning against a brick wall on a leafy neighborhood street, lifestyle photograph.
Checkpoint: step 210000 · Seed: 260938 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 14
Prompt: A lemon cake with a slice cut out on a ceramic plate, bright tabletop food photograph.
Checkpoint: step 210000 · Seed: 260939 · Sampler: 32 Euler steps · Guidance: 3.5
Sample 15
Prompt: A small observatory beneath a clear star-filled sky, distant mountains, night landscape photograph.
Checkpoint: step 210000 · Seed: 260940 · Sampler: 32 Euler steps · Guidance: 3.5
Repository files
step_00210000.pt— full PyTorch training checkpoint, including EMA and raw model weights, optimizer state, model configuration, and training arguments.config.json— SolPix architecture and external encoder/decoder manifest.solpix/—SolPixTransformer2D,AutoencoderDCSol, configuration, data, and training components.AutoencoderDCSolwraps the pinned upstream DiffusersAutoencoderDC; its decoder weights are not duplicated here.train.pyandsample_latents.py— training and latent-sampling entry points.generate.py— prompt-to-image example using the pinned external models.banner.png— Sol Labs / SolPix banner supplied for this release.samples/— 15 individual checkpoint-generated PNGs, JSON metadata, and a manifest.LICENSEandNOTICE— Apache-2.0 license and release attribution.
License
The SolPix source, checkpoint weights, configuration, model card, and supplied
banner in this repository are released under the Apache License 2.0. See
LICENSE and NOTICE. This license does not relicense
upstream datasets or the separately downloaded Flan-T5 and SANA DC-AE models;
their own terms apply.
- Downloads last month
- -














