Sign inSign up

qingjiubaba/nsfw-api

By qingjiubaba

•Updated about 4 years ago

自用的可用于LskyPro图床的鉴黄API

Image
1

1.1K

qingjiubaba/nsfw-api repository overview

⁠NSFW API

build TypeScript

Wrapper around NSFWJS⁠ to provide API.

⁠Usage

⁠Docker

There is docker image bundled with model v3 from https://github.com/gantman/nsfw_model⁠.

docker run -p 3000:3000 qingjiubaba/nsfw-api:latest
docker-compose.yml example
version: "3.9"

services:
  nsfw-api:
    image: "qingjiubaba/nsfw-api:latest"
    ports:
      - "3000:3000"
    restart: always
⁠Manual deploy
  1. Clone the repo
  2. Download and unpack model from models repo⁠ to model folder
  3. yarn
  4. yarn build
  5. yarn start

Now app started on port 3000.

⁠API Methods

  • POST /classify
  • POST /classify-many
  • POST /classify-url
⁠POST /classify
⁠Example of the request
POST /classify HTTP/1.1
Content-Type: multipart/form-data

Image should be provided in image field.

⁠Example of the response
HTTP/1.1 200 OK
Content-Type: application/json
{
    "porn": 0.59248286485672,
    "sexy": 0.39802199602127075,
    "hentai": 0.006243097595870495,
    "neutral": 0.0031403270550072193,
    "drawing": 0.00011181648733327165
}
⁠POST /classify-many
⁠Example of the request
POST /classify-many HTTP/1.1
Content-Type: multipart/form-data

Images should be provided in images field.

⁠Example of the response
HTTP/1.1 200 OK
Content-Type: application/json
[
    {
        "porn": 0.3996206820011139,
        "neutral": 0.388679563999176,
        "sexy": 0.19470958411693573,
        "hentai": 0.015063910745084286,
        "drawing": 0.001926235854625702
    },
    {
        "sexy": 0.8366416692733765,
        "porn": 0.13645528256893158,
        "neutral": 0.0222245492041111,
        "hentai": 0.004213324282318354,
        "drawing": 0.0004651622730307281
    },
    {
        "sexy": 0.8017168045043945,
        "porn": 0.1770564466714859,
        "neutral": 0.015829339623451233,
        "hentai": 0.005097625777125359,
        "drawing": 0.00029983260901644826
    }
]
⁠POST /classify-url
⁠Example of the request
GET /classify-url?url=xxxxx HTTP/1.1

示例:http://192.168.1.10:3000/classify-url?url=https://wework.qpic.cn/wwpic/182450_9tfUhp_bRDqxqQh_1644640601

Image should be provided in url field.

⁠Example of the response
HTTP/1.1 200 OK
Content-Type: application/json
{
    "porn": 0.59248286485672,
    "sexy": 0.39802199602127075,
    "hentai": 0.006243097595870495,
    "neutral": 0.0031403270550072193,
    "drawing": 0.00011181648733327165
}

Tag summary

Content type

Image

Digest

sha256:61f2f0cc4…

Size

508.9 MB

Last updated

about 4 years ago

docker pull qingjiubaba/nsfw-api