Generative AI, running on edge devices.
veizik runs image, video and language models to completion on edge hardware — from a $15 Raspberry Pi Zero up to a Jetson AGX Orin edge GPU module. On the CPU, on the Hailo-8 NPU, and on a low-power edge GPU. No cloud, no desktop. Every figure below is measured on the real devices.
Language & vision — available now Image & video — preview
Install the veizik edge runtime on a 64-bit Raspberry Pi 5 or Raspberry Pi Zero 2 W:
curl -fsSL https://veizik.com/rpi/install.sh | sh
License the device once (a one-time browser approval), then pull a model and run it on-device:
veizik activate
veizik pull gpt2-124m
veizik run gpt2-124m "The capital of France is"
Language models (GPT-2, SmolLM2, LFM2.5) and on-device vision run on the board now; image (SDXS, SD1.5) and diffusion video are render-proven on the board and in preview — weightless engine, model weights fetched on demand, compute lease-gated then fully local. Docs and the model catalogue: this page.
a real 512×512 image on a Raspberry Pi 5 CPU — SDXS, warm, at the 2.4 GHz boost. No GPU.
a full megapixel image on four CPU cores — SANA-Sprint, end to end on the Pi 5.
diffusion video on the Pi 5 CPU — image and video on one board, no accelerator.
prompt to a 512×512 image entirely on a Raspberry Pi Zero 2 W — the smallest Pi there is.
Diffusion video on a Raspberry Pi 5 CPU — 16 frames, 512×512. veizik’s dep0 product path renders an 8-frame forward warm in 52.2 s. No GPU.
A full 12-billion-parameter image model, on a 60-watt module.
The Jetson AGX Orin is a palm-sized edge GPU module. veizik runs the complete 12-billion-parameter FLUX.1-schnell image model on it — a full 1024×1024, with 4-bit weights and 8-bit attention — entirely on the module. No datacenter, no desktop GPU.
parameters — the full FLUX.1-schnell model, run on-device
native resolution — the complete diffusion pipeline
4-bit weights, 8-bit attention — veizik per-tensor number formats





