openai格式的tts,有可莉,雷电将军等海螺语音,可在nextchat,fastgpt,librechat等调用

部署

  • 用到的项目是海螺的免费api,经试验项目中的vercel无法部署,报404not found,可用render部署和serv00部署,serv00可以用s4的机器来部署,s3的被墙了不行,以及用服务器的docker部署,docker,render保活和render具体部署看项目说明,写得很详细。

serv00的部署教程全程参考的是 @Saika 博客部署Uptime-Kuma的过程,很感谢这位佬,以下是超详细的serv00的部署教程,这个部署过程参考了很多佬的教程,在此表示感谢。请注意s3部署这个服务会无法连接到海螺导致不能正常运行,只能s4部署,现在新注册的都是s4.

serv00部署
  • 注册一个 Serv00.com,注册完成后邮箱里有账号密码,邮箱里有panel的网址,登录serv00面板后,先右上角设置语言调为English

  • 然后点击 Additional services - Run your own applications 点击enable,设置成功后显示如下:

  • 开启端口

  • 自定义域名

  • 1.点进WWW websites,点+add new website,然后输入自己的域名或者二级域名,然后添加,需要注意的是添加的二级域名要与在Cloudflare的二级域名一样,选择刚开启的端口,记住这个端口,后面要用到

    1. 点进 DNS zones,在自己的域名旁边点Edit,找到A类型的ip地址复制到Cloudflare的域名解析里,ying为我的二级域名的前缀,这样自定义域名就完成了

自动拉起

注意在如果在添加以下定时任务之前有任务在运行中请先 SSH 窗口保存 pm2 的当前任务列表快照,因为现在还没开始部署服务,所以这里不用pm2 save

pm2 save

(如果没有先pm2 save,再添加第一条任务的话会把进程全部清空,这样就要重新自己手动启动服务了)
在 Panel 中找到 Cron jobs 选项卡,使用 Add cron job 功能添加任务,Specify time 选择 After reboot,即为重启后运行。Form type 选择 Advanced,Command 写:

pkill -kill -u 你的用户名 && /home/你的用户名/.npm-global/bin/pm2 resurrect

在 Panel 中找到 Cron jobs 选项卡,使用 Add cron job 功能添加任务,Specify time 选择 Specify manually,即为手动指定。Form type 选择 Advanced,Minute 选择Every,其他的都选Each time,Command 写:

/home/你的用户名/.npm-global/bin/pm2 resurrect

最后有在列表里有两条定时任务

然后再在SSH 窗口保存一次 pm2的当前任务列表快照:

pm2 save
  • 进入shh后输入以下命令,安装pm2,安装完成之后请断开shh重新连接
