# Suno Song Factory

A working AI music pipeline where Claude writes lyrics and style guides, Suno generates tracks, DALL-E makes cover art, FFmpeg builds the video, and a script uploads to YouTube. 75+ custom songs for Dean, Ruby, and friends.

[Read the story ↓](/content/projects/suno-factory#what-it-is/index.html)

## What It Is

A turnkey music factory. Give it three keywords — "dean machine techno" — and it produces a finished song with lyrics, cover art, metadata, and a YouTube-ready video. 75+ songs and counting, mostly for my kids.

## The Pipeline

### 1. Songwriting (Claude)

A custom Claude skill (`suno-songwriter`) drives the creative process. It doesn’t just generate lyrics — it researches reference tracks for BPM, key, section structure, and _hook mechanics_ specifically (spelling bridges, call-and-response, mantra loops, stop-time breaks). Then it outputs three blocks:

- **Style description** (~700–850 chars) — genre, tempo, instrumentation, production notes
- **Lyrics** — structured with `[Verse]`/`[Chorus]`/`[Bridge]` tags for Suno
- **Three title options**

The approach is mechanics-first: build around the hook structure, not the vibe.

### 2. Music Generation (Suno API)

The style guide and lyrics hit the Suno API (via `gcui-art/suno-api`). The factory polls for completion and downloads the 320kbps MP3.

### 3. Cover Art (DALL-E 3 / Flux)

A parallel API call generates 9:16 portrait cover art (1080x1920) based on a visual prompt derived from the song’s theme.

### 4. Post-Processing (FFmpeg + eyed3)

- Audio normalized to -14 LUFS
- Metadata embedded: title, artist, album, cover art, scrolling lyrics (USLT)
- FFmpeg combines MP3 + cover art into an MP4 video for YouTube

### 5. Upload (YouTube Data API)

A Python script uploads to YouTube with proper metadata, organized into playlists by theme. Max 6 uploads/day (API quota). A manifest prevents duplicate uploads.

## The Catalog

**Family songs**: Classroom anthems for Dean’s school, getting-dressed French house bangers, bedtime reggae for Ruby, birthday tracks for friends’ kids in styles from Jackson 5 to Uptown Funk.

**Reference studies**: Recreating the mechanics of Ofra Haza’s electro-traditional sound, Adriano Celentano’s gibberish funk, Daft Punk filter sweeps adapted into “Waffle Time.”

**Distribution**: MP3s go to Yoto audio cards for the kids. Videos go to YouTube playlists. The mastered collection lives in a versioned local archive.

## Why It Matters

Dean and Ruby will have a soundtrack for every phase of their childhood, made by their dad, before they’re old enough to be embarrassed by it.

## Tools that helped

Suno  Python  Claude

Up next

\ 
\ 
Fjord Sauna Booking Bot\ 
\ 
Built a script to poll the Momence API for sauna availability and fire a Discord webhook the moment a slot opened. Booked immediately. Showed up 3 hours late because the platform had no timezone info. Claude wrote the refund request.\ 
\ 
→](/content/projects/fjord-sauna-bot/index.html)
