轻松创作高质量的AI音乐——Suno API

Suno 歌曲生成 API 对接指南

随着人工智能技术的飞速发展,各类 AI 程序已如雨后春笋般涌现。AI 不再是遥不可及的存在,它的身影深入了人类工作与生活的每一个角落。其应用领域也愈加广泛,从初期的写作,到现如今的医疗、教育,甚至扩展至音乐的创作。

Suno 是一个专注于高质量音乐创作的 AI 平台,用户只需输入简短的文本提示,即可根据不同的流派与风格生成带有歌声的歌曲。这个 AI 音乐生成器由 Meta、TikTok、Kensho 等知名科技公司的精英团队研发,其愿望是使每个人不需任何乐器,就能创造出动人的旋律。

Suno 最新已将音乐生成模型升级至 V3 版本,现可制作长达两分钟的歌曲。

不过,遗憾的是,Suno 官方并未提供 API 接口,AceDataCloud 提供了一套模拟 Suno 官方的 API,便捷地帮助用户生成所需的音乐。

注册试用链接

注册试用链接

申请与使用

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

如果你尚未登录或注册,系统会自动跳转到登录页面邀请你进行注册与登录,完成注册后将自动返回至当前页面。

首次申请时,你将享有免费的额度,以便于体验该 API 的功能。

基本使用

在创作歌曲时,你可以自由输入一段文字,例如,如果你想生成一首关于圣诞节的歌曲,可以输入 a song for Christmas,如下图所示:

生成的代码如下:

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

