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:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: ozan-radio
|
||||
description: Operate Live Ozan Radio — DeepSeek DJ plans tracks, Google Lyria 3 generates them, Spotify supplies taste. Use when the user wants to start the radio, generate a track, skip, or tune the station.
|
||||
description: Operate Live Ozan Radio — DeepSeek DJ, Lyria 3, taste from settings.json and taste_seeds.json. Use for start/generate/skip, or updating taste from Spotify screenshots (no API).
|
||||
---
|
||||
|
||||
# Live Ozan Radio
|
||||
@@ -8,12 +8,17 @@ description: Operate Live Ozan Radio — DeepSeek DJ plans tracks, Google Lyria
|
||||
## When to use
|
||||
|
||||
- User says "ozan radio", "live radio", "generate a track", "what's playing"
|
||||
- User sends **Spotify screenshots** — update `settings.json` + `taste_seeds.json` (see `docs/TASTE-FROM-SCREENSHOTS.md`)
|
||||
- Operating or debugging `tinqs/live-radio`
|
||||
|
||||
## Taste from screenshots
|
||||
|
||||
**No Spotify API.** Read `docs/TASTE-FROM-SCREENSHOTS.md` for the copy-paste Cursor prompt. Infer genres/mood/instruments from Home, Library, Daily Mixes; write both JSON files; never suggest playing Spotify URLs.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- `GEMINI_API_KEY` and `DEEPSEEK_API_KEY` in `.env`
|
||||
- Server running: `python -m ozan_radio serve` (port 8787)
|
||||
- Server: `python -m ozan_radio serve` (port 8787)
|
||||
|
||||
## Operations
|
||||
|
||||
@@ -22,18 +27,14 @@ description: Operate Live Ozan Radio — DeepSeek DJ plans tracks, Google Lyria
|
||||
| Start station | `python -m ozan_radio serve` |
|
||||
| Generate track | `POST http://127.0.0.1:8787/api/generate` |
|
||||
| Now playing | `GET http://127.0.0.1:8787/api/now` |
|
||||
| Skip | `POST http://127.0.0.1:8787/api/skip` |
|
||||
| Skip / shuffle | `POST http://127.0.0.1:8787/api/skip` |
|
||||
| One-shot CLI | `python -m ozan_radio generate` |
|
||||
|
||||
## DJ behavior
|
||||
|
||||
DeepSeek reads Spotify taste (if configured), avoids recent titles, outputs a Lyria prompt. Do not suggest playing Spotify URLs — generation only.
|
||||
DeepSeek reads `settings.json` + `taste_seeds.json`, avoids recent titles, outputs Lyria prompts. Generation only — no catalog playback.
|
||||
|
||||
## Models
|
||||
|
||||
- Lyria: `lyria-3-pro-preview` (songs) or `lyria-3-clip-preview` (30s)
|
||||
- DeepSeek: `deepseek-chat` via Tinqs inference proxy by default
|
||||
|
||||
## Mac live layer
|
||||
|
||||
Magenta RealTime 2 (`pip install "magenta-rt[mlx]"`) for real-time beds — see README.
|
||||
- DeepSeek: `deepseek-chat` via Tinqs inference or `https://api.deepseek.com/v1`
|
||||
|
||||
Reference in New Issue
Block a user