Download Latest Version pixelator_v5.tar.gz (1.2 MB)
Email in envelope

Get an email when there's a new version of Pixelator

Home
Name Modified Size InfoDownloads / Week
README.md 2026-05-29 2.7 kB
pixelator_v5.tar.gz 2026-05-29 1.2 MB
pixelator_v4.tar.gz 2026-02-23 990.5 kB
pixelator_v3.tar.gz 2026-02-12 989.2 kB
pixelator_v2.tar.gz 2026-02-01 968.6 kB
pixelator_v1.tar.gz 2025-10-27 1.4 MB
pixelator_v0.tar.gz 2025-10-10 1.9 MB
Totals: 7 Items   7.4 MB 0

🧩 Pixelator

Reassemble your images as animated puzzles β€” export to MP4.

Pixelator is a program that randomly reassembles scattered image fragments back into place.
It can run in interactive mode (with a graphical interface) or in headless mode via a REST API.

Β© 2025 Michel Zivy β€” License GNU GPL v3


Local Installation (Graphical Mode)

Prerequisites

sudo apt install libx11-dev libpng-dev imagemagick ffmpeg

Compilation & Installation

make
sudo make install

Use make DBG=yes for a debug build.


Usage

puzzle -i <image> [-n <pieces>] [-b black|white|light|choose|"#123456"|"rgb(R,G,B)"] [-s <speed>] [-v] [-o]
Option Description Default
-i Path to the image β€”
-n Number of pieces per side (1–50) 20
-b Background color: black, white, light, choose , "#123456", "rgb(R,G,B)" black
-s Speed factor (0.1 to 10) 1
-v Acceleration towards the end disabled
-o Export the video as .mp4 disabled

Example

puzzle -i images/la_joconde25.png -n 12 -o -b white

Without Installation

./puzzle -i <image> [options]

Headless Mode (Web Server)

Compiles the binary without X11, used by the Node.js API:

Prerequisites

sudo apt install libpng-dev ffmpeg

Compilation

make puzzle-headless

Produces the puzzle-headless binary, used by api/server.js.


Web Interface + Docker Compose

The application includes a vanilla web interface (HTML/CSS/JS) and a REST API.

Start the Full Stack

docker compose up --build

Then open http://localhost:8080 in your browser.

Architecture

Browser β†’ http://localhost:8080
       β”‚
       β–Ό
 [Nginx  :80]  (web service)
 β”œβ”€β”€ /         β†’ static files (frontend)
 └── /api/…    β†’ proxy β†’ [Node.js :8080] β†’ puzzle-headless

API Endpoints

Method Route Description
GET /health API health check
POST /pixelate Send an image, receive an MP4

POST /pixelate β€” parameters (multipart/form-data)

Field Type Description
image file Image file β€” required
n integer Pieces per side (2–50)
b string Background: black, white, light, choose
s float Speed (0.1–10)
v bool Acceleration towards the end (true/false)
Source: README.md, updated 2026-05-29