Suno-Prompt-Generator / CHANGELOG.md
Bobby Collins
v1.4.0: ElectronHub support, Free Mode, SDXL cover art generation
26c6924

A newer version of the Gradio SDK is available: 6.13.0

Upgrade

Changelog

[1.4.0] - 2026-02-25

Added

  • ElectronHub API support β€” The app now works with both OpenRouter and ElectronHub API keys. Provider is auto-detected from the key prefix (sk-or- routes to OpenRouter, ek- routes to ElectronHub). No manual selection needed.
  • Free Mode β€” New "Free Mode" checkbox lets users generate prompts without any API key. Uses a hardcoded ElectronHub key with free models (glm-4.5-air, qwen3-coder, llama-4-maverick, claude-3-haiku, kimi-k2.5, gemini-2.5-flash). Randomly selects a model and cascades through the rest on failure. Grays out the API key and model dropdown when active.
  • SDXL cover art image generation β€” The cover art section is now split into two columns: the left column generates an actual image using SDXL via ElectronHub's image generation endpoint, and the right column shows the text prompt (with copy button). Image generation is free for everyone using the hardcoded ElectronHub key. If image generation fails, text outputs still appear normally.
  • requests dependency added to requirements.txt for image generation API calls.

Changed

  • API Key field β€” Label updated to "API Key (OpenRouter or ElectronHub)" with placeholder showing both key formats.
  • Intro text β€” Now mentions both providers and Free Mode availability.

[1.3.2] - 2026-02-24

Added

  • Lyrics field 5000 character hard limit β€” Added to HARD CONSTRAINTS in knowledge base. The limit includes all structure tags, instruction brackets, and lyrics text (everything in the lyrics window counts toward the cap). Prevents generated lyrics from exceeding Suno's input limit.

[1.3.1] - 2026-02-20

Fixed

  • Performance cues changed from parentheses to brackets β€” (whispered), (belted), etc. are now [whispered], [belted], etc. Suno was occasionally singing parenthesized cues as literal lyrics instead of treating them as directives.
  • Parentheses now reserved for backing vocals only β€” ( ) wrapped text like (ooh, ooh) is treated by Suno as a background vocal layer. They should never be used for instructions or performance cues.
  • Added explicit bracket rule β€” All instructions, cues, and directives in the lyrics field must be in [ ] brackets. Anything not bracketed is treated as singable lyrics by Suno. Rule added to both the Structure Tags section and the Output Architecture section.

[1.3.0] - 2026-02-18

Added

  • Tag Scope & Sensitivity section β€” documents which tags are HIGH/MEDIUM/LOW sensitivity and global vs. section vs. line scope
  • Tag Conflict Resolution section β€” how Suno resolves conflicting tags (e.g., chords override key, section BPM overrides global)
  • Tag Pitfalls section β€” 13 common mistakes that reduce output quality
  • Section-Level Overrides section β€” per-section BPM and Key changes with examples
  • Speculative Tags section β€” partially supported tags (KeyChange, FX, Repeat, ReferenceAudio, Extend) with confidence levels
  • Stereo Width added to working production terms: narrow, medium, wide, extreme-wide
  • Missing Punk subgenres added: Anarcho-Punk, Queercore

