UNPKG

nsfwjs-node

Version:

Detect NSFW content client side

43 lines (42 loc) 1.41 kB
import * as tf from '@tensorflow/tfjs-node'; import * as SuperGif from 'libgif'; export * from './read'; interface frameResult { index: number; totalFrames: number; predictions: Array<Object>; } interface classifyConfig { topk?: number; onFrame?: (result: frameResult) => {}; setGifControl?: (gifControl: typeof SuperGif) => {}; } interface nsfwjsOptions { size: number; } export declare function load(options?: { size: number; }): Promise<NSFWJS>; interface IOHandler { load: () => any; } export declare class NSFWJS { endpoints: string[]; private options; private pathOrIOHandler; private model; private intermediateModels; private normalizationOffset; constructor(modelPathBaseOrIOHandler: string | IOHandler, options: nsfwjsOptions); load(): Promise<void>; infer(img: tf.Tensor3D | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, endpoint?: string): tf.Tensor; classify(img: tf.Tensor3D | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, topk?: number): Promise<Array<{ className: string; probability: number; }>>; classifyGif(gif: HTMLImageElement, config?: classifyConfig): Promise<Array<Array<{ className: string; probability: number; }>>>; } export declare const isNSFW: (filename: string, sexy?: number, porn?: number) => Promise<boolean>;