首页 > 其他分享 >Suno 歌曲生成 API 对接说明

Suno 歌曲生成 API 对接说明

时间:2024-10-24 23:18:32浏览次数:3  
标签:url 对接 生成 ai API 歌曲 Suno https suno

随着 AI 的应用变广,各类 AI 程序已逐渐普及。AI 已逐渐深入到人们的工作生活方方面面。而 AI 涉及的行业也越来越多,从最初的写作,到医疗教育,再到现在的音乐。

Suno 是一个专业高质量的 AI 歌曲和音乐创作平台,用户只需输入简单的文本提示词,即可根据流派风格和歌词生成带有人声的歌曲。该 AI 音乐生成器由来自 Meta、TikTok、Kensho 等知名科技公司的团队成员开发,目标是不需要任何乐器工具,让所有人都可以创造美妙的音乐。

Suno 最新已将音乐生成模型升级到 V3 版本,可生成 2 分钟的歌曲。

然而 Suno 官方是并没有提供 API 的,AceDataCloud 提供了一套 Suno 的 API,模拟对接了 Suno 官方,可以方便快捷地生成想要的音乐。

申请和使用

要使用 Suno Audios API,首先可以到 Suno Audios Generation API 页面点击「Acquire」按钮,获取请求所需要的凭证:

如果你尚未登录或注册,会自动跳转到登录页面邀请您来注册和登录,登录注册之后会自动返回当前页面。

在首次申请时会有免费额度赠送,可以免费使用该 API。

基本使用

想些什么歌曲,可以任意输入一段文字,比如我想生成一个关于圣诞的歌曲,就可以输入 a song for Christmas,如图所示:

生成的代码如下:

可以点击「Try」按钮直接测试 API,稍等 1-2 分钟,结果如下:

json { "success": true, "data": [ { "id": "2f16f7bc-4135-42c6-b3c5-6d6c49dc8cd5", "title": "Winter Wonderland", "image_url": "https://cdn1.suno.ai/image_2f16f7bc-4135-42c6-b3c5-6d6c49dc8cd5.png", "lyric": "[Verse]\nSnowflakes falling all around\nGlistening white\nCovering the ground\nChildren laughing\nFull of delight\nIn this winter wonderland tonight\nSanta's sleigh\nUp in the sky\nRudolph's nose shining bright\nOh my\nHear the jingle bells\nRinging so clear\nBringing joy and holiday cheer\n[Verse 2]\nRoasting chestnuts by the fire's glow\nChristmas lights\nThey twinkle and show\nFamilies gathering with love and cheer\nSpreading warmth to everyone near", "audio_url": "https://cdn1.suno.ai/2f16f7bc-4135-42c6-b3c5-6d6c49dc8cd5.mp3", "video_url": "https://cdn1.suno.ai/2f16f7bc-4135-42c6-b3c5-6d6c49dc8cd5.mp4", "created_at": "2024-05-10T16:21:37.624Z", "model": "chirp-v3", "prompt": "A song for Christmas", "style": "holiday" }, { "id": "5dca232b-17cc-4896-a2d1-4b59178bf410", "title": "Winter Wonderland", "image_url": "https://cdn1.suno.ai/image_5dca232b-17cc-4896-a2d1-4b59178bf410.png", "lyric": "[Verse]\nSnowflakes falling all around\nGlistening white\nCovering the ground\nChildren laughing\nFull of delight\nIn this winter wonderland tonight\nSanta's sleigh\nUp in the sky\nRudolph's nose shining bright\nOh my\nHear the jingle bells\nRinging so clear\nBringing joy and holiday cheer\n[Verse 2]\nRoasting chestnuts by the fire's glow\nChristmas lights\nThey twinkle and show\nFamilies gathering with love and cheer\nSpreading warmth to everyone near", "audio_url": "https://cdn1.suno.ai/5dca232b-17cc-4896-a2d1-4b59178bf410.mp3", "video_url": "https://cdn1.suno.ai/5dca232b-17cc-4896-a2d1-4b59178bf410.mp4", "created_at": "2024-05-10T16:21:37.624Z", "model": "chirp-v3", "prompt": "A song for Christmas", "style": "holiday" } ] }

可以看到这时候我们就得到了两首歌的内容,包括标题、预览图、歌词、音频、视频等内容。

字段说明如下:

  • success:生成是否成功,如果成功则为 true,否则为 false
  • data:是一个列表,包含了生成的歌曲的详细信息。
  • id:歌曲 ID
  • title:歌曲的标题
  • image_url:歌曲的封面图片
  • lyric:歌曲的歌词
  • audio_url:歌曲的音频文件,打开就是一个 mp3 音频。
  • video_url:歌曲的视频文件,打开就是一个 mp4 视频。
  • created_at:创建的时间
  • model:使用的模型,一般是最新的 v3 模型
  • style:风格

