2024-04-26 21:21:38,某些文章具有时效性,若有错误或已失效,请在下方留言。NSFW JS是一个简单的 JavaScript 库,已经在Github开源,可帮助您快速识别不合时宜的图像;NSFWJS 并不完美,但它非常准确(小型模型约为 90%,中型模型约为 93%)而且它一直在变得越来越准确。
Docker部署一个NSFW JS
目前已经有网友将NSFW JS打包成Docker镜像,并提供REST API支持,部署后可以通过HTTP API调用。Docker私有部署NSFW JS则是前提,下面一起来安装下。
#复制下面的命令部署NSFW JS
docker run -d -p 127.0.0.1:5000:5000/tcp \
--env PORT=5000 \
--restart=always \
eugencepoi/nsfw_api:latest
注意:上面部署完毕后仅支持本地127.0.0.1访问,无法公开访问,如果您需要公开访问,请去掉127.0.0.1:
测试
部署完毕后您可以通过curl命令测试是否成功:
curl -X GET -H 'Content-Type: application/json' "http://127.0.0.1:5000?url=https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"
如果成功会返回如下格式的json内容:
{
"score": 0.00016061133646871895,
"url": "https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"
}
注意:经过测试,如果图片URL地址带有端口号会识别不了而报错。
返回字段说明
score是图片得分,范围在0-1之间,1 表示它肯定是成人内容,而 0 则不是。经过测试,其实大于0.9就可以认为是成人内容。
更多使用说明可以查看Docker hub上的介绍:https://hub.docker.com/r/eugencepoi/nsfw_api
类似服务
如果您不想自行搭建鉴黄API,也可以看看另外2个免费的鉴黄接口:
Moderate Content是目前ImgURL所使用的图片鉴黄方案,不限次数调用,提供了第三方插件和API支持。Moderate Content不仅限于图片鉴黄,还有提供其它功能,具体如下:
- 检测不适当的内容 – 成人,青少年,每个人,讨厌
- 检测面部
- 检测性别
- 检测年龄
- 保险柜 – 提交错误分类图像的地方
- 动画Gif支持
- 图像类型:.jpg .png .bmp .gif .webp
- 最大图像大小:10 MB
- 协议:HTTP | HTTPS |
- 请求类型:GET | POST | POST multipart / form-data | POST应用程序/ json
Moderate Content官网:https://www.moderatecontent.com/
sightengine有提供免费版本,每月限制2000次,每天不超过500次,如果图片不是很多完全足够,sightengine图片识别功能如下。

sightengine后台还有提供API统计,您的每次请求都记录的非常清楚,如下截图。

sightengine官网:https://sightengine.com/
遗憾的是免费的有额度限制。
总结
通过Docker部署NSFW JS,可以很方便的搭建一个支持HTTP API的的鉴黄服务器,并且不受额度和数量限制。经过xiaoz测试准确度一般,胜在免费开源。
- Docker镜像地址:https://hub.docker.com/r/eugencepoi/nsfw_api
- NSFW JS项目地址:https://github.com/infinitered/nsfwjs















![表情[ciya]-傲绝博客](https://img.alicdn.com/imgextra/i1/4035900312/O1CN01bwfZaC1EAwVsWYfiK_!!4035900312.gif)




暂无评论内容