# Songs2VID Payment-free, self-hosted software that turns cover art and audio into YouTube videos (FFmpeg + BullMQ). Full entitlements in every deployment — no plans, credits, Stripe, or paywall. **Image:** `atakanozban/songs2vid:latest` **Docs:** https://docs.songs2vid.com **Source:** https://git.atakanozban.com/Songs2VID/songs2vid **Hosted SaaS (separate):** https://songs2vid.com ## Quick start 1. Clone the repo (Compose + `.env.example`) from Gitea, or reuse the sample `docker-compose.yml`. 2. Copy `.env.example` → `.env` and set: - `NEXTAUTH_SECRET` - `GOOGLE_CLIENT_ID` - `GOOGLE_CLIENT_SECRET` 3. Enable **YouTube Data API v3** in Google Cloud and add OAuth redirect: - `http://localhost:3000/api/auth/callback/google` (or your public HTTPS origin) 4. Run: ```bash docker pull atakanozban/songs2vid:latest docker compose up -d --build ``` Open http://localhost:3000 → sign in with Google → dashboard. No Stripe or billing environment variables are required. ## What you get - Batch encode: cover art + audio → YouTube upload - Classic and art-track layouts, blur, typography, watermarks - Playlists, privacy, tags, resolutions - REST API (Dashboard → Settings → API key) - Always-on self-hosted entitlements ## Stack Next.js 15 · PostgreSQL/Prisma · Redis/BullMQ · NextAuth (Google + YouTube) · FFmpeg ## Links - Full documentation: https://docs.songs2vid.com - Getting started: https://docs.songs2vid.com/docs/getting-started - Environment variables: https://docs.songs2vid.com/docs/environment - REST API: https://docs.songs2vid.com/docs/api/overview