Replace Spotify API with screenshot taste workflow and example profile.

Remove spotify integration; add TASTE-FROM-SCREENSHOTS guide; ship Ozan settings.json and taste_seeds.json as Cursor examples plus new wandering dervish track.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-07 14:47:47 +01:00
parent 6843ecd6b0
commit 02ea026851
21 changed files with 294 additions and 210 deletions
+4 -8
View File
@@ -10,24 +10,20 @@ from ozan_radio.dj import DeepSeekDJ
from ozan_radio.lyria import LyriaEngine
from ozan_radio.queue import RadioQueue
from ozan_radio.server import app
from ozan_radio.spotify import SpotifyTaste
from ozan_radio.taste import load_taste_seeds
async def generate_one() -> None:
"""CLI: generate a single track and print the result."""
cfg = Config.from_env()
taste = await SpotifyTaste(cfg).fetch_taste()
seeds = None if taste else load_taste_seeds()
if taste:
print(f"Taste: {taste.summary}\n")
elif seeds:
seeds = load_taste_seeds()
if seeds:
print(f"Taste seeds: {seeds.summary}\n")
else:
print("No Spotify or seeds — DJ will freestyle.\n")
print("No taste_seeds.json — DJ uses settings.json only.\n")
q = RadioQueue(cfg.output_dir)
plan = await DeepSeekDJ(cfg).plan_next(taste, q.recent_titles, seeds)
plan = await DeepSeekDJ(cfg).plan_next(q.recent_titles, seeds)
print(f"DJ: {plan.dj_line}")
print(f"Title: {plan.title}")
print(f"Prompt: {plan.lyria_prompt}\n")