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

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

Продукт

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

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

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

Ресурсы

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

Компания

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

Контакты

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

Инструменты

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

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

Python SDK для модерации контента

Официальный Python SDK для VideoCensor API. Анализ и цензура текста, аудио и видео через модерацию мата, hate speech, экстремизма, наркотиков, sexual-контента. Sync + async клиенты, типизированные модели, auto-retry с exponential backoff.

pip install videocensorДокументация SDK

Sync + async клиенты

VideoCensor (синхронный, httpx) и AsyncVideoCensor (async/await). Одинаковое API, общие модели. Выбирайте под фреймворк — FastAPI, Django, Flask, Celery.

Типизированные модели

Pydantic-like dataclasses для всех эндпоинтов. Полная поддержка mypy/pyright. IDE-автокомплит работает из коробки.

Auto-retry с backoff

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

Загрузка файлов из path или stream

analyze_media принимает путь к файлу, BufferedReader или BytesIO. Не нужно явно открывать файл — SDK сам обработает всё.

wait_for_job helper

Удобный helper для polling до завершения задачи: client.wait_for_job(job_id, timeout=600, poll_interval=2). Поддерживает callback для progress.

Context manager

with VideoCensor(api_key=...) as client — автоматическое закрытие httpx-клиента. Работает и с async: async with AsyncVideoCensor(...).

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

Sync — анализ текста
import os
from videocensor import VideoCensor

with VideoCensor(api_key=os.environ["VIDEOCENSOR_API_KEY"]) as client:
    result = client.analyze_text("проверяемый текст")
    print(result.flagged_count, result.categories)
Async — анализ видео
import os
import asyncio
from videocensor import AsyncVideoCensor

async def main():
    async with AsyncVideoCensor(api_key=os.environ["VIDEOCENSOR_API_KEY"]) as client:
        job = await client.analyze_media("/path/to/video.mp4")
        done = await client.wait_for_job(job.id)
        analysis = await client.get_job_result(done.id)
        print(analysis.censored_count)

asyncio.run(main())
Цензура медиа
import os
from videocensor import VideoCensor

with VideoCensor(api_key=os.environ["VIDEOCENSOR_API_KEY"]) as client:
    job = client.censor_media("/path/to/video.mp4", way_of_blocking="beep")
    done = client.wait_for_job(job.id)
    client.download_job(done.id, "./clean.mp4")
Обработка ошибок
from videocensor import VideoCensor, RateLimitError, AuthenticationError

try:
    result = client.analyze_text("test")
except RateLimitError as e:
    print(f"retry after {e.retry_after}s")
except AuthenticationError:
    print("invalid api key")

Что умеет SDK

  • FastAPI backend

    async endpoint → AsyncVideoCensor → возвращаем job_id → webhook. Или wait_for_job для синхронного ответа.

  • Django admin

    Синхронный VideoCensor в админ-действии для ручной модерации загруженных файлов.

  • Celery-задачи

    wait_for_job внутри Celery-таска — удобно для очереди обработки больших файлов.

  • Jupyter notebook

    Data-science анализ корпуса текстов / видео — всё через sync API, inline-результаты.

  • CLI-инструмент

    Скрипт для batch-обработки файлов из папки: glob + analyze_media + запись результатов в CSV.

  • Airflow DAG

    DAG для автоматической модерации новых файлов из S3 / GCS — task_instance вызывает VideoCensor.

Python SDK — вопросы

Какая версия Python поддерживается?+

Python 3.10+. SDK использует современные type hints (X | None) и dataclasses.

Какие зависимости у SDK?+

Только httpx >= 0.25. Никаких тяжёлых зависимостей. Размер пакета — ~30 КБ.

Работает ли в AWS Lambda / Cloud Functions?+

Да. SDK не использует subprocess, долгоживущие процессы или локальные файлы. Для длинных задач — webhook вместо wait_for_job.

Есть ли встроенная телеметрия?+

Нет. SDK не отправляет никаких метрик или телеметрии — только прямые вызовы к videocensor.ru/api/v1.

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

pip install --upgrade videocensor. Следуем SemVer — breaking changes только в major-версиях, с deprecation notice за 3 месяца.

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

Открытый исходный код SDK на GitHub — github.com/dzhumaevn/videocensor/tree/main/sdk/python. MIT license.

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

pip install videocensor — и у вас типизированный клиент с sync и async версиями.

pip install videocensorДокументация SDK