Battle each other in an amazing prompt slam using the power of DALL-E.
A Prompt Slam (also known as a prompt battle) is an event format invented by Florian A. Schmidt and Sebastian Schmieg with design students from the HTW Dresden.
During a Prompt Slam people compete against each other using text-to-image AI models. The audience then chooses one of the contestants as a winner. For an independent Prompt Slam event series, hosted at HfK Bremen, this interface was developed.
You can read more about the original Prompt Slam here.
- Fonts in use:
- Redaction by Jeremy Mickel
- Helvetica by Max Miedinger and Eduard Hoffmann
- Technology:
- Built with SvelteKit
- Made beautiful with Tailwind CSS
- Complemented with carefully crafted icons from Tabler Icons
- Uses the Open AI API to talk to DALLΒ·E 2
In this gamemode two contestants play against each other simultaneously. In the beginning they will both get an instruction on what they need to generate. They then have one minutes to simultaneously create a prompt. after that one minute is over, they both click 'Generate' to generate an image.
The crowd then decides which of the contestant has generated the better image and that constestant goes to the next round.
Other gamemodes are currently developed and will be added to this repo in the future.
To use this interface you only need API access to the OpenAI API.
Replace YOUR_OPENAI_API_KEY
in the .env.example
file with your OpenAI API key. Then rename the .env.example
to .env
.
You can then either host the interface locally or deploy it to the hosting provider of your choice.
Once you've created a project and installed dependencies with npm install
(or pnpm install
or yarn
), start a development server:
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
To create a production version of your app:
npm run build
You can preview the production build with npm run preview
.
To deploy your app, you may need to install an adapter for your target environment.
To start the production build use:
node build/index.js
This starts the interface as a node.js app.
Using the Dockerfile in this repository, you can also deploy the app as a Docker container.
First, build the Docker image. Make sure to have add an OpenAPI Key to the .env
file and adjust the ORIGIN variable before building the the image.
docker build . -t prompt-slam
Then start the created Docker image as a container.
docker run -d -p 3000:3000 prompt-slam