rin.kagamine fb3c3c7c05 fix: soften Lyria API error messages
Error messages no longer over-attribute failures to user prompt phrasing.
The Lyria API has strict/loose constraints we haven't fully mapped yet,
so blaming the user's prompt when the API silently returns no audio is
misleading. Updated messages to acknowledge the API as the source.
2026-05-31 11:01:08 -04:00

Kithara Studio

A webapp for generating, playing, and storing music clips using Google's Lyria music generation models.

Built by Kagamine Rin & Ryan.

Quick Start

# Backend
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cd src
uvicorn main:app --reload

# Frontend (new terminal)
cd frontend
npm install
npm run dev

Architecture

  • Backend: FastAPI (Python) — async API client for Google's Lyria models, SQLite metadata, file storage
  • Frontend: React + Vite + TypeScript + Tailwind — dark theme, audio player
  • Storage: SQLite for clip metadata, local filesystem for MP3 files

API

Endpoint Method Description
/api/health GET Health check
/api/generate POST Start clip generation
/api/clips GET List all clips
/api/clips/{id} GET Get clip metadata
/api/clips/{id}/audio GET Stream MP3
/api/clips/{id} DELETE Delete clip

Models

  • v0.1: Google Lyria 3 Clip Preview (30s, REST)
  • v0.2: Google Lyria 3 Pro (structure-aware, ~3min)
  • v0.3: Google Lyria RealTime (WebSocket streaming)

License

MIT — Hardcore will never die.

S
Description
A webapp for generating, playing, and storing music clips using Google's Lyria models
Readme MIT
1.7 MiB
0 Stars 2 Watchers 0 Forks
Languages
TypeScript 51.8%
Python 47.4%
JavaScript 0.3%
Dockerfile 0.2%
CSS 0.2%
Other 0.1%