4f29120768d01bdea23562a5d71b608533e87331
s2yt
Create YouTube videos from an image and audio files.
Stack
- Next.js 15 (App Router, TypeScript, Tailwind)
- PostgreSQL + Prisma
- Redis + BullMQ
- NextAuth (Google OAuth with YouTube scopes)
- FFmpeg for video encoding
- YouTube Data API v3
Setup
- Copy environment variables:
cp .env.example .env
- Start PostgreSQL and Redis:
docker compose up -d
- Install dependencies and run migrations:
npm install
npm run db:push
-
Configure Google OAuth in Google Cloud Console:
- Enable YouTube Data API v3
- Create OAuth 2.0 credentials
- Add redirect URI:
http://localhost:3000/api/auth/callback/google - Set
GOOGLE_CLIENT_IDandGOOGLE_CLIENT_SECRETin.env
-
Install FFmpeg on your system (required for the worker).
-
Start the web app and worker in separate terminals:
npm run dev
npm run worker
Free Plan
- 14 videos/month (each audio = 1 video)
- Max 720p resolution
- 30 MB max per file
- Watermark required
- Per-video metadata (title auto-filled from audio filename)
Scripts
npm run dev— Next.js dev servernpm run worker— Background job processornpm run db:push— Push Prisma schema to databasenpm run build— Production build
Description
Songs2VID is an automation tool that converts your audio and image files into high-quality videos and uploads them directly to YouTube.
https://www.songs2vid.com
615 MiB
Languages
TypeScript
96%
CSS
1.9%
JavaScript
1.5%
Dockerfile
0.6%