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 or Docker Compose file in this repository, you can also run or deploy the app as a Docker container.
Make sure to add an OpenAPI Key to the .env
file and adjust the ORIGIN variable before running the container.
To start the container with docker compose just run:
docker compose up -d
This will automatically build the image and start the container.
To stop the container you can run:
docker compose down
If you have made changes to the .env file you may want to rebuild the container:
docker compose up -d --build
First you need to build the image with the following command:
docker build . -t prompt-slam
Then start the created Docker image as a container.
docker run -d -p 3000:3000 prompt-slam