自定义生成

如果想自定义生成歌词,可以输入歌词:

这时候 lyric 字段可以传入类似如下内容:

[Verse]\nSnowflakes falling all around\nGlistening white\nCovering the ground\nChildren laughing\nFull of delight\nIn this winter wonderland tonight\nSanta's sleigh\nUp in the sky\nRudolph's nose shining bright\nOh my\nHear the jingle bells\nRinging so clear\nBringing joy and holiday cheer\n[Verse 2]\nRoasting chestnuts by the fire's glow\nChristmas lights\nThey twinkle and show\nFamilies gathering with love and cheer\nSpreading warmth to everyone near

注意,这里的歌词中 \n 是换行符,如果你不知道如何生成歌词,可以使用 AceDataCloud 提供的歌词生成 API 来通过 prompt 生成歌词,API 是 Suno Lyrics Generation API

接下来我们要根据歌词、标题、风格自定义生成歌曲,就可以指定如下内容:

  • lyric:歌词文本
  • custom:填写为 true,代表自定义生成,该参数默认为 false,代表使用 prompt 生成。
  • file:歌曲的标题。
  • style:歌曲的风格,选填。

填写样例如下:

填写完毕之后自动生成了代码如下:

对应的代码:

python curl -X POST 'https://api.acedata.cloud/suno/audios' \ -H 'authorization: Bearer {token}' \ -H 'accept: application/json' \ -H 'content-type: application/json' \ -d '{ "lyric": "[Verse]\\nSnowflakes falling all around\\nGlistening white\\nCovering the ground\\nChildren laughing\\nFull of delight\\nIn this winter wonderland tonight\\nSanta's sleigh\\nUp in the sky\\nRudolph's nose shining bright\\nOh my\\nHear the jingle bells\\nRinging so clear\\nBringing joy and holiday cheer\\n[Verse 2]\\nRoasting chestnuts by the fire's glow\\nChristmas lights\\nThey twinkle and show\\nFamilies gathering with love and cheer\\nSpreading warmth to everyone near", "custom": true }'

测试允许,生成的效果是类似的。

继续生成功能

如果想对生成的歌曲进行继续生成的话,可以将参数 action 设置为 extend ,并且输入需要继续生成歌曲的ID,歌曲ID的获取是根据基本使用来获取,如下图所示:

这时候可以看到歌曲的ID为:

"id": "b9e9fa11-0bf3-47cd-a3d7-85735aee3e07"

注意,这里的歌词中 id 是生成后歌曲的ID,如果你不知道如何生成歌曲,可以参考上文的基本使用来生成歌曲。

接下来我们要必须填歌词、风格自定义生成歌曲,就可以指定如下内容:

  • lyric:歌词文本
  • custom:填写为 true,代表自定义生成,该参数默认为 false,代表使用 prompt 生成。
  • style:歌曲的风格,选填。
  • continue_at:以秒为单位继续现有音频的时间。例如,213.5表示继续到3分33.5秒。

填写样例如下:

填写完毕之后自动生成了代码如下:

对应的Python代码:

```python import requests

url = "https://api.acedata.cloud/suno/audios"

headers = { "accept": "application/json", "authorization": "Bearer {token}", "content-type": "application/json" }

payload = { "action": "extend", "prompt": "A song for Christmas", "audio_id": "b9e9fa11-0bf3-47cd-a3d7-85735aee3e07", "continue_at": 10, "style": "cute", "lyric": "la la la" }

response = requests.post(url, json=payload, headers=headers) print(response.text) ```

点击运行,可以发现会得到一个结果,如下:

json { "success": true, "task_id": "baf55c32-1207-4bdf-bd00-32a864f0474d", "data": [ { "id": "5a3d0054-a6c5-43a9-a348-eae22d1f0efe", "title": "", "image_url": "https://cdn2.suno.ai/image_5a3d0054-a6c5-43a9-a348-eae22d1f0efe.jpeg", "lyric": "la la la", "audio_url": "https://cdn1.suno.ai/5a3d0054-a6c5-43a9-a348-eae22d1f0efe.mp3", "video_url": "https://cdn1.suno.ai/5a3d0054-a6c5-43a9-a348-eae22d1f0efe.mp4", "created_at": "2024-07-25T11:15:49.320Z", "model": "chirp-v3.5", "prompt": null, "style": "cute", "duration": 7.96 }, { "id": "9ae90c96-adcf-4aad-a591-361485168f13", "title": "", "image_url": "https://cdn2.suno.ai/image_9ae90c96-adcf-4aad-a591-361485168f13.jpeg", "lyric": "la la la", "audio_url": "https://cdn1.suno.ai/9ae90c96-adcf-4aad-a591-361485168f13.mp3", "video_url": "https://cdn1.suno.ai/9ae90c96-adcf-4aad-a591-361485168f13.mp4", "created_at": "2024-07-25T11:15:49.321Z", "model": "chirp-v3.5", "prompt": null, "style": "cute", "duration": 4.2 } ] }

