The Machine’s Vision is a real-time generative AI installation that asks whether we still come up with our own ideas, or just go along with what AI thinks. It pulls from Wikipedia’s live edits, the world being rewritten second by second, filters for topics like war, climate, and the economy, and hands it all to an AI. The AI turns this into images, then into a voice that tells you what you’re looking at. So you’re not seeing the world, you’re seeing the machine’s vision of it.
how it works
The installation listens to Wikipedia’s live feed of edits (Wikimedia EventStreams): every change to an English Wikipedia article as it happens, bot edits left out. For each edit it fetches the difference and pulls out the words and sentences that were added or removed. Only edits that touch one of some 330 keywords on global issues (climate, war, the economy, human rights, health, disasters, AI, migration) go through.
Those words become an image prompt: a matching topic builds the scene from a subject, an atmosphere and a camera angle, and when no topic fits, a local language model (Qwen2.5, through Ollama) writes one. StreamDiffusion with SD-Turbo paints the image in real time, around 20 frames a second, and each new prompt blends into the current image over a few seconds, so the picture never cuts: it slowly turns into the next one.
A vision model (Moondream) looks at the image every few seconds and describes what it sees, and the language model turns that into the next sentence of a story that keeps growing, written from the image, not from Wikipedia. A neural voice reads each sentence aloud, its pitch and pace following the sentence’s mood, over an ambient score synthesised live, whose mode and textures shift with the mood of the edits, from hopeful to alarming.
The added and removed words, the image and the story each have their own screen, with side panels for the prompt log and the AI’s analysis. The image and language models run on a single local GPU.
code
Written in Python: the edit stream, the prompts, the image pipeline (PyTorch, diffusers, StreamDiffusion), the language and vision models (Ollama), the voice (edge-tts), the music (NumPy, pygame) and the screens (Tkinter). A browser version of the screens is written in HTML, CSS and JavaScript, fed by a FastAPI server over WebSockets and an MJPEG video stream.
tested on
- MSI Vector 16 HX AI laptop
- Intel Core Ultra 7 255HX processor, up to 5.2 GHz
- NVIDIA GeForce RTX 5070 Ti Laptop GPU, 12 GB GDDR7, 115 W (+25 W Dynamic Boost)
- 16 GB DDR5-5600 RAM
- 1 TB NVMe SSD (PCIe 4.0)