Self-host platform

Every feature.
Down to settings.

Playlist Craft Self-Host is a full music-generation workspace: create, render, store, publish, invite your team, lock down admin with 2FA, and customize defaults — all on infrastructure you control.

Creative pipeline: high-quality singles (YouTube Music / Spotify + personas), 5–20 track playlists, media-gen backgrounds, then custom renders with your assets or playground output — plus team management and 2FA.
Get license One-Click Deploy Read the docs

Platform features

01Dashboard

Docs →

The dashboard summarizes recent playlists, songs, renders, and shortcuts into creation flows. After license activation it is fully interactive.

02Up to 20-track playlists

Docs →

Create cohesive playlists of 5–20 tracks via chat, quick setup, or manual modes — not locked to a fixed count of 20. Songs get lyrics/styles through OpenRouter, then Suno generation for V1/V2 audio. Status progresses until completed.

  • Choose playlist length in the creation flow (between 5 and 20 songs).
  • List view shows generation progress.
  • Detail page lists tracks, playback (S3 preferred), and Render CTA.
  • Instrumental playlists skip vocal-dependent features like captions/personas.

03Single songs

Docs →

Generate high-quality singles aimed at YouTube Music, Spotify, and similar catalogs. Single-song generation mirrors the playlist pipeline without a full playlist container — create from Songs, then open the detail when versions complete.

  • Ideal for releasing individual tracks under a consistent virtual-artist identity.
  • Pair with Personas so subsequent singles keep the same vocal character.
  • Use generation engines in Playground to lock models, styles, and defaults for higher-quality responses.

04Custom renders

Docs →

From a completed playlist, open Render with full control over backgrounds: supply your own assets, pull from File Drive, or generate images/videos first in the media-generation playground. Choose background mode (image / video / mixed), track versions, optional captions (non-instrumental), then run on your render server.

  • User-provided assets reuse existing Fal/S3 URLs (no browser re-upload).
  • Generate backgrounds in Media Gen / Playground before attaching them to a render job.
  • Customize render styles and generation engines for consistent, higher-quality output.
  • Jobs appear under Renders; detail shows status, assets, and final video when ready.
  • render-server performs longform composition; dispatch runs on main-server workers.

05File Drive

Docs →

File Drive aggregates uploads, media-gen outputs, render assets, and song audio. Use it to pick backgrounds for renders or browse outputs. Open original uses the best available URL (S3 preferred).

06Media generation playground

Docs →

Full media-generation playground for background assets — images and videos — powered by Fal’s strongest models (BYOK FAL_KEY). Results land in File Drive so you can reuse them across custom renders.

  • Generate stills or motion backgrounds before you start a render job.
  • Pick models suited to your look; store outputs privately on your stack.
  • Fal ADMIN-scoped keys can surface credit balances in the sidebar (see Costs / Provider balances).

07Playground & engines

Docs →

Playground holds reusable creative assets for high-quality responses: generation engines, render styles, YouTube details styles, YouTube thumbnail styles, and personas. Configure engines once, then reuse them across singles, playlists, and renders.

  • Generation engines — lock models and prompting defaults for consistent quality.
  • Render / thumbnail / YouTube detail styles — brand the visual and metadata layer.
  • Personas — keep a stable vocal identity across singles for virtual artists.

08Personas (virtual artist voice)

Docs →

Create a persona from a completed non-instrumental song so singles share the same voice — perfect for a virtual artist releasing to YouTube Music or Spotify. Select a track, mark a vocal window in the audio player, then generate via Suno persona APIs. Personas power later generation engines.

09Suno playground

Docs →

Experimental Suno tools for ad-hoc generation outside the main playlist queue. Results still migrate to S3 when configured.

10YouTube upload

Docs →

Connect Google channels via youtube-server OAuth, then upload completed renders. Requires a public youtube-server domain plus YOUTUBE_CLIENT_ID and YOUTUBE_CLIENT_SECRET in Shared Variables (see YouTube OAuth). Link as many channels as you want — each deployment keeps channels in its own Postgres database.

11Team management

Docs →

Team management: invite teammates by email (Resend/ZeptoMail). Invites expire after one hour. Self-host is single-tenant — members share the workspace owner’s content scope while you stay on your private database.

  • Invite / revoke from the Team area in the dashboard.
  • Requires a working email provider in Shared Variables.
  • Pair with Settings → Two-factor security (2FA) for stronger admin account protection.

12Notifications

Docs →

In-app notifications for completed renders and other events. Open Notifications from the sidebar.

Settings & customizations

Tune the workspace to your brand.

Every settings surface available in the self-host dashboard — profile through provider balances.

Settings overview

Docs

Settings is split into sections: profile, password, security (2FA), default AI model, language, generation preferences, negative words, and account.

Profile & password

Docs

Update display name and profile fields. Password change uses Better Auth when AUTH_PROVIDER=better-auth.

Two-factor security (2FA)

Docs

Two-factor authentication (2FA) for the admin account. Enable TOTP, store recovery codes offline, and require the second factor on sign-in for stronger security on a self-hosted dashboard.

Default AI model

Docs

Pick the default OpenRouter model used for ideation/lyrics when a flow does not override it. Models come from your openrouter_models catalog / OpenRouter key.

Language

Docs

Preferred UI locale for the dashboard (i18n). Does not change Suno language by itself — generation prompts still follow your content settings.

Generation preferences

Docs

Defaults for playlist vs single-song creation modes and default Fal models for render background image/video generation.

Negative words

Docs

Workspace-level banned words/phrases injected into generation prompts so titles and styles stay on-brand.

Account

Docs

Account-level actions including delete-account flows where enabled. Self-host admin is created at /setup; public signup stays disabled.

Provider balances

Docs

Sidebar / settings can show OpenRouter, Suno (sunoapi.org), and Fal balances when keys are configured — helpful for BYOK cost awareness without SaaS credits. Suno balances refresh after generations. For Fal, create the key at https://fal.ai/dashboard/keys with ADMIN scope to read balances; API scope still works for generation but hides sidebar balance.

Ready to run it

Pay, get repo access, then deploy.

See pricing One-Click Deploy

Deploy requires GitHub collaborator access from your license purchase. Details in the deploy guide.