{"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,借助 Suno Lyrics Generation API 来生成歌词。

接下来,我们可以根据已有的歌词、标题和风格自定义生成歌曲,相关内容可指定如下:

  • lyric:歌词文本
  • custom:填写 true,即进行自定义生成,该参数默认值为 false,代表使用 prompt 生成。
  • instrumental:无歌词的选项,默认为 false,当其为 true 时将忽略输入的 lyric 参数。
  • file:歌曲标题。
  • style:歌曲风格,选择性填写。

填写示例见下:

完成填写后,系统自动生成代码如下:

对应的代码为:

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 代码如下:

import requestsurl = "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)

点击运行,你将得到如下结果:

{"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 请求后,系统将迅速返回一个结果,其中包含一个 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 上观察到生成歌曲的结果,如下图所示:

内容如下:

{"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 字段,其余字段与上文类似,利用此字段便可关联任务。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/51960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构-距离和】力扣2602. 使数组元素全部相等的最少操作次数

给你一个正整数数组 nums 。 同时给你一个长度为 m 的整数数组 queries 。第 i 个查询中,你需要将 nums 中所有元素变成 queries[i] 。你可以执行以下操作 任意 次: 将数组里一个元素 增大 或者 减小 1 。 请你返回一个长度为 m 的数组 answer &#x…

WUP-MY-LABEL-PRINTER 旻佑热敏打印机标签打印uniapp插件使用说明

插件地址:WUP-MY-LABEL-PRINTER 旻佑热敏打印机标签打印安卓库 简介 本插件主要用于旻佑热敏打印机打印标签,不支持票据打印。适用于旻佑的各型支持标签打印的热敏打印机。本插件开发时使用的打印机型号为MY-805嵌入式面板打印机,其他型号请…

C的动态内存管理 free()和malloc()的简单实现——free()根据内存地址便知释放内存的空间大小(原理详解)

malloc与free malloc 分配的内存是未初始化的,其中的字节内容是不确定的(可能是随机值)。 如果内存分配失败,malloc 返回一个空指针 NULL,可以通过检查返回值来判断是否分配成功。 void* malloc (size_t size); cal…

Linux压缩和解压

目录 压缩和解压类 gzip/gunzip指令 zip/unzip指令 tar指令 压缩和解压类 gzip/gunzip指令 gzip用于压缩文件,gunzip用于解压缩文件。 解压后去掉了gz的后缀。 zip/unzip指令 ​​​​​​​ 将文件压缩后发给别人,别人再解压。 将整个文件压…

上千条备孕至育儿指南速查ACCESS\EXCEL数据库

虽然今天这个数据库的记录数才不过区区上千条,但是每条记录里的内容都包含四五个子标题,可以将相关的知识完整且整齐的展现,是个属于简而精的数据库。并且它包含2级分类。 【备孕】大类包含:备孕百科(19)、不孕不育(23)、精子卵子…

uniapp 微信小程序生成水印图片

效果 源码 <template><view style"overflow: hidden;"><camera device-position"back" flash"auto" class"camera"><cover-view class"text-white padding water-mark"><cover-view class"…

165万人在线《黑神话:悟空》登顶STEAM!勾起太多回忆,我冲啦!

本公众号由以下老铁赞助&#xff0c;感谢他们❗️ 2024年8月20日&#xff0c;一个平凡而又特殊的日子&#xff0c;国产游戏《黑神话&#xff1a;悟空》正式上线 Steam平台&#xff0c;在线人数突破165万&#xff0c;超越《反恐精英CS2》登顶热玩榜。 更牛逼的是 Steam 热玩排行…

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦&#xff0c;各位小可爱&#xff0c;我是你们的好伙伴——bug菌&#xff0c;今天又来给大家普及Java SE啦&#xff0c;别躲起来啊&#xff0c;听我讲干货还不快点赞&#xff0c;赞多了我就有动力讲得更嗨啦&#xff01;所以呀&#xff0c;养成先点赞后阅读的好习惯&#…

Kafka快速入门:Kafka驱动JavaApi的使用

生产者和消费者是Kafka的核心概念之一&#xff0c;它们在客户端被创建和使用&#xff0c;并且包含了许多与Kafka性能和机制相关的配置。虽然Kafka提供的命令行工具能够执行许多基本操作&#xff0c;但它无法实现所有可能的性能优化。相比之下&#xff0c;使用Java API可以充分利…

打造更高效的项目:如何选择合适的管理工具

国内外主流的 10 款项目工程管理系统对比&#xff1a;PingCode、Worktile、Asana、Trello、Monday.com、ClickUp、Wrike、泛微项目协同工具、广联达项目管理软件、泛普OA。 在选择项目工程管理系统时&#xff0c;你是否经常感到无从下手&#xff0c;担心投资不当或工具不适合自…

Python 使用 matplotlib 显示图像

如果没有安装 matplotlib 需要先安装&#xff1a; pip install matplotlib一、读取图片并显示 import matplotlib.pyplot as pltimage_path "/Users/AlanWang4523/Desktop/Debug/files/image.png" image_array plt.imread(image_path)plt.figure("ImageShow…

[数据集][目标检测]停车场空位检测数据集VOC+YOLO格式7959张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;7959 标注数量(xml文件个数)&#xff1a;7959 标注数量(txt文件个数)&#xff1a;7959 标注…

【保姆级教程】5分钟上手 Coze 自建插件,把 AI 接入个人微信

上篇&#xff0c;给大家介绍了一款搭建微信机器人的开源项目&#xff1a; 搭建微信机器人的第4种方式&#xff0c;我造了一个摸鱼小助手 不同于需要付费的项目&#xff0c;它的定制化程度非常高~ 问题来了&#xff1a;怎么接入 AI 能力呢&#xff1f; 考虑到大家对 Coze 智能…

AI 智能体:从普通人到《黑神话:悟空》,保姆级教程让你瞬间变身!

大家好&#xff0c;我是木川 今天还没下班&#xff0c;就看到一款名为《黑神话:悟空》的游戏火爆全网&#xff0c;唤醒了无数玩家对大圣孙悟空的崇拜与向往。游戏中&#xff0c;悟空的七十二变让人叹为观止&#xff0c;但你是否想过&#xff0c;借助AI的力量&#xff0c;我们也…

实验十 编写子程序《汇编语言》- 王爽

一. 显示字符串 1. 需求 显示字符串是现实工作中经常要用到的功能&#xff0c;应该编写一个通用的子程序来实现这个功能。我们应该提供灵活的调用接口&#xff0c;使用者可以决定显示的位置&#xff08;行、列&#xff09;、内容和颜色。 子程序描述 名称&#xff1a;show_str…

第六版页面

基本 明确定义 站点网关mqtt服务器 多个柜子使用的是主从模式 下发一个设备组其他的柜子跟着设置 具体的让后端进行详细管理 前端规范 字体规范 弹出框定义什么应该弹出什么不应该弹出 页面 主页 屏幕宽度有的没设置好 平面地图模式有的没重合好 日志改为告警在上面 日志…

cmake install setlocal错误

cmake中的代码如下&#xff1a; #设置安装目录的前缀 set(CMAKE_INSTALL_PREFIX $ENV{PUBLISH_DIR}) #这边的输出满足要求 message(STATUS "install dir:${CMAKE_INSTALL_PREFIX}") #指定安装 install(TARGETS ${TARGET_NAME} RUNTIME DESTINATION bin …

机械学习—零基础学习日志(如何理解概率论3)

随机变量的函数分布 一维随机变量分布&#xff0c;可以看到下图&#xff0c;X为不同情况的概率。而x如果是大于等于X&#xff0c;那么当x在40以内时&#xff0c;没有概率&#xff0c;为0。 当x变大&#xff0c;在40-80之间&#xff0c;那么x大于X的概率为&#xff0c;0.7&…

Liunx搭建Rustdesk远程桌面服务

1、环境准备 Linux&#xff1a;centos7.9 rustdesk server安装包 很多新服务器并没有 wget 和unzip 可以通过yum自行安装下&#xff0c;如果系统中有wget但不能使用&#xff0c;直接卸载重装即可。 yum install wget wget --no-check-certificate https://github.com/rust…

《黑神话悟空》打不开解决方法介绍

黑神话悟空打不开怎么办&#xff1f;很多的玩家都非常的好奇自己的黑神话悟空为什么打不开&#xff0c;这里整理了黑神话悟空打不开解决方法介绍&#xff0c;详细的内容可以在这里进行了解&#xff0c;有需要的小伙伴们一起来看看吧&#xff01; 解决方法1&#xff1a;验证文件…