diff --git a/README.md b/README.md index d8ca2b3..a56f001 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,15 @@ -# Songs2VID +# 🎬 Songs2VID Payment-free, self-hosted software that turns cover art and audio into YouTube videos -(FFmpeg encoding + BullMQ jobs). Every deployment has full entitlements - there are no +(FFmpeg encoding + BullMQ jobs). Every deployment has full entitlements — there are no plans, credits, purchases, subscriptions, paywalls, or Stripe. Sign in with Google, open the dashboard, and create videos. Settings cover account, YouTube connection, and API keys only. - - ![Songs2VID Dashboard](https://www.atakanozban.com/Content/uploads/projects-media/f59f2b3c290042ceb8d12fe9395b0dda.png) -## Quick start (Docker) +## 🚀 Quick start (Docker) Published image: [`atakanozban/songs2vid:latest`](https://hub.docker.com/r/atakanozban/songs2vid) @@ -38,22 +36,22 @@ Open http://localhost:3000 → sign in → dashboard. No Stripe keys, billing env vars, or edition flags are required. Watermarks are optional; OSS does not force a free-tier SaaS badge paywall. -## Features +## ✨ Features -- Batch: one cover (or per-track covers) + many audio files → YouTube uploads -- Classic letterbox and art-track layouts (blur backgrounds, typography, fine-tuning) -- Custom watermarks (badge, text, or logo) and curated or uploaded fonts -- YouTube playlists, privacy, tags, resolution, categories -- REST API for automation (keys under **Dashboard → Settings → API key**) -- Always-on self-hosted entitlements (no quota paywall) +- 📦 Batch: one cover (or per-track covers) + many audio files → YouTube uploads +- 🖼️ Classic letterbox and art-track layouts (blur backgrounds, typography, fine-tuning) +- 💧 Custom watermarks (badge, text, or logo) and curated or uploaded fonts +- ▶️ YouTube playlists, privacy, tags, resolution, categories +- 🔌 REST API for automation (keys under **Dashboard → Settings → API key**) +- 🔓 Always-on self-hosted entitlements (no quota paywall) -## API documentation +## 📚 API documentation - In-repo: [docs/api/overview.md](./docs/api/overview.md) and [docs/api/endpoints.md](./docs/api/endpoints.md) - Live site: [docs.songs2vid.com/docs/api/overview](https://docs.songs2vid.com/docs/api/overview) - Machine-readable discovery: `GET /api/v1` (no auth; no billing routes) -## Local development +## 🛠️ Local development ```bash docker compose -f docker-compose.dev.yml up -d @@ -66,18 +64,18 @@ npm run dev:all - App: http://localhost:3000 - `dev:all` runs Next.js and the BullMQ worker -## Environment +## ⚙️ Environment See [`.env.example`](./.env.example) for the required and optional variables. Matching guide: [docs.songs2vid.com/docs/environment](https://docs.songs2vid.com/docs/environment). -## Legal (self-hosted) +## ⚖️ Legal (self-hosted) In-app **Privacy** and **Terms** pages describe self-hosted responsibility: the operator of each instance controls data and access; this software does not process payments. They are not the paid cloud terms for [songs2vid.com](https://songs2vid.com). -## Stack +## 🧱 Stack - Next.js 15, TypeScript, Tailwind - PostgreSQL and Prisma @@ -86,12 +84,13 @@ the paid cloud terms for [songs2vid.com](https://songs2vid.com). - FFmpeg - YouTube Data API v3 -## Links +## 🔗 Links - Docs: [docs.songs2vid.com](https://docs.songs2vid.com) - Docker Hub: [atakanozban/songs2vid](https://hub.docker.com/r/atakanozban/songs2vid) - Source: [git.atakanozban.com/Songs2VID](https://git.atakanozban.com/Songs2VID) - Hosted SaaS (separate product): [songs2vid.com](https://songs2vid.com) -## License +## 📄 License + [MIT](./LICENSE) \ No newline at end of file