UNPKG

@nsfw-filter/nsfwjs

Version:

Detect NSFW content client side

42 lines (41 loc) 1.36 kB
/// <reference types="node" /> import * as tf from "@tensorflow/tfjs"; export declare type frameResult = { index: number; totalFrames: number; predictions: Array<predictionType>; image: HTMLCanvasElement | ImageData; }; export declare type classifyConfig = { topk?: number; fps?: number; onFrame?: <T>(result: frameResult) => T; }; interface nsfwjsOptions { size?: number; type?: string; } export declare type predictionType = { className: string; probability: number; }; export declare function load(base?: string, 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<predictionType>>; classifyGif(gif: HTMLImageElement | Buffer, config?: classifyConfig): Promise<Array<Array<predictionType>>>; } export {};