Prend en charge la sortie de streaming à haute vitesse, plusieurs cycles de dialogue, la synthèse vocale, la reconnaissance vocale, la recherche sur Internet, l'interprétation de documents longs, l'analyse d'images, le déploiement sans configuration, la prise en charge de jetons multicanaux et le nettoyage automatique des traces de session.
Entièrement compatible avec l'interface ChatGPT.
Il existe également les huit API gratuites suivantes auxquelles il faut prêter attention :
Interface Moonshot AI (Kimi.ai) avec l'API kimi-free-api
Interface ZhipuAI (Zhipu Qingyan) avec l'API glm-free-api
Interface StepChat vers l'API step-free-api
Interface Alibaba Tongyi (Qwen) avec l'API qwen-free-api
Interface Metaso AI (Metaso) avec l'API metaso-free-api
Interface iFlytek Spark vers l'API spark-free-api
Interface DeepSeek avec l'API deepseek-free-api
Interface Listening Intelligence (Emohaa) avec l'API emohaa-free-api
L'API inversée est instable. Il est recommandé de se rendre sur le site officiel MiniMax https://www.minimaxi.com/platform pour payer pour utiliser l'API afin d'éviter le risque d'être banni.
Cette organisation et ces individus n'acceptent aucun don ou transaction financière. Ce projet est purement destiné à la recherche, à l'échange et à l'apprentissage !
C'est pour un usage personnel uniquement, et il est interdit de fournir des services externes ou un usage commercial pour éviter de faire pression sur le service officiel, sinon c'est à vos risques et périls !
C'est pour un usage personnel uniquement, et il est interdit de fournir des services externes ou un usage commercial pour éviter de faire pression sur le service officiel, sinon c'est à vos risques et périls !
C'est pour un usage personnel uniquement, et il est interdit de fournir des services externes ou un usage commercial pour éviter de faire pression sur le service officiel, sinon c'est à vos risques et périls !
Ce lien n'est qu'une fonction de test temporaire, avec une seule concurrence. Si vous rencontrez une exception, veuillez réessayer plus tard. Il est recommandé de le déployer vous-même.
https://udify.app/chat/uqBly3aW1LTwzzb3
La synthèse vocale crée de la parole
La reconnaissance vocale consiste à créer des transcriptions
Obtenez un jeton de Conch AI
Entrez Conch AI pour lancer une conversation, puis ouvrez les outils de développement avec F12 et recherchez la valeur de _token
dans Application > LocalStorage. Elle sera utilisée comme valeur du jeton du porteur d'autorisation : Authorization: Bearer TOKEN
À l'heure actuelle, il semble qu'un même compte ne puisse avoir qu'une seule sortie à la fois. Vous pouvez fournir les _tokens de plusieurs comptes et les utiliser ,
l'épissage fournit :
Authorization: Bearer TOKEN1,TOKEN2,TOKEN3
L’un d’eux sera sélectionné à chaque demande du service.
Veuillez préparer un serveur avec une adresse IP publique et ouvrir le port 8000.
Tirez l'image et démarrez le service
docker run -it -d --init --name hailuo-free-api -p 8000:8000 -e TZ=Asia/Shanghai vinlic/hailuo-free-api:latest
Afficher les journaux de service en temps réel
docker logs -f hailuo-free-api
Redémarrer le service
docker restart hailuo-free-api
Arrêter le service
docker stop hailuo-free-api
version : ' 3 '
services :
hailuo-free-api :
container_name : hailuo-free-api
image : vinlic/hailuo-free-api:latest
restart : always
ports :
- " 8000:8000 "
environment :
- TZ=Asia/Shanghai
Remarque : Certaines zones de déploiement peuvent ne pas pouvoir se connecter à Hailuo. Si le journal du conteneur affiche un délai d'attente de demande ou ne peut pas être connecté, veuillez passer à d'autres zones pour le déploiement ! Remarque : L'instance de conteneur du compte gratuit cessera automatiquement de s'exécuter après une période d'inactivité, ce qui entraînera un délai de 50 secondes ou plus lors de la prochaine requête. Il est recommandé de cocher Render containers keep Alive.
Forkez ce projet sur votre compte github.
Visitez Render et connectez-vous à votre compte github.
Créez votre service Web (Nouveau+ -> Créer et déployer à partir d'un référentiel Git -> Connectez votre projet forké -> Sélectionnez la zone de déploiement -> Sélectionnez le type d'instance comme Gratuit -> Créer un service Web).
Après avoir attendu la fin de la construction, copiez le nom de domaine attribué et collez l'URL pour y accéder.
Remarque : Le délai d'expiration de la réponse à la demande pour les comptes gratuits Vercel est de 10 secondes, mais la réponse de l'interface prend généralement plus de temps et vous pouvez rencontrer une erreur de délai d'attente 504 renvoyée par Vercel !
Veuillez vous assurer d'avoir d'abord installé l'environnement Node.js.
npm i -g vercel --registry http://registry.npmmirror.com
vercel login
git clone https://github.com/LLM-Red-Team/hailuo-free-api
cd hailuo-free-api
vercel --prod
Veuillez préparer un serveur avec une adresse IP publique et ouvrir le port 8000.
Veuillez installer l'environnement Node.js, configurer d'abord les variables d'environnement, puis confirmer que la commande node est disponible.
Installer les dépendances
npm i
Installez PM2 pour la protection des processus
npm i -g pm2
Compilez et construisez Lorsque vous voyez le répertoire dist, la construction est terminée.
npm run build
Démarrer le service
pm2 start dist/index.js --name " hailuo-free-api "
Afficher les journaux de service en temps réel
pm2 logs hailuo-free-api
Redémarrer le service
pm2 reload hailuo-free-api
Arrêter le service
pm2 stop hailuo-free-api
Il est plus rapide et plus facile d'utiliser le client de développement secondaire suivant pour accéder aux projets de la série d'API gratuites, et prend en charge le téléchargement de documents/images !
LobeChat développé par Clivia https://github.com/Yanyutin753/lobe-chat
ChatGPT Web https://github.com/SuYxh/chatgpt-web-sea développé par Guangguang@
Actuellement, l'interface /v1/chat/completions
compatible avec openai est prise en charge. Vous pouvez utiliser l'interface d'accès client compatible avec openai ou d'autres clients, ou utiliser des services en ligne tels que dify pour y accéder.
Interface de complétion de conversation, compatible avec l'api chat-completions-api d'openai.
POST /v1/chat/achèvements
l'en-tête doit définir l'en-tête Authorization :
Authorization: Bearer [_token]
Demander des données :
{
// model模型名称可以乱填
"model" : " hailuo " ,
"messages" : [
{
"role" : " user " ,
"content" : "你是谁? "
}
],
// 如果使用SSE流请设置为true,默认false
"stream" : false
}
Données de réponse :
{
"id" : " 242830597915504644 " ,
"model" : " hailuo " ,
"object" : " chat.completion " ,
"choices" : [
{
"index" : 0 ,
"message" : {
"role" : " assistant " ,
"content" : "我是海螺AI,由上海稀宇科技有限公司(MiniMax)自主研发的AI助理。我可以帮助你回答各种问题,提供信息查询、生活建议、学习辅导等服务。如果你有任何问题,随时可以向我提问。 "
},
"finish_reason" : " stop "
}
],
"usage" : {
"prompt_tokens" : 1 ,
"completion_tokens" : 1 ,
"total_tokens" : 2
},
"created" : 1714751470
}
Créez une interface vocale, compatible avec l'api audio-create-speech-api d'openai, et prend uniquement en charge la sortie au format mp3.
male-botong 思远 [兼容 tts-1 alloy]
Podcast_girl 心悦 [兼容 tts-1 echo]
boyan_new_hailuo 子轩 [兼容 tts-1 fable]
female-shaonv 灵儿 [兼容 tts-1 onyx]
YaeMiko_hailuo 语嫣 [兼容 tts-1 nova]
xiaoyi_mix_hailuo 少泽 [兼容 tts-1 shimmer]
xiaomo_sft 芷溪 [兼容 tts-1-hd alloy]
cove_test2_hailuo 浩翔(英文)
scarlett_hailuo 雅涵(英文)
Leishen2_hailuo 模仿雷电将军 [兼容 tts-1-hd echo]
Zhongli_hailuo 模仿钟离 [兼容 tts-1-hd fable]
Paimeng_hailuo 模仿派蒙 [兼容 tts-1-hd onyx]
keli_hailuo 模仿可莉 [兼容 tts-1-hd nova]
Hutao_hailuo 模仿胡桃 [兼容 tts-1-hd shimmer]
Xionger_hailuo 模仿熊二
Haimian_hailuo 模仿海绵宝宝
Robot_hunter_hailuo 模仿变形金刚
Linzhiling_hailuo 小玲玲
huafei_hailuo 拽妃
lingfeng_hailuo 东北er
male_dongbei_hailuo 老铁
Beijing_hailuo 北京er
JayChou_hailuo JayJay
Daniel_hailuo 潇然
Bingjiao_zongcai_hailuo 沉韵
female-yaoyao-hd 瑶瑶
murong_sft 晨曦
shangshen_sft 沐珊
kongchen_sft 祁辰
shenteng2_hailuo 夏洛特
Guodegang_hailuo 郭嘚嘚
yueyue_hailuo 小月月
Recherchez la réponse à la demande robot_custom_config data.formInfo.userVoiceList sur le réseau F12, au format puv_******************
.
Veuillez configurer la variable d'environnement REPLACE_AUDIO_MODEL
au démarrage de Docker ou dans le système pour mapper les haut-parleurs personnalisés au modèle de haut-parleur d'openai. Utilisez des virgules ,
séparer chaque haut-parleur.
L'ordre de mappage est le suivant : alliage, écho, fable, onyx, nova, miroitement. Actuellement, 6 mappages peuvent être définis.
Exemple de mappage :
Podcast_girl -> alliage
yueyue_hailuo -> écho
keli_hailuo -> fable
La configuration de l'environnement pour la relation de mappage ci-dessus est la suivante :
REPLACE_AUDIO_MODEL="Podcast_girl,yueyue_hailuo,keli_hailuo";
POST /v1/audio/discours
l'en-tête doit définir l'en-tête Authorization :
Authorization: Bearer [_token]
Demander des données :
{
// model模型名称可以乱填
"model" : " hailuo " ,
// 语音内容,尽量不要包含指令(否则可能导致模型回答你的问题)
"input" : "你在做什么? " ,
// 发音人ID,可以使用官方或者自己克隆的音色
"voice" : " Podcast_girl "
}
Données de réponse :
flux de données binaires audio/mpeg (fichier mp3)
Créez une interface de transcription, compatible avec l'api audio-create-transcription-api d'openai.
POST /v1/audio/transcriptions
l'en-tête doit définir l'en-tête Authorization :
Authorization: Bearer [_token]
Données de requête (multipart/form-data) :
file 要转录的音频文件对象(不是文件名),格式为:wav、mp3、mpeg、mpga、m4a、ogg、flac。
model 模型名称,可以乱填
response_format 仅支持json或text
Données de réponse :
{
"text": "嗯,多年前呢我是个穷小子,我有一个喜欢的女孩,他有一双会说话的眼睛,他偏爱雏菊般的淡黄色。我我每天都骑自行车送他上下学专挑那个坑坑洼洼的路走。然后编的时候,我就能感觉到他用双手在后边用力的拽我的衣服,我好开心哪。然后回家以后,我才发现我唯一的一件衬衣变成了燕尾服。我每天中午会把我妈妈给我带的荷包蛋,我给她吃,他只吃蛋白,他把蛋蛋黄留给我,我我真的我好感动啊。呃,到后来我我知道呃,吃蛋黄反腹唇口,呃,我们同窗三年,我给他写了一百多封信,跟你联系我我我我我我每一封信我都换一个笔记,我怕他认出来,我那我很不好意思。所以说长此以往的练习,我在书法大赛获得了一等奖。直到有一天,他准备坐火车去省城上学的时候,我也没有把我自己的话跟他说出来。哎,我去那天也是像今天一样下着雨,他也带着那条漂亮的黄丝巾,我递给他一篮子鸡蛋,他没接,他反问我说有多少个鸡蛋,我说有一百个,他说他一天吃一个,一百天就吃完了再想吃,还有吗?这个其实我知道他懂我那句话,可是我当时就像被雷击中了一样无果果主人我什么话我都说不出来。当我缓过神儿来的时候,他已经上车了,车已经开了,车已经开出一段距离了。那个时候我只要大声的喊,他一定能够听到我张嘴了,没声儿。从那一刻起,我就生了病,预言是癌症,没当下雨或者是重要场合,我者无法说话。其实这么多年我一直想找一个机会,我希望他能够重新出现在我眼前。今天这个机会来了,此时此刻他就坐在离我三米半远的地方。我要把我二十年前要跟你说的话,大声的告诉你,哇,李丽,你你只要愿意跟我在一起鸡蛋,我给你带一辈子,有的是。"
}
Fournissez une URL de fichier accessible ou BASE64_URL à analyser.
POST /v1/chat/achèvements
l'en-tête doit définir l'en-tête Authorization :
Authorization: Bearer [_token]
Demander des données :
{
// model模型名称可以乱填
"model" : " hailuo " ,
"messages" : [
{
"role" : " user " ,
"content" : [
{
"type" : " file " ,
"file_url" : {
"url" : " https://mj101-1317487292.cos.ap-shanghai.myqcloud.com/ai/test.pdf "
}
},
{
"type" : " text " ,
"text" : "文档里说了什么? "
}
]
}
],
// 如果使用SSE流请设置为true,默认false
"stream" : false
}
Données de réponse :
{
"id" : " 242835041910616068 " ,
"model" : " hailuo " ,
"object" : " chat.completion " ,
"choices" : [
{
"index" : 0 ,
"message" : {
"role" : " assistant " ,
"content": "文档中包含了一系列的古代魔法仪式和咒语,这些内容似乎源自古希腊罗马时期的魔法文献,如《希腊魔法纸莎草纸》(PGM,全称为Papyri Graecae Magicae)。以下是每个文档内容的简要概述:nn1. 文档1中描述了一个仪式,其中包括将面包分成七小块,然后在那些被暴力杀害的地方留下这些面包块,并念诵一段咒语。这个仪式的目的是为了吸引一个特定女性的注意,让她对施法者产生强烈的感情和欲望。nn2. 文档2中包含了一个咒语,要求一个名为Didymos的施法者召唤一个名为Tereous的女性,通过念诵一系列的魔法名字和咒语,使她感到痛苦和渴望,直到她来到施法者身边。nn3. 文档3中提供了一个简单的仪式,施法者需要保持三天的纯洁,并献上乳香作为祭品,念诵一个特定的名字(NEPHERIRI),以此来吸引一个美丽的女性。nn4. 文档4中描述了一个使用没药的仪式,施法者在献上没药的同时念诵一段咒语,目的是让一个特定的女性对施法者产生强烈的爱慕之情,即使她正在做其他事情,也会被这种强烈的感情所占据。nn这些文档内容反映了古代人们对于魔法和咒语的信仰,以及他们试图通过这些仪式来影响他人情感和行为的愿望。需要注意的是,这些内容仅供学术研究和了解历史之用,现代社会中不应使用这些仪式或咒语来干预他人的自由意志。"
},
"finish_reason" : " stop "
}
],
"usage" : {
"prompt_tokens" : 1 ,
"completion_tokens" : 1 ,
"total_tokens" : 2
},
"created" : 1714752530
}
Fournissez une URL d’image accessible ou BASE64_URL à analyser.
Ce format est compatible avec le format API gpt-4-vision-preview, et vous pouvez également utiliser ce format pour transmettre des documents à analyser.
POST /v1/chat/achèvements
l'en-tête doit définir l'en-tête Authorization :
Authorization: Bearer [_token]
Demander des données :
{
"model" : " hailuo " ,
"messages" : [
{
"role" : " user " ,
"content" : [
{
"type" : " image_url " ,
"image_url" : {
"url" : " https://ecmb.bdimg.com/tam-ogel/-1384175475_-1668929744_259_194.jpg "
}
},
{
"type" : " text " ,
"text" : "图里是什么? "
}
]
}
],
// 如果使用SSE流请设置为true,默认false
"stream" : false
}
Données de réponse :
{
"id" : " 242835404705341445 " ,
"model" : " hailuo " ,
"object" : " chat.completion " ,
"choices" : [
{
"index" : 0 ,
"message" : {
"role" : " assistant " ,
"content" : "图里是“海螺AI”的标识。 "
},
"finish_reason" : " stop "
}
],
"usage" : {
"prompt_tokens" : 1 ,
"completion_tokens" : 1 ,
"total_tokens" : 2
},
"created" : 1714752616
}
Vérifiez si _token est vivant. Si live n'est pas vrai, sinon il est faux. Veuillez ne pas appeler cette interface fréquemment (moins de 10 minutes).
POST /jeton/chèque
Demander des données :
{
"token" : " eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9... "
}
Données de réponse :
{
"live" : true
}
Si vous utilisez le proxy inverse Nginx hailuo-free-api, veuillez ajouter les éléments de configuration suivants pour optimiser l'effet de sortie du flux et optimiser l'expérience.
# 关闭代理缓冲。当设置为off时,Nginx会立即将客户端请求发送到后端服务器,并立即将从后端服务器接收到的响应发送回客户端。
proxy_buffering off ;
# 启用分块传输编码。分块传输编码允许服务器为动态生成的内容分块发送数据,而不需要预先知道内容的大小。
chunked_transfer_encoding on ;
# 开启TCP_NOPUSH,这告诉Nginx在数据包发送到客户端之前,尽可能地发送数据。这通常在sendfile使用时配合使用,可以提高网络效率。
tcp_nopush on ;
# 开启TCP_NODELAY,这告诉Nginx不延迟发送数据,立即发送小数据包。在某些情况下,这可以减少网络的延迟。
tcp_nodelay on ;
# 设置保持连接的超时时间,这里设置为120秒。如果在这段时间内,客户端和服务器之间没有进一步的通信,连接将被关闭。
keepalive_timeout 120 ;
Étant donné que le côté inférence n'est pas dans hailuo-free-api, le jeton ne peut pas être compté et sera renvoyé sous la forme d'un nombre fixe.