周末卷一卷,一个音乐生成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

实现原理

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

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

  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)对应的账号没有充值,可能出现无法生成的问题,建议大家关注项目,下载体验,项目会保持更新...

相关推荐
极客代码3 分钟前
【Python TensorFlow】入门到精通
开发语言·人工智能·python·深度学习·tensorflow
义小深5 分钟前
TensorFlow|咖啡豆识别
人工智能·python·tensorflow
光影少年12 分钟前
vue2与vue3的全局通信插件,如何实现自定义的插件
前端·javascript·vue.js
As977_13 分钟前
前端学习Day12 CSS盒子的定位(相对定位篇“附练习”)
前端·css·学习
susu108301891115 分钟前
vue3 css的样式如果background没有,如何覆盖有background的样式
前端·css
Ocean☾17 分钟前
前端基础-html-注册界面
前端·算法·html
Dragon Wu19 分钟前
前端 Canvas 绘画 总结
前端
CodeToGym23 分钟前
Webpack性能优化指南:从构建到部署的全方位策略
前端·webpack·性能优化
~甲壳虫25 分钟前
说说webpack中常见的Loader?解决了什么问题?
前端·webpack·node.js
~甲壳虫28 分钟前
说说webpack proxy工作原理?为什么能解决跨域
前端·webpack·node.js