Files
songs2vid/website/docs/intro.md
T
Atakan Doğan Özban 9404efd86c Align preview typography with FFmpeg output, add video/song title split, and ship OSS updates.
Separate YouTube video titles from on-video song/artist fields with Pro gating, serve curated fonts and watermark assets for 1:1 preview parity, and include billing/API/docs/deploy stack for self-hosted release.
2026-07-27 16:26:19 +02:00

1.6 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.

This documentation is for self-hosted / open-source deployments (S2VID_EDITION=selfhosted).

What you can do

  • Combine one image with multiple tracks in a batch
  • Set per-video metadata (title, artist, description, tags, privacy, resolution)
  • Art-track layouts with blur backgrounds and fine-tuning (padding, title/artist gap, text offsets)
  • Custom watermarks: text or logo, positions/offsets, curated or uploaded fonts
  • 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. Set S2VID_EDITION=selfhosted for unlimited video allowance, API access, and all layout features (the optional root Compose example sets this for you).

For local development, npm run dev:all starts the app (port 3000), worker, and this docs site (port 3001).

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 access. 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