bash <(curl -s https://raw.githubusercontent.com/k0baya/alist_repl/main/serv00/install-pm2.sh)

下载源代码,把ying.example.com替换为你的二级域名

cd ~/domains/ying.example.com && wget https://github.com/eggacheb/hailuo-free-api/archive/refs/tags/1.22.1.zip && unzip 1.22.1.zip && rm -rf public_html && mv -f hailuo-free-api-1.22.1 public_html && rm -f 1.22.1.zip && cd public_html

下载dist文件

wget https://github.com/eggacheb/hailuo-free-api/releases/download/1.22.1/dist.tar.gz && tar -xzvf dist.tar.gz && rm dist.tar.gz

安装补充依赖:

npm install

设置生产模式:

npm ci --production

使用pm2管理后台运行,要把PORT替换成你放行的端口

pm2 start dist/index.js --name "hailuo-free-api" -- --port=PORT

查看服务实时日志

pm2 logs hailuo-free-api

自动续期

以上serv00的部署就结束了,进自己的二级域名就可以看到服务在运行了

  • render注册后如遇到绑卡问题,用一个邮箱注册render,然后再注销,再用这个邮箱注册github,然后以github方式注册render就可以了

使用教程

获取token

海螺AI 获取token

进入海螺AI随便发起一个对话,然后F12打开开发者工具,从Application > LocalStorage中找到_token的值,这将作为Authorization的Bearer Token值:Authorization: Bearer TOKEN

获取_token

发言人可用列表

接入newapi或者oneapi

选openai渠道,模型添加tts-1和tts-1-hd,密钥填获取到的token,代理地址填部署服务的域名,发言人列表的中的所有发言人都可以使用

各平台使用

Nextchat二开

nextchat二开是文本转语音功能的,想要用可莉,雷电将军等海螺语音需要fork一份二开的仓库,然后在仓库里修改/app/constant.ts下的发言人名字,把想用的发言人名字添加进去,然后在nextchat中选择对应的tts模型和发言人,发言人列表的中的所有发言人都可以使用,如下图


Fastgpt

修改config.json的tts部分,如下图

librechat

librechat.yaml 中添加此配置,url处的地址改为你的newapi地址

tts:
  openai:
    apiKey: 'sk-xxx'
    model: 'tts-1'
    voices: ['alloy','echo','fable','onyx','nova','shimmer','keli_hailuo','YaeMiko_hailuo','male-botong','Podcast_girl','boyan_new_hailuo','female-shaonv','xiaoyi_mix_hailuo','xiaomo_sft','cove_test2_hailuo','scarlett_hailuo','Leishen2_hailuo','Zhongli_hailuo','Paimeng_hailuo','Hutao_hailuo','Xionger_hailuo','Haimian_hailuo','Robot_hunter_hailuo','Linzhiling_hailuo','huafei_hailuo','lingfeng_hailuo','male_dongbei_hailuo','JayChou_hailuo','Daniel_hailuo','Bingjiao_zongcai_hailuo','female-yaoyao-hd','murong_sft','shangshen_sft','kongchen_sft','shenteng2_hailuo','Guodegang_hailuo','yueyue_hailuo']
    url: "https://api.compatible.com/v1/audio/speech"

以下是在huggingface部署的librechat的修改tts的教程

  • 1.在根目录新建一个librechat.yaml,填入以下内容,url处的地址改为你的newapi地址
version: 1.0.9

cache: true

registration:
  socialLogins: ["discord", "facebook", "github", "google", "openid"]

tts:
  openai:
    apiKey: '${TTS_API_KEY}'
    model: 'tts-1'
    voices: ['alloy','echo','fable','onyx','nova','shimmer','keli_hailuo','YaeMiko_hailuo','male-botong','Podcast_girl','boyan_new_hailuo','female-shaonv','xiaoyi_mix_hailuo','xiaomo_sft','cove_test2_hailuo','scarlett_hailuo','Leishen2_hailuo','Zhongli_hailuo','Paimeng_hailuo','Hutao_hailuo','Xionger_hailuo','Haimian_hailuo','Robot_hunter_hailuo','Linzhiling_hailuo','huafei_hailuo','lingfeng_hailuo','male_dongbei_hailuo','JayChou_hailuo','Daniel_hailuo','Bingjiao_zongcai_hailuo','female-yaoyao-hd','murong_sft','shangshen_sft','kongchen_sft','shenteng2_hailuo','Guodegang_hailuo','yueyue_hailuo']
    url: "https://api.compatible.com/v1/audio/speech"

  • 2.在Dockerfile中注释掉从GitHub上获取配置文件,改为从本地获取,如下图
COPY librechat.yaml /app/librechat.yaml

Open WebUI

在环境变量中添加以下内容,地址可以直接填服务的地址加/v1,key直接填token,具体环境变量看文档 环境变量配置 | 打开 WebUI — Environment Variable Configuration | Open WebUI

浏览器油猴脚本,随时随地用可莉语音

在油猴脚本代码中修改默认的tts模型,以及声音模型,如下图


39 Likes

感谢分享

4 Likes

太强啦

3 Likes

噢~~~~~~

1 Like

感谢分享!教程太详细了! :+1: :+1: :+1:

1 Like

抓住天哥的小号!

1 Like

感谢分享

1 Like

这就被发现了,我还没开始忽悠呢 :rofl:

1 Like

嘿嘿嘿,消灭擎天柱和精选话题特征太明显鸟 :joy:

1 Like

Mark!

2 Likes

好好,我赶紧换一下

2 Likes

总觉得render好像发现这个bug了,前两天用一个qq邮箱试了下,发现要绑卡,但是之前几个gmail邮箱注册的github小号注册render,完全不用绑卡,到现在都不用

2 Likes

我前天才用outlook注册的,没绑卡,说不定是QQ邮箱的问题

qq应该是肯定不行了,特征太明显了

1 Like

感谢佬,serv00使用方式加一

1 Like

感谢分享

1 Like

太强了!!

1 Like

太强啦,赶紧起床试试

1 Like

很详细的分享

1 Like

感谢分享哦

1 Like