基于 SunoSongsCreator 和 Suno-API 项目整合,提供符合OpenAI格式的接口标准化服务。
中文 | English
- OpenAI格式调用:支持流式输出内容。
- 前端兼容性:适配
chat-next-web
等前端项目。 - Docker部署:简化部署流程,支持
docker-compose
、docker
。 - 多Cookie管理:实现多个Cookie轮询使用。
- 引入请求队列等待优化。
- 支持自定义参数(如
tags
、prompt
、style
及对歌曲的续写)。 - 探索开发类似官网的前端页面。
- 欢迎提出宝贵建议!📧 邮箱: [email protected]
本教程提供如何使用特定的环境变量及端口映射来运行一个Docker容器的分步指导。为了本指南的目的,敏感信息如SQL名称、密码和IP地址将被替换为占位符。
- 你的机器上安装了Docker。
- 你具有Docker命令行界面的基础知识。
-
拉取Docker镜像
首先,确保你的机器上已经有了Docker镜像
wlhtea/suno2openai:latest
。如果没有,你可以使用以下命令从Docker仓库中拉取它:docker pull wlhtea/suno2openai:latest
-
运行Docker容器
使用必要的环境变量和端口映射来运行Docker容器。将
<SQL_NAME>
、<SQL_PASSWORD>
和<SQL_IP>
替换为你的SQL数据库连接的实际值。这些值应当保密,不应公开分享。docker run -d --name wsunoapi \ -p 8000:8000 \ -e BASE_URL='https://studio-api.suno.ai' \ -e SESSION_ID='<your-session-id 可以不管>' \ -e SQL_name='<SQL_NAME>' \ -e SQL_password='<SQL_PASSWORD>' \ -e SQL_IP='<SQL_IP>' \ -e SQL_dk=3306 \ --restart=always \ wlhtea/suno2openai:latest
参数说明:
-d
: 以后台模式运行容器并打印容器ID。--name wsunoapi
: 为你的容器命名为wsunoapi
,以便于引用。-p 8000:8000
: 将容器的8000端口映射到宿主机的8000端口。-e
: 为你的容器设置环境变量。--restart=always
: 确保容器始终重启,除非手动停止。
-
添加cookie进数据库 打开数据库添加cookie即可 count为剩余次数(后续会添加一个自动导入的)
id = int cookie = Cookie count = int working = 0
数据库可能报错:'NoneType' object has no attribute 'items' ,此处检查是否正确
-
访问应用程序
一旦容器运行,其内部的应用程序应该可以通过
http://localhost:8000
或你的Docker宿主机的IP地址的8000端口访问。
在运行Docker容器之前,确保你替换了占位符,如<SQL_NAME>
、<SQL_PASSWORD>
、<SQL_IP>
以及<your-session-id>
为实际值。
更新时间:2024/4/7 18:18
git clone https://github.com/wlhtea/Suno2openai.git
创建一个数据库(名称随意),记得保存密码,并确保数据库权限正确设置(允许所有IP连接或仅限Docker容器IP)。
将 env.example
文件重命名为 .env
并填写相应内容:
BASE_URL=https://studio-api.suno.ai
SESSION_ID=cookie # 此项不需修改
SQL_name=<数据库名称>
SQL_password=<数据库密码>
SQL_IP=<数据库主机IP>
SQL_dk=3306 # 数据库端口
cd Suno2openai
编辑 update_cookie_to_sql.py
文件,将你的cookies填入下方数组中:
cookies = ['cookie1', 'cookie2']
docker compose build && docker compose up
注意事项:
- 安全组配置:确保8000端口已开放。
- HTTPS支持:若前端项目使用HTTPS,本项目的反代网址也应使用HTTPS。
- 直接在
chat-next-web
中使用部署网址可以调用sunoapi,但通过new-api
就不行。可能需要检查new-api
的源码。
在渠道的代理设置中填写本项目地址,格式为:http://<服务器IP>:8000
。建议使用HTTPS和域名。
若有意向接纳一名拥有数据分析和前后端开发经验的大三学生实习,请联系:
- 📧 邮箱: [email protected]
给予支持:如果这个项目对你有帮助,请不吝赐予星标⭐!欢迎任何形式的支持和建议,让我们一起进步!