Skip to content
Breed and share images using biggan
JavaScript HTML Python CSS
Branch: master
Clone or download
joel-simon Merge pull request #4 from ilesinge/fix_slice
Fix random_slice with small arrays
Latest commit 4ee63d1 Dec 17, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
gan_server Tweaked variations to be less dramatic and improved JPEG quality Dec 10, 2018
server Merge pull request #4 from ilesinge/fix_slice Dec 17, 2018
.gitignore Add option to save images locally Dec 16, 2018
LICENSE Create LICENSE Dec 13, 2018 Add install doc Dec 9, 2018


Ganbreeder is a collaborative art tool for discovering images. Images are 'bred' by having children, mixing with other images and being shared via their URL. This is an experiment in using breeding + sharing as methods of exploring high complexity spaces. GAN's are simply the engine enabling this. Ganbreeder is very similar to, and named after, Picbreeder. It is also inspired by an earlier project of mine Facebook Graffiti which demonstrated the creative capacity of crowds.Ganbreeder uses these models.

This code was made in a weekend and hasn't been cleaned up or documented yet. There are also improvements to make to scalability.

Pull request are more than welcome :)

How to use


  • Install Python 3 + pip (for the GAN server)
  • Install NodeJS + npm (for the frontend)
  • Install a PostgreSQL server

Launch the GAN server

cd gan_server
# Install dependencies
pip install -r requirements.txt
# And go...

Your GAN server is available at http://localhost:5000/

Configure the frontend

For quick hacking, if you have Docker at your disposal, you can spawn a PostgreSQL database like so:

docker run -p 5432:5432 --name ganbreederpostgres -e POSTGRES_PASSWORD=ganbreederpostgres -d postgres

With that simple scenario, the database and user would be postgres and the password would be ganbreederpostgres

Copy the file server/example_secrets.js to secrets.js and modify it to fit your environment.

Launch the frontend

cd server
npm install
# Create the database structure
node_modules/knex/bin/cli.js migrate:latest
# Generate the first images
node make_randoms.js
# Generate a cache of image keys for the front page (do it every time you want to update the front page)
node updatecache.js
# And go...
node server.js

Your frontend is available at http://localhost:8888/

You can’t perform that action at this time.