Skip to content

TrueMyst/BeatPrints

Repository files navigation

BeatPrints: Quick, stylish posters for your favorite tracks and albums! 🎷☕️

Create eye-catching, pinterest-style music posters effortlessly.
BeatPrints integrates with Deezer and LRClib API to help you design custom posters for your favorite tracks or albums. 🍀

Maintenance GitHub Repo stars Downloads Code Formatter Static Badge


examples

📔 Check out the documentation here!

📦 Installation

You can install BeatPrints via:

# For pip users
pip install BeatPrints

# For poetry users
poetry add BeatPrints

Or if you prefer using just the CLI:

pipx install BeatPrints

This will install the CLI, making it ready for you to use. For more information, check out pipx

🚀 Quick Start

Here's how you can create your first track / album poster.

🎵 Track

from BeatPrints import deez, lyrics, poster

# Initialize components
dz = deez.Deezer()
ps = poster.Poster("./")  # Save the poster in the current directory

# Search for the track and fetch metadata
search = dz.search(query="Apples - Rocco", stype="track", limit=1)

# Grab the Track ID from the first result
id = search[0]["id"]

# Fetch full track metadata
metadata = dz.get_track(id)

# Get lyrics and check if the track is instrumental
lrc = lyrics.Lyrics(metadata).get_lyrics()

# Use a placeholder for instrumentals; otherwise pick specific lines
lyrics = (
    "It's an instrumental track :>"
    if lrc.check_instrumental(metadata)
    else lrc.select_lines("11-14")
)

# Generate and save the poster
ps.track(metadata=metadata, lyrics=lyrics, accent=False, theme="Light")

💿 Album

from BeatPrints import poster, deez

# Initialize components
dz = deez.Deezer()
ps = poster.Poster("./")  # Save the poster in the current directory

# Search for the album and fetch metadata
search = dz.search(query="Charm - Clairo", stype="album", limit=1)

# Grab the Album ID from the first result
id = search[0]["id"]

# Fetch full album metadata
metadata = dz.get_album(id)

# Generate and save the poster
ps.album(metadata=metadata, indexing=False, accent=True, theme="Light")

Here's what the posters look like:

Track: Apples by Rocco Album: Charm by Clairo
Track Example Album Example

🥞 CLI

Here's a short video showing how to generate posters using the CLI. For more information refer to the documentation here

BeatPrints-cli.mp4

🎨 Themes

BeatPrints currently offers you 6 additional themes to use!

Dark Catppuccin Gruvbox Nord Rosepine Everforest

For more examples, check out the examples directory.

✨ Features

Feature Description
📷 Polaroid filter for covers Give your track or album covers a vintage Polaroid aesthetic.
🌐 Multi-language support Supports with Latin, Hindi, Bengali, Russian, Japanese, Chinese, and Korean.
🖼️ Custom cover art Use your own images instead of the default track or album artwork.
🎨 Theme customization Switch between multiple built-in themes to match your style.

🤝 Contributors

Thank you to all contributors for making BeatPrints better!

💡 Why BeatPrints?

I created this project after finding out that people sell these posters on Etsy at high prices, offering only digital downloads instead of shipping actual posters.

I wanted to make it free for everyone to print themselves, as I believe my posters are simpler, cleaner, and prettier.

❤️ Special Thanks

📜 License

BeatPrints is distributed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License:

Term Details
Use Free to share and adapt.
Attribution Provide credit and a link to the license.
NonCommercial Not for commercial use.
ShareAlike Adaptations must follow the same license.

Read the full license here.

Made with 💜
elysianmyst, 2026

About

☕ BeatPrints, create eye-catching, Pinterest-style music posters effortlessly.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages