Generation you can put in a receipt.
A prompt, a seed, the same bytes everywhere.
Every other generative model is float and judged by similarity — its output drifts
between machines, so you can never pin it. wai.generate.spectral is the opposite:
a generator whose whole pipeline is integer. The prompt's words shape the image through
a pinned integer lexicon — colour (ocean→blue, fire→red),
texture (calm→smooth, chaos→busy), orientation
(horizon→horizontal, tall→vertical) and a shape grammar
(ring→concentric, kaleidoscope→symmetric, star→rays,
spiral/galaxy→spirals, sky→gradient) — while the
prompt+seed fix the exact draw. So the same (model, prompt, seed, steps) produces byte-identical
output on every machine — there is no original, yet the generated image's hash is portable
and can go in a receipt. The same pure-i64 Rust native sinks run, in wasm32, no float,
no ML runtime.
Why this is the moat
The hash above is portable: generate this prompt and seed on another machine and you get the identical bytes, so a publisher can pin "this prompt+seed under this model is exactly this image" and anyone verifies it client-side — generation-equivalence, the create-side of byte-exact conformance. The conformance line proves it: this browser reproduces the native reference's hash for the pinned inputs, byte-for-byte. (The image is fixed-point spectral synthesis — the prompt seeds which spectrum, deterministically. Reference engine + conformance corpus in the open-standards repo, Apache-2.0.)