Changed

  • BPM now allowed in lyrics field β€” enables per-section tempo changes (previously restricted to style prompt only)
  • Stereo unbanned β€” qualitative stereo width descriptors (narrow/wide) are valid; only hard-panned L/R positioning remains unsupported
  • Mastering LUFS reclassified β€” changed from outright banned to "low-sensitivity and unreliable" (Suno may approximate but can't guarantee exact values)

[1.2.1] - 2026-02-18

Added

  • Banned lyric phrases β€” 67 clichΓ© phrases and AI-isms added to the knowledge base that the AI must avoid when generating lyrics (e.g., "dance in the moonlight," "hearts intertwined," "never let you go")
  • Instruction for the AI to find fresh, original imagery when the user's idea touches on a banned concept

[1.2.0] - 2026-02-18

Added

  • Hugging Face Spaces support β€” app can now be deployed as a public web app
  • API key input field in the UI (users bring their own OpenRouter key)
  • README.md with HF Spaces YAML frontmatter and project documentation
  • Privacy note: API keys are sent directly to OpenRouter and never stored

Changed

  • generate_prompt() now accepts api_key parameter from the UI instead of only reading from env
  • _get_client() prioritizes UI-provided key, falls back to .env for local/desktop use
  • Gradio demo object created at module level for HF Spaces auto-detection
  • API Key section uses collapsible gr.Accordion and password-masked input

[1.1.2] - 2026-02-18

Fixed

  • Fixed second installer crash: groovy/version.txt also missing from PyInstaller bundle
  • Added --collect-data groovy to build script
  • Audited all dependencies for missing data files to prevent further issues

[1.1.1] - 2026-02-18

Fixed

  • Fixed installer crash on launch: safehttpx/version.txt was not being bundled by PyInstaller, causing a FileNotFoundError on the target machine
  • Added --collect-data safehttpx to build script

[1.1.0] - 2026-02-18

Added

  • Windows installer packaging via PyInstaller + Inno Setup
    • desktop_app.py β€” Packaged entry point that launches Gradio in default browser with no console window
    • build.bat β€” One-click build script that runs PyInstaller and optionally Inno Setup
    • installer.iss β€” Inno Setup script with custom API key prompt during installation
    • hooks/hook-gradio.py β€” PyInstaller hook for Gradio source collection
    • runtime_hook.py β€” Multiprocessing freeze support for PyInstaller
  • Installer features:
    • Professional setup wizard with custom API key input page
    • Start Menu and optional desktop shortcuts
    • Add/Remove Programs entry
    • Writes .env file with API key to install directory
    • Option to launch app after installation
  • Build produces both a portable exe (dist/SunoPromptGenerator/) and an installer (Output/SunoPromptGenerator_Setup.exe)

Changed

  • Refactored app.py to expose create_app() function, allowing reuse by both dev mode and desktop packaging
  • Updated .gitignore to exclude build artifacts (build/, dist/, Output/, *.spec) and source reference documents
  • Removed pywebview from requirements (pythonnet incompatible with Python 3.14; using browser-based approach instead)

[1.0.1] - 2025-02-18

Changed

  • Added CLAUDE.md to .gitignore to keep project instructions local only

[1.0.0] - 2025-02-18

Added

  • Initial release of Suno Prompt Generator
  • Gradio web UI with dark theme and orange accent
  • OpenRouter API integration using OpenAI-compatible SDK
  • Model selector with 5 presets:
    • Google Gemini 3 Pro
    • Google Gemini 3 Flash
    • Anthropic Claude Sonnet 4.6
    • OpenAI GPT-5.2
    • xAI Grok 4
    • Custom model ID input
  • Natural language song idea input
  • Weirdness slider (0-100) controlling creative hallucination intensity:
    • 0-20: Conventional, straightforward prompts
    • 21-50: Mild β€” unusual genre combos, abstract descriptors
    • 51-80: Medium β€” genre collisions, paradox emotions, impossible textures, surreal environments
    • 81-100: Maximum β€” full hallucination arsenal with abstract directives
  • Five output sections, each with copy button:
    • Song Title β€” AI-generated evocative title
    • Style Prompt β€” paste directly into Suno's Style Prompt field
    • Lyrics with Tags β€” paste directly into Suno's Lyrics field, includes structure tags and performance cues
    • Suno UI Settings β€” recommended Weirdness and Style Influence values (0-100) with reasoning
    • Cover Art Image Prompt β€” rich visual description for AI image generation (Grok, Midjourney, DALL-E)
  • Consolidated knowledge base from three source documents:
    • Suno Database (genre/subgenre trees, instruments, vocals, production parameters)
    • Suno AI Prompt Mechanics Guide (tag weighting, character limits, working vs ignored terms)
    • Suno Prompt Generator / Gemini Instructions (creative hallucination framework)
  • Knowledge base covers: genres, subgenres, genre qualities, genre fusion strategy, era modifiers, working production terms (drums, bass, reverb, delay, texture, synths, guitars, keys, strings, percussion, compression, tonal balance), performance & humanization (microtiming, velocity, energy, arrangement density/layering/focus), vocal treatment (delivery, registers, harmony, articulation, effects, persona tags), structure tags (sections, bar counts, performance cues, energy/mood/harmony/lyric tone/chord tags), harmony/tempo/groove (key, modes, BPM, groove feel, drum style, time signatures), language/accent/narrative (accent, diction, POV, localization), prompt construction priority order, and common fixes
  • .env file for API key storage
  • Launch Suno Prompter.bat for double-click startup