{"id":30600617,"url":"https://github.com/bernietv/ai-music-generator","last_synced_at":"2026-04-11T12:33:59.367Z","repository":{"id":310653546,"uuid":"1040673344","full_name":"BernieTv/AI-Music-Generator","owner":"BernieTv","description":"An open-source AI-powered music lab that generates songs, lyrics, and cover art with a modern full-stack setup ⚡🎶🤖🎨","archived":false,"fork":false,"pushed_at":"2025-08-19T12:46:18.000Z","size":14721,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-29T23:51:38.883Z","etag":null,"topics":["ace-step","awss3","better-auth","fastapi","inngest","modal-labs","nextjs","polar","python3","qwen","shadcn-ui","stability-ai","tailwindcss"],"latest_commit_sha":null,"homepage":"https://ai-music-generator-green.vercel.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BernieTv.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.MD","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-19T10:36:38.000Z","updated_at":"2025-08-19T12:57:31.000Z","dependencies_parsed_at":"2025-08-19T13:41:26.125Z","dependency_job_id":null,"html_url":"https://github.com/BernieTv/AI-Music-Generator","commit_stats":null,"previous_names":["bernietv/ai-music-generator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BernieTv/AI-Music-Generator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BernieTv%2FAI-Music-Generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BernieTv%2FAI-Music-Generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BernieTv%2FAI-Music-Generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BernieTv%2FAI-Music-Generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BernieTv","download_url":"https://codeload.github.com/BernieTv/AI-Music-Generator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BernieTv%2FAI-Music-Generator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31681201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-11T08:18:19.405Z","status":"ssl_error","status_checked_at":"2026-04-11T08:17:08.892Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ace-step","awss3","better-auth","fastapi","inngest","modal-labs","nextjs","polar","python3","qwen","shadcn-ui","stability-ai","tailwindcss"],"created_at":"2025-08-29T23:39:15.155Z","updated_at":"2026-04-11T12:33:59.356Z","avatar_url":"https://github.com/BernieTv.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://res.cloudinary.com/bekzod-tiny-house/image/upload/v1755599726/Screenshot_from_2025-08-19_15-35-10_apqvbq.png\" alt=\"Project Banner\" /\u003e\n\n# 🎶 AI Music Generator\n\nAn **AI-driven music creation toolkit** that combines lyrics, beats, and cover art generation into a single workflow. It’s not meant to replace musicians — just to give you something weird, fast, and occasionally impressive without opening GarageBand.\n\n## ✨ Features\n\n- 🎵 **AI Music Generation** with ACE-Step\n- 🧠 **LLM-Powered Lyric \u0026 Prompt Generation** with Qwen2-7B\n- 🖼️ **AI Thumbnail Generation** with stabilityai/sdxl-turbo\n- 🎤 **Multiple generation modes:** _descriptions, custom lyrics, or described lyrics_\n- 🎸 **Instrumental Tracks** for music without vocals\n- ⚡ **Serverless GPU Processing** with Modal for blazing-fast generation\n- 📊 **Queue System** powered by Inngest for background task handling\n- 💳 **Credit-Based System** with **Polar.sh** for seamless pack purchases\n- 👤 **User Authentication** via BetterAuth\n- 🎧 **Community Music Feed** to explore, play, and like AI-generated songs\n- 🎛️ **Personal Track Dashboard** to manage, publish, and showcase your music\n- 🐍 **Python \u0026 FastAPI Backend** driving the music logic\n- 📱 **Next.js, Tailwind \u0026 Shadcn UI Frontend** for a clean, modern experience\n\n---\n\n## 🛠️ Technology Stack\n\n**🔙 Backend:**\n\n- 🐍 Python 3.12\n- ⚡ FastAPI\n- ☁️ Modal (serverless GPU execution)\n- 📊 Inngest (event-driven queues)\n- 📦 AWS S3 (file storage)\n\n**💻 Frontend:**\n\n- ⚛️ Next.js 14\n- 🎨 Tailwind CSS\n- 🖼️ Shadcn UI\n- 🔐 BetterAuth (authentication)\n- 💳 Polar.sh (credit packs \u0026 payments)\n\n**🤖 AI Models:**\n\n- 🎵 ACE-Step (music generation)\n- 🧠 Qwen2-7B (lyrics \u0026 prompts)\n- 🖼️ stabilityai/sdxl-turbo (thumbnails)\n\n---\n\n## 🚀 Setup\n\n### Clone the Repo\n\n```bash\ngit clone --recurse-submodules https://github.com/BernieTv/AI-Music-Generator.git\n```\n\n### Backend Setup\n\n```bash\ncd backend\npip install -r requirements.txt\nmodal setup\nmodal run main.py\nmodal deploy main.py\n```\n\n\u003e ⚠️ Note: All **backend environment variables** (AWS keys, S3 bucket name, etc.) should be configured in the **Modal Secrets tab**, not in a local `.env` file.\n\n### Frontend Setup\n\n```bash\ncd frontend\nnpm i\nnpm run dev\n```\n\n### Queue (Inngest)\n\n```bash\ncd frontend\nnpx inngest-cli@latest dev\n```\n\n---\n\n## ☁️ AWS Setup\n\n### Policy for Frontend User\n\n```json\n{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Sid\": \"VisualEditor0\",\n      \"Effect\": \"Allow\",\n      \"Action\": [\"s3:PutObject\", \"s3:GetObject\"],\n      \"Resource\": \"arn:aws:s3:::music-generation-bucket/*\"\n    },\n    {\n      \"Sid\": \"VisualEditor1\",\n      \"Effect\": \"Allow\",\n      \"Action\": \"s3:ListBucket\",\n      \"Resource\": \"arn:aws:s3:::music-generation-bucket\"\n    }\n  ]\n}\n```\n\n### Policy for Backend User\n\n```json\n{\n  \"Version\": \"2012-10-17\",\n  \"Statement\": [\n    {\n      \"Sid\": \"VisualEditor0\",\n      \"Effect\": \"Allow\",\n      \"Action\": \"s3:GetObject\",\n      \"Resource\": \"arn:aws:s3:::music-generation-bucket/*\"\n    },\n    {\n      \"Sid\": \"VisualEditor1\",\n      \"Effect\": \"Allow\",\n      \"Action\": \"s3:ListBucket\",\n      \"Resource\": \"arn:aws:s3:::music-generation-bucket\"\n    }\n  ]\n}\n```\n\n---\n\n## 🔑 Environment Variables\n\n### Backend\n\n```\nAWS_ACCESS_KEY_ID=\"\"\nAWS_REGION=\"\"\nAWS_SECRET_ACCESS_KEY=\"\"\nS3_BUCKET_NAME=\"\"\n```\n\n### Frontend\n\n```\nDATABASE_URL=\"\"\n\nBETTER_AUTH_SECRET=\"\"\n\nMODAL_KEY=\"\"\nMODAL_SECRET=\"\"\n\nAWS_ACCESS_KEY_ID=\"\"\nAWS_SECRET_ACCESS_KEY_ID=\"\"\nAWS_REGION=\"\"\nS3_BUCKET_NAME=\"\"\n\nGENERATE_FROM_DESCRIPTION=\"\"\nGENERATE_FROM_DESCRIBED_LYRICS=\"\"\nGENERATE_WITH_LYRICS=\"\"\n\nPOLAR_ACCESS_TOKEN=\"\"\nPOLAR_WEBHOOK_SECRET=\"\"\n```\n\n---\n\n## 🎤 Project Vibe\n\nThis project is a playful experiment that blends music and AI. It won’t replace your favorite artist, but it’s a fun way to turn prompts into beats, lyrics, and cover art. Sometimes the results are surprisingly good, sometimes they’re quirky — but that’s part of the charm. Ideal for tinkering, learning, or just seeing what AI comes up with when asked to make music.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbernietv%2Fai-music-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbernietv%2Fai-music-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbernietv%2Fai-music-generator/lists"}