Rendered on a Jetson AGX Orin with the veizik edge GPU engine (a preview build, arriving soon) from the public FLUX.1-schnell weights (Apache-2.0). Shown as what the engine draws, not as a reproducible result — the edge engine is not published yet. Every image is AI-generated and carries an embedded provenance mark.
Characters, animated, on a $35 board.
Short diffusion-video clips — a pink robot, a bubble-tea friend, a kitten — generated frame by frame on the Raspberry Pi 5 CPU. No cloud, no GPU.
Diffusion video rendered on the Raspberry Pi 5 CPU with the veizik edge engine — video generation runs on the board today. Shown as what the engine draws on a CPU. Every clip is AI-generated and carries an embedded provenance mark.
A real render, in seconds, on four CPU cores.
SDXS-512 — a distilled Stable-Diffusion model — renders a 512×512 image in about three seconds on the Raspberry Pi 5 CPU alone, on veizik’s own native (dep0, pure .lim) path. You pick the point on the quality ladder.
dep0 native path, warm, at 1.8 GHz — 2.28 s at the 2.4 GHz boost
peak RAM — the whole pipeline fits in memory
PSNR at the quality tier (the ladder below trades fidelity for size)
A snow-capped mountain reflected in a calm lake — SDXS-512 on the Raspberry Pi 5 CPU, seed 42.
AI-generated · a range of SDXS-512 prompts, all on veizik’s dep0 native path on the Raspberry Pi 5.
The figures above are warm end-to-end on veizik’s dep0 native path; the first (cold) image takes 28–31 s, or 6–10 s with the plane cache. Quality is the per-tensor ladder below — the quality tier is 30.2 dB PSNR, scored against a full-precision reference on the same inputs.
A quality ladder, not a single setting.
veizik chooses the number format per tensor, so one SDXS-512 model ships as five quality tiers — from a 356 MB high-quality pack down to a 182 MB low-memory one — and you pick the trade with a --mode flag. Every tier below is rendered on the Raspberry Pi 5 CPU.
| SDXS-512 · --mode | Pack size | CLIP image similarity | PSNR vs reference |
|---|---|---|---|
| quality | 356 MB | 0.997 | 30.2 dB |
| balanced | 297 MB | 0.992 | 25.4 dB |
| fast | 257 MB | 0.990 | 22.6 dB |
| ultrafast | 218 MB | 0.983 | 19.9 dB |
| low-memory | 182 MB | 0.964 | 16.6 dB |
int8 is never the best weight format. Because veizik picks the format per tensor — an adaptive mixed-precision ladder — every tier matches or beats a uniform int8 pack at the same or smaller size. Pack sizes and quality are measured on-device; CLIP image similarity and PSNR are against a full-precision reference on the same inputs. Warm render at the quality tier is about 2.9 s at a stock 1.8 GHz (2.8 s balanced; about 2.5 s at the 2.4 GHz stock boost); the first image builds a plane cache in 6–10 s. Peak RAM 1.14 GB.
The full Stable Diffusion 1.5, on the Pi 5 CPU.
SDXS is a distilled model; Stable Diffusion 1.5 itself is the full one. veizik runs proper SD1.5 on the Raspberry Pi 5 CPU — a few-step LCM-LoRA path for speed, and the complete 25-step schedule on its dep0 native path, timed below. Each render is bit-identical to the same pipeline on a Mac.
A serene mountain lake at sunrise — SD1.5 + LCM-LoRA, 4 steps, Raspberry Pi 5 CPU, seed 42.
Stable Diffusion 1.5 with the LCM-LoRA (latent-consistency/lcm-lora-sdv1-5, CreativeML Open RAIL++-M) — a few-step path, four steps, not one. The render is bit-identical to the same pipeline on a Mac, and reproducible with what veizik ships; the prompt is tokenized on a Mac and the weights are converted to veizik’s sub-byte pack offline. SDXS above is the fastest one-step path; the dep0 native path runs the full 25-step model, timed in the next section.
A range of scenes — same engine, same model.






