Songs2VID is an automation tool that converts your audio and image files into high-quality videos and uploads them directly to YouTube.
Go to file
Atakan Doğan Özban 6476bb42a4 Strip Songs2VID to a payment-free self-hosted OSS core.
Remove Stripe/billing/pricing/marketing, simplify schema and entitlements for unlimited self-host use, and keep auth, encode, and YouTube upload.
2026-08-03 06:52:00 +02:00
app Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
assets Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
components Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
hooks Initial OSS scaffold from Songs2VID (pre-strip) 2026-08-03 06:15:05 +02:00
lib Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
prisma Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
public Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
scripts Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
types Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
worker Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
.dockerignore Initial OSS scaffold from Songs2VID (pre-strip) 2026-08-03 06:15:05 +02:00
.env.example Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
.eslintrc.json Initial OSS scaffold from Songs2VID (pre-strip) 2026-08-03 06:15:05 +02:00
.gitignore Initial OSS scaffold from Songs2VID (pre-strip) 2026-08-03 06:15:05 +02:00
docker-compose.dev.yml Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
docker-compose.yml Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
Dockerfile Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
next-env.d.ts Initial OSS scaffold from Songs2VID (pre-strip) 2026-08-03 06:15:05 +02:00
next.config.ts Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
package-lock.json Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
package.json Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
postcss.config.mjs Initial OSS scaffold from Songs2VID (pre-strip) 2026-08-03 06:15:05 +02:00
README.md Strip Songs2VID to a payment-free self-hosted OSS core. 2026-08-03 06:52:00 +02:00
tailwind.config.ts Initial OSS scaffold from Songs2VID (pre-strip) 2026-08-03 06:15:05 +02:00
tsconfig.json Initial OSS scaffold from Songs2VID (pre-strip) 2026-08-03 06:15:05 +02:00

Songs2VID OSS

Payment-free, self-hosted software for creating videos from cover art and audio, then uploading them to YouTube. All features are available in every deployment; there are no plans, credits, purchases, subscriptions, or Stripe integration.

Quick start with Docker

  1. Copy .env.example to .env and set NEXTAUTH_SECRET, GOOGLE_CLIENT_ID, and GOOGLE_CLIENT_SECRET.
  2. In Google Cloud Console, enable YouTube Data API v3 and add http://localhost:3000/api/auth/callback/google as an OAuth redirect URI.
  3. Start the stack:
docker compose up -d --build

Open http://localhost:3000.

Local development

docker compose -f docker-compose.dev.yml up -d
npm install
npm run db:migrate
npm run dev:all

The web app runs on http://localhost:3000. dev:all starts both the Next.js app and BullMQ worker.

Stack

  • Next.js 15, TypeScript, Tailwind
  • PostgreSQL and Prisma
  • Redis and BullMQ
  • NextAuth with Google OAuth
  • FFmpeg
  • YouTube Data API v3

Documentation, including the REST API reference, is at docs.songs2vid.com.