可以看出,结果内容与上文的是一致的,这也就实现歌曲的继续生成功能。

异步回调

由于 Suno 生成音乐的时间相对较长,大约需要 1-2 分钟,如果 API 长时间无响应,HTTP 请求会一直保持连接,导致额外的系统资源消耗,所以本 API 也提供了异步回调的支持。

整体流程是:客户端发起请求的时候,额外指定一个 callback_url 字段,客户端发起 API 请求之后,API 会立马返回一个结果,包含一个 task_id 的字段信息,代表当前的任务 ID。当任务完成之后,生成音乐的结果会通过 POST JSON 的形式发送到客户端指定的 callback_url,其中也包括了 task_id 字段,这样任务结果就可以通过 ID 关联起来了。

下面我们通过示例来了解下具体怎样操作。

首先,Webhook 回调是一个可以接收 HTTP 请求的服务,开发者应该替换为自己搭建的 HTTP 服务器的 URL。此处为了方便演示,使用一个公开的 Webhook 样例网站 https://webhook.site/,打开该网站即可得到一个 Webhook URL,如图所示:

将此 URL 复制下来,就可以作为 Webhook 来使用,此处的样例为 https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2。

接下来,我们可以设置字段 callback_url 为上述 Webhook URL,同时填入 prompt,如图所示:

点击运行,可以发现会立即得到一个结果,如下:

{ "task_id": "44472ab8-783b-4054-b861-5bf14e462f60" }

稍等片刻,我们可以在 https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2 上观察到生成歌曲的结果,如图所示:

内容如下:

json { "success": true, "task_id": "44472ab8-783b-4054-b861-5bf14e462f60", "data": [ { "id": "da4324e5-84b2-484b-b0e9-dd261381c594", "title": "Winter Whispers", "image_url": "https://cdn1.suno.ai/image_da4324e5-84b2-484b-b0e9-dd261381c594.png", "lyric": "[Verse]\nSnow falling gently from the sky\nChildren giggling as they pass by\nFire crackling\nCozy and warm\nChristmas spirit begins to swarm\n[Verse 2]\nTwinkling lights\nA sight to behold\nStockings hung\nWaiting to be filled with gold\nGifts wrapped with love\nPiled high\nExcitement in the air\nYou can't deny\n[Chorus]\nWinter whispers in the wind\nJoy and love it brings\nLet's celebrate this season\nWith the ones we're missing", "audio_url": "https://cdn1.suno.ai/da4324e5-84b2-484b-b0e9-dd261381c594.mp3", "video_url": "https://cdn1.suno.ai/da4324e5-84b2-484b-b0e9-dd261381c594.mp4", "created_at": "2024-05-11T07:33:05.430Z", "model": "chirp-v3", "prompt": "A song for Christmas", "style": "pop" }, { "id": "b878a87b-a0db-4046-8ccd-ecd2fb3d4372", "title": "Winter Whispers", "image_url": "https://cdn1.suno.ai/image_b878a87b-a0db-4046-8ccd-ecd2fb3d4372.png", "lyric": "[Verse]\nSnow falling gently from the sky\nChildren giggling as they pass by\nFire crackling\nCozy and warm\nChristmas spirit begins to swarm\n[Verse 2]\nTwinkling lights\nA sight to behold\nStockings hung\nWaiting to be filled with gold\nGifts wrapped with love\nPiled high\nExcitement in the air\nYou can't deny\n[Chorus]\nWinter whispers in the wind\nJoy and love it brings\nLet's celebrate this season\nWith the ones we're missing", "audio_url": "https://cdn1.suno.ai/b878a87b-a0db-4046-8ccd-ecd2fb3d4372.mp3", "video_url": "https://cdn1.suno.ai/b878a87b-a0db-4046-8ccd-ecd2fb3d4372.mp4", "created_at": "2024-05-11T07:33:05.430Z", "model": "chirp-v3", "prompt": "A song for Christmas", "style": "pop" } ] }