Every image above is Stable Diffusion 1.5 with the few-step LCM-LoRA, four steps, seed 42 (still life seed 43), rendered on the Raspberry Pi 5 CPU — photoreal, atmospheric and painterly from one engine, each bit-identical to the same pipeline on a Mac. Exact prompts and seeds are reproducible.
Stable Diffusion 1.5 at a full 25 steps — on the Pi 5 CPU.
No distillation, no few-step shortcut: the complete 25-step SD1.5 schedule, run to the end on four Raspberry Pi 5 CPU cores. With the same per-tensor ladder (dep0 native path) it runs to completion in about 249 seconds at the quality tier, at a stock 1.8 GHz, inside the board’s memory.
warm, quality tier, full 25 steps @ 1.8 GHz (faster tiers ~221 s)
the full schedule, run to the end — no distillation
peak RAM — the whole 25-step pipeline fits in memory
| SD1.5 25-step · --mode | Pack size | Latent cosine vs reference |
|---|---|---|
| quality | 967 MB | 0.984 |
| balanced · knee | 806 MB | 0.982 |
| fast | 699 MB | 0.931 |
| ultrafast | 591 MB | 0.887 |
| low-memory | 496 MB | 0.839 |
Warm end-to-end is about 221 s per image at a stock 1.8 GHz (4.4 s per denoising step); the quality and balanced tiers run a higher-quality attention recipe at about 249 s (quality-tier latent PSNR 31.5 dB). The first job is about 305 s. The knee of the curve is the balanced tier (7.5 bits/weight) — 806 MB and latent cosine 0.98 against the full-precision reference. Pack sizes and timing are measured on-device; quality is latent cosine vs a full-precision render on the same inputs. Peak RAM 1.91 GB.
A megapixel model, on four CPU cores.
SANA-Sprint 0.6B renders at a full 1024×1024 — four times the pixels of the 512×512 models above. veizik runs the whole pipeline end-to-end on the Raspberry Pi 5 CPU through its own pure-.lim path, and the result tracks a full-precision torch reference.
1-step 1024×1024, warm, 4 threads @ 1.8 GHz
PSNR vs the torch fp32 reference (CLIP 31.5)
peak RAM — the whole 1024×1024 pipeline in memory
Raspberry Pi 5, 4× Cortex-A76, CPU only, fully on-device. One step is 66.9 s and the four-step schedule 89.5 s, warm end-to-end at a stock 1.8 GHz; the first (cold) job builds a cache and takes longer. Quality is measured against a full-precision torch render on the same inputs — PSNR 35.80 dB (1-step) and 35.06 dB (4-step), CLIP 31.51 / 31.06, with the decoder, DiT and text-encoder stages each matching the reference — not asserted as identical. veizik’s number formats are proprietary: the measured results are shown, the format internals are not. The render below is shown beside its full-precision reference.
AI-generated · SANA-Sprint 1024×1024 on the Raspberry Pi 5, shown beside the full-precision reference — 4-step, seed 42.
Fits in memory, finishes every job.
veizik’s dep0 product path runs the whole SDXS pipeline in 1.14 GB on the Raspberry Pi 5 — comfortably inside the board’s memory — and completes every render without a reset, on our board and power supply.
peak RAM on the dep0 path — the whole pipeline fits in memory
renders completed — zero resets, no throttling
CPU only — no accelerator required for this path
The engine’s measurement method and how every figure is taken are on the benchmarks page.
Four LLMs, five speed tiers, on-device.
The same --mode ladder drives language models. GPT-2, SmolLM2 and LFM2.5 run entirely on the Raspberry Pi 5 CPU — a high-quality tier through to a fast one, all within the board’s memory.
| Model (licence) | Decode, quality→ultrafast | Perplexity (PPL80) |
|---|---|---|
| GPT-2 124M (MIT) | 85.1 → 124.1 tok/s | 29.6 → 43.4 |
| SmolLM2-135M (Apache-2.0) | 66.2 → 109.2 tok/s | 17.0 → 21.9 |
| SmolLM2-360M (Apache-2.0) | 32.7 → 43.8 tok/s | 12.7 → 14.9 |
| LFM2.5-230M (Liquid AI) | 46.2 → 73.9 tok/s | 36.7 → 39.0 |
Raspberry Pi 5, 4× Cortex-A76, CPU only, fully on-device, at a stock 1.8 GHz (faster at the 2.4 GHz stock boost). Decode throughput and perplexity (PPL80) are veizik’s own on-device measurements across the five --mode tiers; the pack-loader output is bit-identical to the reference engine on the same values. Prefill reaches about 770 tok/s on GPT-2, 577 on SmolLM2-135M, 237 on 360M and 498 on LFM2.5; the low-memory tier runs in as little as 104–176 MiB. The engine’s measurement method is on the benchmarks page. Internal number formats are proprietary — the measured results are shown, the format internals are not.
A language model on a palm-sized computer.
The Raspberry Pi Zero 2 W has four cores and 512 MB of RAM. veizik runs GPT-2 and SmolLM2 on it, on the CPU, within that memory — with veizik’s own sub-byte quantization driving throughput up and the footprint down.
| Model (licence) | Precision | tok/s | Peak RAM | Quality (perplexity) |
|---|---|---|---|---|
| GPT-2 124M (MIT) | int8 | 8.19 | 208 MB | +3.3% vs fp32 |
| GPT-2 124M | veizik sub-byte | 12.15 | 96 MB | +4.4% vs fp32 |
| SmolLM2-135M (Apache-2.0) | int8 | 8.80 | 137 MB | PPL 15.73 |
Raspberry Pi Zero 2 W, 4× Cortex-A53, CPU only, fully on-device; the greedy first token matches the full-precision model. veizik’s sub-byte quantization is a proprietary format — the measured throughput and perplexity are shown, the format internals are not.
Prompt to image, entirely on a $15 board.
Not just language. The whole text-to-image pipeline — tokenizer, CLIP text encoder, the noise, the diffusion UNet and the decoder — runs on the Raspberry Pi Zero 2 W itself, on four Cortex-A53 cores inside 512 MB. No cloud step and no desktop pre-processing: a prompt string goes in on the board, and a 512×512 image comes out on the board — the smallest, cheapest Pi there is.
full prompt→image, 512×512, seed 42, on-device (provisional — development build)
peak RAM — inside the board’s 512 MB
text-encoder cosine vs the full-precision reference
Prompt to image, entirely on a $15 Raspberry Pi Zero 2 W — 74.9 s (provisional, development build), 512×512, seed 42.
Raspberry Pi Zero 2 W, 4× Cortex-A53 @ 1 GHz, CPU only, fully on-device. End-to-end breakdown: text encoder 13.0 s, diffusion UNet 47.7 s, decoder 13.8 s. The text-encoder output is cosine 1.000000 against a full-precision reference across five prompts, every token matching, and the rendered image tracks the full-precision reference on the same inputs (measured, not asserted as identical). veizik’s number formats are proprietary — the measured results are shown, the format internals are not. Image generation on the edge is in preview; the figures here are measured on the board.
Install, activate, run.
The edge package follows the same command vocabulary as every veizik build. A Raspberry Pi gets the language and vision engine in four lines — and everything after activation runs on the board.
# on the Pi itself curl -fsSL https://veizik.com/rpi/install.sh | sh # detect the board, fetch the runtime + sealed packs veizik activate # once per board — online, keeps a valid lease veizik pull smollm2_135m # fetch the public master, prepare the on-device cache veizik run smollm2_135m "Write a haiku about the sea." --mode balanced --tokens 64
--mode picks the tier (quality / balanced / fast / ultrafast / low-memory) on language and vision alike. Weights are not bundled: each package is weightless and sealed, and veizik pull <model> fetches the public master and prepares the on-device cache. Activation is online; all inference then runs entirely on the board. Image and video generation (SDXS, SD1.5, AnimateDiff) run on the board now — the figures below are measured on the boards; SANA is the next image model, rolling out as it is flipped on.
What to know before you count on it.
SDXS-512 is the image model for the 512 MB Raspberry Pi Zero 2 W (fits in ~242 MB). Stable Diffusion 1.5 is Raspberry Pi 5-only — it does not fit the Zero 2 W's memory. On the Pi 5, SDXS is the fast path and SD1.5 is the full-quality path.
Steady-state, after the first run. A cold first render, and the sealed on-device path, are slower and use more peak RAM than the warm figure beside each showcase.
First activation and periodic re-verification are online; inference itself is offline. A board that cannot reach the licence service will not start a new session.
Two nominally identical Zero 2 W boards measured ~18% apart; thermals and the power supply dominate. Give the board a steady 5 V supply (see Power, below).
LFM2.5 is free while your revenue stays under the publisher's threshold; SANA is research-only (its text encoder is under the Gemma Terms); AnimateDiff-Lightning is used at four or eight steps. Model weights stay under their publishers' licences.
Each image and video carries a visible label plus an embedded provenance mark. Do not present a generated result as a photograph.
Eight vision models, on four CPU cores.
Beyond generation, veizik runs a set of computer-vision models on the Raspberry Pi 5 CPU (Cortex-A76, dot-product int8) — classification, detection, depth, style and super-resolution — each carried at veizik’s own per-tensor sub-byte precision, matched to the full-precision model at a fraction of the size.
MobileNet V1 / V2 · Inception V3
Image classification — int8 top-1 accuracy at a smaller footprint than a uniform int8 pack.
AvailableBERT-tiny (SST-2)
On-device text classification — sentiment, on the Pi 5 CPU.
AvailableSSD-MobileNet V1 · RetinaFace
Object and face detection on the Pi 5 CPU.
AvailableMiDaS v2.1 small
Monocular depth estimation, fully on-device.
AvailableFast style transfer · RFDN ×4
Neural style and 4× super-resolution on the CPU.
AvailableComputer vision runs on the Raspberry Pi 5 (Cortex-A76, dot-product int8); the 512 MB Raspberry Pi Zero 2 W runs the language models and SDXS image generation, not the CV set. Each model is carried at a per-tensor sub-byte precision and published as model size at equal accuracy — the number formats are proprietary, so the measured outcome is shown and the layout is not. Licences: the style model ships with an AI-provenance mark; the vision models are under permissive licences; every model’s weights stay under its publisher’s terms. The vision models run on the edge engine today.
With veizik’s sealed VZMH hypercache, a classification model is restored from an encrypted on-device snapshot into tmpfs and is ready in milliseconds — MobileNet V2 in ~20 ms, MobileNet V1 in ~23 ms and Inception V3 in ~142 ms warm model-load, where a cold build takes several seconds. The warm output is bit-identical to a cold load. Measured on the veizik CLI 1.7.16 customer path (Raspberry Pi 5, Cortex-A76).
Released one model at a time.
Language, vision, image and video run on the edge today — GPT-2, SmolLM2, LFM2.5, SDXS, SD1.5 and diffusion video. SANA is the next image model, rolling out as it is flipped on — not all at once.
SDXS-512
1-step distilled diffusion. 512×512 in ~2.9 s on the Pi 5 CPU (warm, 1.8 GHz).
PreviewStable Diffusion 1.5
The full 25-step model in ~249 s, or a four-step LCM-LoRA path in ~37 s, on the Pi 5 CPU — matched to the reference.
PreviewAnimateDiff-Lightning
Few-step diffusion video, sixteen frames, on the Pi 5 CPU.
PreviewGPT-2
Runs on a 512 MB Raspberry Pi Zero 2 W with sub-byte quantization.
AvailableSmolLM2
A compact modern LLM, on-device within a Zero 2 W’s memory.
AvailableEight CV models
Classification, detection, depth, style and super-resolution — on the Pi 5 CPU.
AvailableAdded as they finish
New edge models join the list as each is verified on the boards.
OngoingWorks with the Hailo-8 AI accelerator.
veizik runs on a Raspberry Pi 5 with a Hailo-8 (26 TOPS) AI HAT+, offloading convolutions to the neural accelerator through HailoRT (MIT), with a CPU-NEON fallback for the rest of the pipeline.
Performance results for the Hailo-8 path are pending vendor review and are not shown here. Hailo-8 is a 26 TOPS accelerator; the Hailo-8L variant is 13 TOPS. veizik is not affiliated with or endorsed by Hailo.
Give the board a steady supply.
Multi-core inference draws the board in short current spikes. On a thin or shared supply those spikes sag the 5 V rail and brown the board out mid-render — a reset or a hang, not an error you can read. Power is the first thing to get right.
- Use a steady 5 V / 2.5 A or better supply — the official Raspberry Pi 5.1 V / 2.5 A micro-USB adapter is ideal — with a short, thick cable.
- Do not power it from a passive or shared USB hub, or a low-capacity multi-port charger — especially with several boards at once. The shared rail cannot hold 5 V under load.
- Under-power shows as the board going unresponsive under load, or a low-voltage bit in
vcgencmd get_throttled(0x1now,0x10000since boot).
- Use the recommended official power adapter.
Language and vision run on your Pi today.
What you see here is measured on real Raspberry Pi hardware. The language, vision, image and video engine is available now — curl -fsSL https://veizik.com/rpi/install.sh | sh; model weights are fetched on demand, per model. The product and benchmarks pages cover the desktop and server engine.
Raspberry Pi is a trademark of Raspberry Pi Ltd. Hailo and Hailo-8 are names of Hailo Technologies Ltd. Stable Diffusion, SDXS, DreamShaper, AnimateDiff-Lightning, LCM-LoRA, GPT-2, SmolLM2, LFM2.5, SANA and TAESD are names of their respective owners (LFM2.5 is a model from Liquid AI; SANA is from NVIDIA). veizik is not affiliated with or endorsed by any of them. Models are used under their published licences (CreativeML OpenRAIL-M / OpenRAIL++-M, MIT, Apache-2.0, the LFM Open License v1.0, and each model’s own licence); generated images are subject to those licences’ use restrictions. Figures are veizik’s own measurements on the stated boards; reproduction recipes are published, the internal measurement method is not.