Files
songs2vid/website/docs/intro.md
T

2.1 KiB

sidebar_position, slug
sidebar_position slug
1 /intro

Introduction

Songs2VID turns a cover image and one or more audio files into YouTube-ready videos, then uploads them to your channel (FFmpeg encoding + BullMQ jobs).

This documentation is for the self-hosted / open-source edition. That build is payment-free: no Stripe, no plans, no credits, and no paywall. Every deployment has full layout, API, and playlist entitlements.

Hosted cloud at songs2vid.com is a separate SaaS product and is not what these self-host guides describe.

What you can do

  • Combine one image with multiple tracks in a batch
  • Set per-video metadata (YouTube video title, on-video song title / artist, description, tags, privacy, resolution)
  • Art-track layouts with blur backgrounds and fine-tuning (padding, title/artist gap, text offsets)
  • Typography: curated or uploaded .ttf / .otf fonts shared by Layout Studio preview and FFmpeg
  • Custom watermarks: Songs2VID badge, text, or logo — positions/offsets match the live preview
  • Unique cover image per track
  • Add uploads to YouTube playlists
  • Use the REST API for automation

See Video editing for composition controls in the dashboard and API.

Self-host

Follow Getting started. The recommended path is Docker with image atakanozban/songs2vid:latest or a local Compose build from the Gitea OSS repo.

After sign-in you land on the dashboard. Settings are limited to account, YouTube, and API key — there is no billing or pricing UI.

Going to a public URL? See Production notes (OAuth redirect, worker, HTTPS). Docker/Caddy samples in the repo are optional.

REST API

Programmatic uploads and job creation. Generate an API key under Dashboard → Settings → API key. Start with API overview.

Stack

  • Next.js 15 (App Router, TypeScript, Tailwind)
  • PostgreSQL + Prisma
  • Redis + BullMQ
  • NextAuth (Google OAuth with YouTube scopes)
  • FFmpeg for encoding
  • YouTube Data API v3