Model reference · open weights
FWKV-Image is an open-weight image model from FWKV. FWKV-Image (FP32) weighs 384 MB; the smallest configuration that runs it is RTX 3060 12 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the FWKV/FWKV-Image model card, 2026-10-01
What it is
| Released by | FWKV |
|---|---|
| Released | 2026-07-25 |
| Parameters | 192M |
| VRAM | 384 MB for the weights |
What it runs on
| Card | One image | Memory |
|---|---|---|
| RTX 3060 12 GB | fits | 11.6 GB |
| RTX 4060 Ti 16 GB | fits | 15.4 GB |
| RTX 3090 24 GB | fits | 23.4 GB |
| RTX 4090 24 GB | fits | 23.4 GB |
| RTX 5090 32 GB | fits | 31.0 GB |
| L40S 48 GB | fits | 44.0 GB |
| A100 80 GB | fits | 78.2 GB |
| H100 80 GB | fits | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | fits | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | fits | 107 GB |
| H200 141 GB | fits | 138 GB |
| B200 180 GB | fits | 176 GB |
From the model card
A ~40M‑parameter (trained) diffusion transformer for text‑to‑image generation that replaces standard self‑attention with a bidirectional per‑channel leaky integrator (FWKV) and is trained as a rectified‑flow velocity field over the latent space of a frozen VAE. It is a research experiment exploring how far linear‑RNN token mixing can go on visual generation tasks.
The model generates 256×256 images from text prompts encoded by a frozen CLIP ViT‑B/32 text encoder, using a DiT‑style patchify‑unpatchify pipeline with adaLN‑zero conditioning.
Architecture: 12 stacked FWKV‑DiT blocks at width 384, with 6 heads each. Each block replaces standard self‑attention with a bidirectional decayed accumulator:
stateₜ = W·stateₜ₋₁ + kₜ·vₜCross‑attention: Standard multi‑head cross‑attention to the 77 CLIP text token embeddings (512‑dim) is retained inside each block.
Conditioning: adaLN‑zero modulation derived from sinusoidal timestep embedding plus pooled CLIP text embedding.
Patchify: Latent 4×32×32 is split into 256 patches of 2×2, mapped to 384‑d tokens. Positional embeddings are learned.
Rectified flow: The model predicts a velocity field v(xₜ, t, text) that transports Gaussian noise x₀ to data x₁ along a straight line. Training minimizes MSE against the ground‑truth velocity x₁ − x₀.
Factorised design: 4‑channel VAE latent → 384‑dim patch tokens → 4× expansion MLP.
Context: 256 patch tokens (non‑causal, bidirectional). No image‑level positional embeddings beyond patch positions.
Text encoder: Frozen CLIP ViT‑B/32 (openai/clip-vit-base-patch32).
VAE: Frozen stabilityai/sd-vae-ft-mse (4×32×32 latents, scaling factor 0.18215).
src="https://hfviewer.com/api/card.svg?source=FWKV%2FFWKV-Image&granularity=auto&v=20260516-title-pills-card" alt="Architecture graph for FWKV/FWKV-Image. Open in hfviewer" width="100%" />
FWKV‑Image is intended for research on efficient diffusion transformers and for educational demonstrations of linear‑RNN architectures applied to visual generation. You can generate images from text prompts using the provided inference code.
The model relies on a custom architecture. To load it, you must provide the modeling_fwkv_vision.py file (found in the repository) and trust the remote code:
from transformers import AutoModel
from diffusers import AutoencoderKL
from transformers import CLIPTokenizer
model = AutoModel.from_pretrained(
"FWKV/FWKV-Image",
trust_remote_code=True
).eval().cuda()
tokenizer = CLIPTokenizer.from_pretrained("openai/clip-vit-base-patch32")
image = model.generate(
tokenizer=tokenizer,
prompt="a red fox sitting in a snowy forest, digital art",
steps=50,
cfg_scale=4.0,
seed=42
)
image.save("output.png")
The unified checkpoint contains the trained DiT, the frozen CLIP text encoder, and the frozen VAE weights in a single model.safetensors, so no separate AutoencoderKL.from_pretrained(...) calls are required.
jackyhate/text-to-image-2M (streamed, first 100 k valid pairs)HuggingFaceM4/COCO| Hyperparameter | Value |
|---|---|
| Architecture | 12 FWKV‑DiT blocks, d_model=384, patch=2, 256 tokens |
| Heads | 6 |
| FFN multiplier | 4 |
| WKV decay floor | 0.05 |
| Objective | Rectified flow (velocity MSE) |
| Batch size | 32 |
| Learning rate | 1×10⁻⁴ (cosine schedule) |
| Weight decay | 0.0 |
| Gradient clipping | 1.0 |
| Optimizer | AdamW (β₁=0.9, β₂=0.95) |
| Precision | bfloat16 mixed (CUDA only) |
| Epochs | 5 |
| Effective examples | 100 000 |
| Hardware | 1× NVIDIA GPU |
Note: the training script itself is not public; only the final weights and inference code are released.
See Tiny T2I Leaderboard.
The model is intended as an architectural proof‑of‑concept rather than a competitive production image generator.
The training run consumed a single consumer/entry‑level NVIDIA GPU for a small number of epochs on 100 k examples. The total energy footprint is estimated to be well under 1 kWh and corresponding CO₂eq emissions are negligible (on the order of 0.1–0.3 kg CO₂eq assuming average grid carbon intensity).
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
Running it yourself
Rent a machine by the hour. How to run this model is on its model card.