Manage audiobooks: download missing covers, organize metadata, embed cover art, and download from AudiobookBay. Use when working with audiobook libraries, cover images, or AudiobookBay searches.
All settings are loaded from the .env file in the workspace root.
# AudiobookBay credentials
AUDIOBOOKBAY_URL=https://audiobookbay.nl/
AUDIOBOOKBAY_USERNAME=your_username
AUDIOBOOKBAY_PASSWORD=your_password
# Library path
AUDIOBOOKS_PATH=/path/to/audiobooks
AUDIOBOOKS_PATH in .env$AUDIOBOOKS_PATH/Author Name/Audiobook Title/scripts/core/scripts/utils/scripts/cli/cover.jpg, folder.jpg, embedded art).cover.jpg in the book's folder..m4b, .mp3, etc.).# Scan library for missing covers
uv run python skills/audiobooks/scripts/cover_manager.py scan --report
# List missing covers
uv run python skills/audiobooks/scripts/cover_manager.py list --by-author
# Process a specific book (download & embed)
uv run python skills/audiobooks/scripts/cover_manager.py process -i <INDEX> -u "<IMAGE_URL>"
# Embed existing cover into files
uv run python skills/audiobooks/scripts/cover_manager.py embed -c cover.jpg -a "$AUDIOBOOKS_PATH/Author/Title"
core/scanner.py: Library scanning logic.core/embedder.py: Cover embedding (mutagen).core/downloader.py: Cover downloading.utils/image_handler.py: Image conversion.utils/audio_handler.py: Audio file detection.scripts/audiobookbay/from skills.audiobooks.scripts.audiobookbay.search import search, enrich_with_magnets
from skills.audiobooks.scripts.audiobookbay.client import AudiobookbayClient
# Simple search
results = search("Arifureta", max_pages=2)
# Get magnet links for all results
results = enrich_with_magnets(results)
# Print results
for result in results:
print(result.title, result.magnet_link)
$WORKSPACE_PATH/temp/audiobookbay_downloads/ initially.uv as the Python package manager.$WORKSPACE_PATH/temp/.