周末卷一卷,一个音乐生成AI网站写好了,开源啦

好消息,好消息,江南皮革。。

开个玩笑,大家好,我是橙子三个半。

今天为大家分享一个我最近开源的项目,基于 JS 逆向调用 suno.ai 接口生成音乐的网站。项目功能不复杂,仅有登录和生成音乐功能(后续考虑接入支付)的demo级产品。

技术栈:

前后端:NextJS、tailwindcss
登录:clerk
支付:正在申请 Lemon Squeezy (待接入)
部署:vercel => GCP (原因在后面有说明)

你可以基于项目快速开发你的音乐产品,求 Star

项目地址:github.com/Alvin-Liu/s…

为什么做这个项目?

ChatGPT 的火爆带动了整个 AI 领域的新一轮热潮,最近一个音乐生成网站 suno.ai 成功的带火了娱乐类 AI。Sora 没来, suno.ai 成功的吸引了一大波关注。然而由于官方没有开放 api,想要套壳一个音乐生成网站也不容易。等到官方出来 api,这波热度怕是赶不上了,鉴于身边有一些朋友有了套壳的想法,于是乎,搞点黑科技,周末卷一卷,一个音乐生成 AI 网站写好了。

网站地址:sunomusic.fun

周末卷一卷,一个音乐生成AI网站写好了,开源啦

实现原理

官方没有开放 api,但是官方网站通过 ajax 请求的接口我们可以很容易的获取到:

周末卷一卷,一个音乐生成AI网站写好了,开源啦

作为一个前端开发,看到这一堆请求,很容易去搞点事情。分析下请求的链路,大概逻辑如下:

  1. 通过 /v1/client?_clerk_js_version=4.70.5 获取 sid;
  2. 上一步获取的 sid 拼接路径生成 token 请求路径:/v1/client/sessions/${sid}/tokens/api?_clerk_js_version=4.70.5
  3. 执行生成音乐接口:/api/generate/v2/

由于生成音乐的时间较长,需要一直调用 /api/feed 接口解析 feed 信息,过程中可能出现 token 过期等情况,此时需要重新刷新 token 操作,直到获取到最终生成的音乐。

代码已开源,实现细节可访问 Github:github.com/Alvin-Liu/s…

部署

开始从狗爹买的域名,太过慢了…
迁移到 cloudflare 略有改善,国内访问还是有点慢,折腾了好久就这样吧

最开始部署在 vercel, 然而生成歌曲的接口较为耗时,流程没有进行优化导致 vercel Hobby 用户部署会报错,因为 maxDuration 最大只支持 10s。没有升级弃了,目前部署在服务器,后续优化,有兴趣部署玩玩的同学如果是vercel Hobby 用户注意这个坑

欢迎使用

最后,欢迎大家下载体验:github.com/Alvin-Liu/s…

由于部署的网站(sunomusic.fun)对应的账号没有充值,可能出现无法生成的问题,建议大家关注项目,下载体验,项目会保持更新…

原文链接:https://juejin.cn/post/7353152184273420342 作者:橙子三个半

(0)
上一篇 2024年4月3日 上午10:21
下一篇 2024年4月3日 上午10:31

相关推荐

发表回复

登录后才能评论