ZKSF logo, a neon quantum brainZKSF

Applications / AI / Quantum for AI

Quantum AI image generation

Writing an image into a circuit and reading it back

There are two ways to get a picture out of a quantum computer and they are opposites. The first trains: several small sub-generators each learn one patch of the image, entangled within a patch and independent across patches, which is what keeps the circuits small enough to run. The second trains nothing at all: one qubit per pixel, the pixel value written as a rotation angle, measured and read straight back.

The untrained method carries no model and no learning, so what it measures is the device. Its error per pixel is the device's readout error, which makes it a clean hardware benchmark as well as an image. The trained method is a generative model and is scored against the target distribution the same way a Born machine is.

Two 32 by 32 images side by side: on the left the target letterform, on the right the same image measured on Rigetti hardware, visibly noisier but clearly the same shape
The target on the left, and what came back from Rigetti on the right: 11 circuits, 36 shots each, 0.0525 mean error per pixel.

Run on our engines

An 8x8 target for the trained generator, and a 32x32 letterform written one pixel to a qubit. Submitted to each kind of compute we offer, on 18 September 2026. Every figure below is a real job on the service, priced as any customer would be priced.

DeviceEngineKindQubitsResultCost
CPUexact.cpuCPU4patch GAN, TVD 0.828 untrained to 0.2326 trained, 3,224 circuits$0.3224
Rigettiqpu.rigettiQPU4patch GAN, TVD 0.4129 for the converged generator$0.7250
Rigettiqpu.rigettiQPU32one qubit per pixel, 32x32 image in 11 circuits, 0.0525 mean error per pixel$3.4683

The same problem is yours to run: every instance here is seeded, so it rebuilds exactly. Open the console and a cost estimate is free before anything executes.

The trained generator reached 0.2326 on the simulator and 0.4129 when the converged circuit was run on Rigetti.

The untrained method returned a 32x32 image across 11 circuits with a mean absolute error of 0.0525 per pixel against the target, at 36 shots a circuit. Nothing is entangled between pixels, so a pixel's position in the image is its qubit's position in the circuit and an image larger than the device is split across circuits.

Where this stops

  • One circuit holds as many pixels as the device has qubits, so a larger image is several jobs and has to be stitched back together in submission order
  • The untrained method carries no model: it reproduces an image you already have rather than generating a new one
  • Shot noise sets the floor on per-pixel accuracy, so error falls as 1/sqrt(shots) and a sharper image costs linearly more

The classical baseline for this case is the target image itself, pixel by pixel. The structural limit, which does not move when a benchmark is re-run, is One qubit per pixel: a 108-qubit processor holds about a 10x10 image in a single job.

Run it yourself

Every figure above is from a job billed on the production service. Load the same circuits into the console, change the instance to your own data, and export a certificate for your own run rather than citing ours.

The argument behind these numbers, at length: Quantum machine learning on simulators and real quantum hardware.