Skip to content

Code for an e-paper+raspi based picture frame that generates StableDiffusion images from prompts given via a local dashboard

License

Notifications You must be signed in to change notification settings

apockill/portrayt

Repository files navigation

portrayt

This project combines e-paper, raspberry pi's, and StableDiffusion to make a picture frame that portrays anything you ask of it.


PyPI version Test Status Lint Status codecov Code style: black Imports: isort


E-Ink Screen + Raspi on an easel Dashboard View
portrayt-easel.jpg screenshot.png

Development

Installing python dependencies

poetry install

Running Tests

pytest .

Formatting Code

bash .github/format.sh

Linting

bash .github/check_lint.sh

Running the Program

Install docker

curl -sSL https://get.docker.com | sh
sudo groupadd docker
sudo usermod -aG docker $USER

Create a .env file in your current directory and fill in the API key:

REPLICATE_API_TOKEN=<your token here>
RENDERER=inky

Build and run the image

docker compose up --build -d

When using a Raspberry pi, make sure to enable the spi interface by going to raspi-config, interface options, and selecting enable.

Running on desktop

For local development, OpenCV is used to render images to a window. The .env file needs to be updated to allow opencv to be installed (and used for rendering).

In the .env file, fill out the following:

REPLICATE_API_TOKEN=<your token here>
RENDERER=opencv
POETRY_EXTRAS=--extras opencv

Then, in terminal give docker access to the X window manager:

xhost +

Then build and run using the above commands.

About

Code for an e-paper+raspi based picture frame that generates StableDiffusion images from prompts given via a local dashboard

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages