首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AI生成音乐太火了?小伙逆向调用 suno.ai!自己做个音乐生成网站!已开源!

以下文章作者为掘金:橙子三个半。

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

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

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

技术栈:

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

项目地址:

https://github.com/Alvin-Liu/suno-music-generator

为什么做这个项目?

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

网站地址:

实现原理

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

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

通过 /v1/client?_clerk_js_version=4.70.5 获取 sid;

上一步获取的 sid 拼接路径生成 token 请求路径:/v1/client/sessions/${sid}/tokens/api?_clerk_js_version=4.70.5

执行生成音乐接口:/api/generate/v2/

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

代码已开源,实现细节可访问 Github:

https://github.com/Alvin-Liu/suno-music-generator

部署

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

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

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OmiMHQ5JMlBe7blZkymV8JCw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券