可以看到结果中有一个 task_id 字段,其他的字段都和上文类似,通过该字段即可实现任务的关联。

标签:url,对接,生成,ai,API,歌曲,Suno,https,suno
From: https://blog.csdn.net/u010467643/article/details/143222084

相关文章

  • AUTOSAR_EXP_ARAComAPI的6章笔记(2)
    ☞返回总目录相关总结:AutoSarAPCM实例说明符的使用方法总结6.2实例说明符的使用方法一、InstanceSpecifier的概念InstanceSpecifier是在[3]中定义的一个核心概念,它由符合特定模型元素绝对路径的模型元素shortName组成,表现为以“/”分隔的列表。通俗地说,Instance......
  • .net7.0 WebApi 添加 JWT 验证
    https://blog.csdn.net/u012563853/article/details/128659472详细步骤:1.创建默认WebApi项目2.开始添加认证包安装Microsoft.AspNetCore.Authentication.JwtBearer包这个包是用来支持WebApi的JWT认证的3.在appsetting中配置JWT的配置信息这里需要注意的是key......
  • python、JavaScript 、JAVA等实例代码演示教你如何免费获取股票数据(实时数据、历史数
    ​近一两年来,股票量化分析逐渐受到广泛关注。而作为这一领域的初学者,首先需要面对的挑战就是如何获取全面且准确的股票数据。因为无论是实时交易数据、历史交易记录、财务数据还是基本面信息,这些数据都是我们进行量化分析时不可或缺的宝贵资源。我们的核心任务是从这些数据......
  • 用友BIP数据集成到旺店通·企业奇门:YS其他入库单对接方案
    用友BIP数据集成到旺店通·企业奇门:YS其他入库单对接方案在企业的日常运营中,数据的高效流转和准确处理至关重要。本文将分享一个具体的系统对接集成案例,即如何将用友BIP平台上的YS其他入库单数据无缝对接到旺店通·企业奇门,实现云仓管理中的高效数据同步。本次集成方案名为“YS......
  • 吉客云数据集成到金蝶云星空:盘盈入库单对接方案
    吉客云数据集成到金蝶云星空:盘盈入库单对接方案在企业资源管理中,数据的准确性和实时性至关重要。本文将分享一个具体的系统对接集成案例,即如何将吉客云中的盘盈入库单数据高效、可靠地集成到金蝶云星空中,形成盘盈单。为了实现这一目标,我们采用了数据集成平台,通过其强大的数据处......
  • 5金蝶生产订单对接商城:从金蝶云星空到MySQL的数据集成方案
    5金蝶生产订单对接商城:从金蝶云星空到MySQL的数据集成方案在企业信息化系统中,数据的高效流动和准确处理是业务成功的关键。本文将分享一个实际运行的技术案例——如何通过数据集成平台,将金蝶云星空中的生产订单数据无缝对接到MySQL数据库中,实现业务流程的自动化与优化。本次集......
  • 文字识别接口应用场景解析-身份证识别、发票识别API、车牌识别
    在快节奏的工作与生活环境中,如何提高企业工作效率、提升用户体验成为了人们追求的共同目标。针对市场发展需求,一种将任意场景图片中的文字转换为可编辑文本的文字识别技术出现在大众视野。翔云人工智能开放平台通过不断的技术创新,基于深度学习算法与自主ocr核心技术,提供了......
  • 点三电商API:一站式电商数据整合解决方案
    随着电子商务行业的快速发展,越来越多的自研系统商家开始寻求高效的订单管理和数据整合方案,以优化业务流程并提升市场竞争力。然而,在接入电商数据的过程中,商家们面临着两大核心诉求:数据安全和上线时间的保证。数据安全对于自研系统的商家而言,数据是其业务运营的核心资产。在接......
  • Java的买家秀探秘:API数据的优雅捕获
    在编程世界的某个角落,Java特工正坐在他的高科技办公室里,沉浸在代码的海洋中。今天,他接到了一个有趣的任务:获取买家秀的API数据。这不仅是一次技术的挑战,更是一次深入了解买家心声的机会。Java特工,这位编程界的绅士,打开了他的IDE,准备开始这场优雅的探秘之旅。Java特工知道,要获......
  • Python的买家秀大揭秘:用代码点亮API数据
    在一个充满无限可能的数字世界里,Python侦探正准备开始他的新任务:揭开买家秀API数据的神秘面纱。这不仅是一次技术的挑战,更是一次与时间赛跑的较量。Python侦探,这位编程界的福尔摩斯,打开了他的笔记本电脑,准备开始这场冒险。Python侦探知道,要获取买家秀的API数据,他需要使用一些......