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 -- --openTo create a production version of your app:
npm run buildYou 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.jsThis 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-slamThen start the created Docker image as a container.
docker run -d -p 3000:3000 prompt-slam