suno-artist-to-style

🎡 Suno Artist Style Replacer

Auto-replace artist names with detailed style descriptions in Suno AI, with full admin panel and AI generator.

✨ Features

πŸ“ Project Structure

suno-extension/
β”œβ”€β”€ server/              # Backend API
β”‚   └── index.js        # Express server
β”œβ”€β”€ public/             # Admin panel
β”‚   └── admin.html      # Management interface
β”œβ”€β”€ extension/          # Chrome Extension
β”‚   β”œβ”€β”€ manifest.json
β”‚   β”œβ”€β”€ content.js
β”‚   β”œβ”€β”€ popup.html
β”‚   β”œβ”€β”€ popup.js
β”‚   β”œβ”€β”€ options.html
β”‚   └── options.js
β”œβ”€β”€ userscript/         # Userscript version
β”‚   └── suno-artist-replacer.user.js
β”œβ”€β”€ artist_styles.json  # Artist database
β”œβ”€β”€ package.json
└── railway.json        # Railway config

πŸš€ Quick Start

1. Install Dependencies

npm install

2. Configure

Edit .env:

PORT=3000
ADMIN_PASSWORD=your_password_here

3. Run

npm start
# Access at http://localhost:3000

🌐 Deploy to Railway

  1. Create Railway Account: Railway.app
  2. Connect GitHub: Deploy from https://github.com/Ido108/suno-artist-to-style
  3. Add Variables:
    PORT=3000
    ADMIN_PASSWORD=your_secure_password
    
  4. Deploy: Railway auto-deploys to suno.up.railway.app

πŸ”Œ Install Extension

Chrome Extension

  1. Go to chrome://extensions/
  2. Enable β€œDeveloper mode”
  3. Drag and drop suno-extension.zip OR Click β€œLoad unpacked” β†’ Select extension/ folder

Configure Extension

  1. Click extension icon
  2. Click β€œβš™οΈ Settings”
  3. API URL: https://suno.up.railway.app
  4. Select AI Model (e.g., Gemini 2.0 Flash)
  5. Enter API Key
  6. Save

🎯 Usage

Admin Panel

  1. Go to: https://suno.up.railway.app
  2. Enter password
  3. Add Artist:
    • Select AI model
    • Enter API key (saved in browser)
    • Enter artist name: β€œRadiohead”
    • Click β€œπŸ€– AI Generator”
    • AI generates detailed style
    • Save!

In Suno

  1. Go to Suno
  2. Click β€œCreate” β†’ β€œStyles”
  3. Type artist name: β€œBilly Joel”
  4. Click β€œπŸŽ¨ Replace with Style” button
  5. Name replaced with detailed style!

πŸ€– AI Models

Why Gemini?

Anthropic Claude

OpenAI

πŸ“ API Endpoints

GET /api/artists

Get all artists.

Response:

{
  "enabled": true,
  "artists": {
    "Billy Joel": "Pop, Rock, Storytelling, male vocals",
    "Adele": "Soul, Emotional, Torch-Lounge, female vocals"
  }
}

POST /api/generate-style

Generate artist style with AI.

Body:

{
  "artistName": "Artist Name",
  "password": "admin_password",
  "llmProvider": "gemini-2.0-flash",
  "apiKey": "your_api_key"
}

POST /api/artists

Add/update artist.

Body:

{
  "name": "Artist Name",
  "style": "Genre, Style, Description",
  "password": "admin_password"
}

DELETE /api/artists/:name

Delete artist (requires password).

πŸ”’ Security

API Key Storage

3 Methods:

  1. Browser localStorage (Extension):
    • βœ… Convenient
    • βœ… Secure - only on your device
    • πŸ’‘ Recommended for personal use
  2. File system (api_keys/):
    • Files: api_keys/google_api_key.txt
    • βœ… Good for development
    • ⚠️ Don’t commit to Git!
  3. Environment variables:
    • Railway Variables or .env
    • βœ… Most secure
    • πŸ’‘ Recommended for production

πŸ’° Costs (per artist)

Provider Model Cost Notes
Google Gemini 2.0 Flash FREE! 15/min free tier
Google Gemini 1.5 Pro ~$0.001 More advanced
Anthropic Claude 3.5 Haiku ~$0.001 Fast & cheap
Anthropic Claude 4.5 Sonnet ~$0.003 Newest
OpenAI GPT-4o ~$0.002 Fast
OpenAI GPT-4.1-mini ~$0.0005 Balanced

Recommendation: Start with Gemini 2.0 Flash - free and good! 🌟

πŸ› οΈ Development

# Install
npm install

# Run dev server
npm run dev

# Test API
npm test

# Backup database
npm run backup

πŸ“¦ Files

πŸ› Troubleshooting

Button doesn’t appear in Suno

  1. Refresh Suno (F5)
  2. Open Console (F12) - Look for: β€œ[Suno Extension] Replace button created”
  3. If missing - reload extension: chrome://extensions/

β€œNo API key available”

Solutions:

  1. Enter API key in admin panel
  2. Check β€œSave in browser”
  3. Or add to Railway variables: GEMINI_API_KEY=your_key

AI doesn’t generate well

πŸ“œ License

MIT License

🀝 Contributing

Issues and PRs welcome!


Made for Suno musicians and creators ❀️