VideoCensorVideoCensor
ГлавнаяИнструментыО насТарифыБлогAPI
Войти
VideoCensorVideoCensor

Удаляем мат из видео — быстро и автоматически

Продукт

  • Убрать мат
  • Тарифы
  • Для бизнеса

Разработчикам

  • API-дашборд
  • Документация
  • Content Moderation API
  • Python SDK
  • Node.js SDK

Ресурсы

  • О сервисе
  • FAQ
  • Блог

Компания

  • Поддержать
  • Конфиденциальность
  • Условия

Контакты

  • Группа ВКонтакте
  • support@videocensor.ru

Инструменты

  • Проверка на мат
  • Модерация YouTube
  • Субтитры из видео
  • Извлечь аудио
  • Таймкоды YouTube
  • Звук бипа
Файлы автоматически удаляются
Без регистрации для базового режима
Безопасная обработка

Джумаев Н. А., ИНН 645504695070, плательщик НПД · © 2026 VideoCensor. Все права защищены.

Node.js / TypeScript SDK для модерации контента

Официальный Node.js SDK для VideoCensor API. Анализ и цензура текста, аудио и видео. Полная TypeScript-типизация всех моделей и эндпоинтов, auto-retry, поддержка стримов. Работает в Node.js, Deno, Bun и Cloudflare Workers.

npm install @videocensor/sdkДокументация SDK

100% TypeScript

Все модели, все эндпоинты — строгая типизация. Интерфейсы JobStatus, JobResult, AnalyzeTextResult, BatchResponse экспортированы. Zero any.

ESM + CJS

Пакет собран в dual-format: ESM (import) и CJS (require). Работает в любой сборке — Next.js, Vite, tsc, esbuild.

Auto-retry с backoff

Ретраи на 429/5xx с exponential backoff, max_retries настраивается. Retry-After заголовок соблюдается автоматически.

Стримы для файлов

analyzeMedia принимает fs.ReadStream, Buffer или путь. Не нужно грузить файл в память — стримим напрямую в multipart.

waitForJob helper

client.waitForJob(jobId, timeoutMs) — удобный polling до завершения задачи. Поддерживает AbortSignal и onProgress callback.

Типизированные ошибки

VideoCensorError, RateLimitError, AuthenticationError — ловите через instanceof. Содержат retryAfter, statusCode, requestId для логирования.

Быстрый старт

TypeScript — анализ текста
import { VideoCensor } from "@videocensor/sdk";

const client = new VideoCensor({ apiKey: process.env.VIDEOCENSOR_API_KEY! });
const result = await client.analyzeText("текст для проверки");
// result: { flaggedCount, categories, words }
Анализ видео
import { VideoCensor } from "@videocensor/sdk";

const client = new VideoCensor({ apiKey: process.env.VIDEOCENSOR_API_KEY! });
const job = await client.analyzeMedia("/path/to/video.mp4");
const done = await client.waitForJob(job.id);
const result = await client.getJobResult(done.id);
// result: { censoredCount, words, downloadUrl }
Цензура медиа по URL
const job = await client.censorMediaUrl(
  "https://youtube.com/watch?v=...",
  { wayOfBlocking: "beep" }
);
const done = await client.waitForJob(job.id);
await client.downloadJob(done.id, "./clean.mp4");
Обработка ошибок
import { VideoCensor, RateLimitError, AuthenticationError } from "@videocensor/sdk";

try {
  await client.analyzeText("test");
} catch (err) {
  if (err instanceof RateLimitError) {
    // log retry after err.retryAfter seconds
  } else if (err instanceof AuthenticationError) {
    // log invalid api key
  }
}

Что умеет SDK

  • Next.js API routes

    POST /api/moderate → client.analyzeText → return Response. Edge или Node runtime — работает везде.

  • NestJS backend

    Inject VideoCensor через DI provider, использовать в сервисах. Полная типизация совместима с nestjs best practices.

  • Express / Fastify

    Миддлвар для модерации req.body.text до handler'а. Отправка webhook'ов на завершение задач.

  • AWS Lambda

    Размер SDK ~50 КБ, быстрый cold start. Используйте webhook для длинных файлов вместо wait.

  • Cloudflare Workers

    Работает в V8 Isolates, use fetch под капотом. Идеально для edge-модерации.

  • Discord / Telegram боты

    Мгновенная модерация сообщений с photo/video attachments — скачиваем, прогоняем через censor_media_url.

Node.js SDK — вопросы

Какая версия Node.js нужна?+

Node 18+. Используется встроенный fetch, FormData, AbortController. Работает также в Deno, Bun, Cloudflare Workers.

Есть ли types?+

SDK написан на TypeScript. Полные .d.ts в пакете, типизация всех эндпоинтов, интерфейсов и ошибок.

Работает ли в Cloudflare Workers / Deno?+

Да. SDK не использует Node-specific API (fs, path, buffer) за пределами file upload helper, который можно передать как ReadableStream.

Поддерживается ли CommonJS?+

Да. Пакет собран в dual-format ESM + CJS. require('@videocensor/sdk') работает.

Как обновить?+

npm install @videocensor/sdk@latest. Следуем SemVer: breaking changes в major, deprecation notice за 3 месяца.

Где исходники?+

Open source на GitHub — github.com/dzhumaevn/videocensor/tree/main/sdk/nodejs. MIT license.

Установите SDK за секунду

npm install @videocensor/sdk — типизированный клиент под все популярные Node-фреймворки.

npm install @videocensor/sdkДокументация SDK