资讯动态

Suno-API 快速指南:4 步部署自己的 AI 音乐生成 API

发布时间:2026/10/23 4:07:05 来源:尧图企业网站定制
Suno-API 快速指南4 步部署自己的 AI 音乐生成 API【免费下载链接】Suno-APICreate Music in Seconds with SunoAPI.项目地址: https://gitcode.com/GitHub_Trending/su/Suno-APISuno-API 是一个基于 Python 和 FastAPI 的非官方 Suno AI 音乐生成 API 服务。你在仓库里配好一行凭证后它对外暴露 6 个 HTTP 接口可以按歌词或自然语言描述生成歌曲、写歌词、查询作品进度和账户额度。整个项目不到 20 个文件全部请求异步处理token 刷新由后台线程每 5 秒自动完成不需要你手动维护会话。下面按 4 个步骤走完部署每一步结束时都有一个可以当场验证的结果。Step 1环境准备装好 6 个依赖这一步只做一件事拿到代码、装好依赖不碰任何配置。执行下面 3 条命令即可全程约 1 分钟git clone https://gitcode.com/GitHub_Trending/su/Suno-API cd Suno-API pip3 install -r requirements.txtrequirements.txt里只有 6 个依赖aiohttp、python-dotenv、fastapi、uvicorn、pydantic、requests全部是纯 Python 包无需编译。验证结果pip3 install无报错退出说明环境就绪。Step 2配置凭证从浏览器拿到 session_id 和 cookie服务能不能真正生成音乐取决于两个值SESSION_ID和COOKIE它们来自你登录 suno.com 后的浏览器会话。获取方法一共 3 步用 Chrome 打开 suno.com 并登录账户按F12打开开发者工具切到 Network网络面板在页面上随便触发一次请求找到名为tokens?_clerk_js_version...的那条从这条请求的 URL 里取出sessions/后面的那段字符串就是session_id把请求头里Cookie:的完整值复制下来就是cookie。把仓库里的.env.example复制一份并改名为.env填入 3 个字段BASE_URLhttps://studio-api.suno.ai SESSION_ID从请求URL里复制的sess_xxx字符串 COOKIE从请求头复制的完整cookieBASE_URL保持默认值即可。之后你就不需要再管凭证了cookie.py里的后台线程会每 5 秒用 cookie 向clerk.suno.com换取新的 JWT token 并更新会话过期的问题由服务自己解决。验证结果SESSION_ID以sess_开头COOKIE是一长串键值对两个字段都非空。Step 3启动服务访问 /docs 确认 6 个接口就位启动命令二选一。直接运行uvicorn main:app --host 0.0.0.0 --port 8000或者用 Dockerdocker compose build docker compose up两条路线效果一致Dockerfile 内部执行的就是同一条uvicorn命令默认端口 8000。验证结果浏览器打开http://127.0.0.1:8000/docs出现下图这样的 FastAPI 文档页/generate、/feed/{aid}、/generate/lyrics/、/lyrics/{lid}等接口全部列出说明服务已经对外可用。Step 4首次调用从请求到拿到音频地址生成流程分两段先提交任务拿aid再轮询aid拿音频。仓库自带了test.py演示脚本但下面直接给手动调用的最小示例两种模式各请求一次。模式 A自定义模式POST /generate自己写歌词并指定风格curl -X POST http://127.0.0.1:8000/generate \ -H Content-Type: application/json \ -d {prompt:[Verse]\n清晨的阳光洒在窗台上\n\n[Chorus]\n今天又是新的开始,mv:chirp-v3-0,title:晨间序曲,tags:light indie pop,negative_tags:distorted vocals}模式 B描述模式POST /generate/description-mode一句话交给 AI 发挥注意prompt是占位字段必须保持空字符串curl -X POST http://127.0.0.1:8000/generate/description-mode \ -H Content-Type: application/json \ -d {gpt_description_prompt:一首轻快的夏日流行歌曲讲述海边傍晚的散步,make_instrumental:false,mv:chirp-v3-0,prompt:}两种模式返回的作品列表里包含id也就是aid。接下来轮询curl http://127.0.0.1:8000/feed/{aid}刚提交时audio_url为空等生成完成通常约 1 分钟后返回的第一条记录里就有audio_url直接下载即是一首完整 mp3。验证结果/feed/{aid}返回的 JSON 中audio_url不再是空字符串用浏览器打开就能听到歌。接口速查表6 个端点各做什么接口方法作用关键参数/generatePOST自定义模式生成歌曲prompt歌词、title、tags、negative_tags、mv模型版本如chirp-v3-0/generate/description-modePOST自然语言描述生成歌曲gpt_description_prompt、make_instrumental、mv/feed/{aid}GET查询作品状态与音频地址aid生成时返回的 id/generate/lyrics/POST根据主题创作歌词prompt主题或关键词/lyrics/{lid}GET取回已生成的歌词全文lid歌词生成时返回的 id/get_creditsGET查询账户剩余点数与用量无参数返回credits_left、period、monthly_limit、monthly_usage两个辅助接口的用法/generate/lyrics/适合有主题没词的场景提交后拿到lid再用/lyrics/{lid}取全文/get_credits不消耗额度批量生成前先查一下余额能避免任务中途因点数不足而失败。常见报错排查3 类问题与对应处理现象大概率原因处理方式接口返回 500内容是An error occurred: ....env里SESSION_ID或COOKIE复制不全回到浏览器重新复制cookie.py每 5 秒刷新一次 token只要初始凭证有效就不需要人工干预启动正常但所有请求都报错.env文件没改名字还是.env.example项目用python-dotenv读取.env模板文件不会被加载生成提交成功但audio_url长时间为空账户点数用尽或上游生成慢先GET /get_credits确认credits_left再用/feed/{aid}继续轮询另外两个细节utils.py的fetch函数每次请求都新建aiohttp.ClientSession高并发场景下可以改成连接池复用/feed的轮询间隔在test.py里参考值约 30 秒自己集成时按 10 到 30 秒设置比较稳妥。延伸阅读三个核心模块凭证与保活逻辑在 cookie.py上游请求封装在 utils.py接口参数定义在 schemas.py全部在仓库根目录。适合谁用两类典型场景适合第一类是内容生产者视频、播客、游戏开发需要大量无版权纠纷的背景音乐把/generate/description-mode接进自己的流水线按文案批量产出 BGM一首歌约 1 分钟出片。第二类是开发者项目代码量小、结构直白一个main.py加几个工具模块把 FastAPI 这一层替换掉、保留cookie.py的保活逻辑十几行代码就能把它改造成自己项目里的内部服务。现在克隆仓库、复制.env.example10 分钟内你就能拿到自己生成的第一首歌。【免费下载链接】Suno-APICreate Music in Seconds with SunoAPI.项目地址: https://gitcode.com/GitHub_Trending/su/Suno-API创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