Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
remove-ai-watermarks — Удаление видимых и невидимых водяных знаков ИИ и метаданных о происхождении из изображений и видео. Python-библиотека и CLI для SynthID, C2PA, EXIF, IPTC, XMP и распространённых маркеров генеративного ИИ. | Kitploit
Инструменты/GitHubGitHub/wiltodelta/remove-ai-watermarks
Утилиты общего назначенияOSINT (Разведка открытых источников)ФорензикаСтеганографияВосстановление ДанныхЦифровая криминалистикаКриптографияКонфиденциальностьОбучение и Образование

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitHubwiltodelta/remove-ai-watermarks

remove-ai-watermarks

Удаление видимых и невидимых водяных знаков ИИ и метаданных о происхождении из изображений и видео. Python-библиотека и CLI для SynthID, C2PA, EXIF, IPTC, XMP и распространённых маркеров генеративного ИИ.

РепозиторийСайт
4.5k42411 день назадПроверено Kitploit

Удаление AI-водяных знаков

Удаление AI-маркеров происхождения из изображений и видео, которые вы создали сами:

  • известные видимые метки, такие как значок Gemini и текстовые метки производителей;
  • невидимые пиксельные водяные знаки с помощью диффузионной регенерации;
  • метаданные C2PA, EXIF, XMP, IPTC и связанные с ними AI-метаданные.

Поддержка видео охватывает определение происхождения, полную очистку видимых меток и метаданных, пакетную обработку каталогов, удаление видимых меток Sora, Veo, Seedance, Dola, Hailuo и Kling, а также сертифицированную оракулом VAE-регенерацию для удаления SynthID из видео.

Попробуйте онлайн на raiw.cc, если не хотите устанавливать Python или запускать диффузионные модели локально.

PyPI Python Downloads License Tests Sponsor

Этот проект предназначен для законного использования контента, которым вы владеете. Он не затрагивает превью стоковых агентств или другие водяные знаки, защищающие платный контент третьих сторон. См. область применения, безопасность и юридические примечания.

Выберите, что вы хотите сделать

Способы установки

Низкоуровневые и специализированные дополнительные пакеты включают pixels, heif, trustmark, migan, lama и diffusion. В руководстве по установке описаны их точный состав зависимостей и требования к моделям.

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

Установите CLI по умолчанию, ориентированный на метаданные:

root@kitploit:~
uv tool install remove-ai-watermarks

Проверьте изображение:

root@kitploit:~
remove-ai-watermarks identify image.png

Для удаления видимых водяных знаков установите пиксельные зависимости:

root@kitploit:~
uv tool install --force "remove-ai-watermarks[visible]"

Затем удалите известную видимую метку и AI-метаданные:

root@kitploit:~
remove-ai-watermarks visible image.png -o clean.png

Удалите метаданные без запуска видимой ретуши или диффузии:

root@kitploit:~
remove-ai-watermarks metadata image.png --remove -o clean.png

Без -o эта команда перезаписывает исходный файл на месте.

Проверьте или удалите AI-метаданные из файлов MP4, MOV, M4V, WebM, MKV, AVI или FLV:

root@kitploit:~
remove-ai-watermarks video metadata input.mp4 --check
remove-ai-watermarks video metadata input.mp4 --remove -o clean.mp4

Команда video metadata не перекодирует видео- или аудиопотоки. В отличие от команды для изображений выше, при опущенном -o она записывает файл <source>_clean и сохраняет оригинал. Проверка MP4 и MOV включает нативный тег TC260 AIGC в moov.udta.meta.keys/ilst, в том числе moov, размещённый после медиаданных. Проверка MKV и WebM считывает нормативное размещение Segment.Tags.Tag.SimpleTag. AVI использует LIST/INFO/AIGC, а FLV — script.onMetaData.AIGC. Форматы, отличные от ISOBMFF, перепаковываются с копированием потоков для удаления.

Используйте видеорежим продукта для определения или очистки файла:

root@kitploit:~
uv tool install --force "remove-ai-watermarks[video]"
remove-ai-watermarks video identify input.mp4
remove-ai-watermarks video all input.mp4 -o clean.mp4

video all удаляет стабильную зарегистрированную видимую метку, если она присутствует, и всегда удаляет подтверждённые AI-метаданные. Если ни один из сигналов не найден, он всё равно записывает сквозную передачу в том же контейнере, поэтому вызывающие приложения получают единый предсказуемый контракт вывода. Проприетарное удаление невидимых меток из видео по умолчанию исключено. --invisible включает профиль SynthID для видео с потерями, сертифицированный оракулом.

Обработайте каталог с тем же контрактом:

root@kitploit:~
remove-ai-watermarks video batch ./videos --mode all

Удалите поддерживаемую видимую видеометку:

root@kitploit:~
remove-ai-watermarks video visible input.mp4 -o clean.mp4
remove-ai-watermarks video visible veo.mp4 --mark veo -o veo_clean.mp4
remove-ai-watermarks video visible seedance.mp4 --mark seedance -o seedance_clean.mp4
remove-ai-watermarks video visible dola.mp4 --mark dola -o dola_clean.mp4
remove-ai-watermarks video visible hailuo.mp4 --mark hailuo -o hailuo_clean.mp4
remove-ai-watermarks video visible kling.mp4 --mark kling -o kling_clean.mp4

Этот режим сканирует всю последовательность перед изменением пикселей. Он принимает только метку, которая повторяется в стабильной позиции на соседних кадрах, а затем повторно использует те же бэкенды заполнения OpenCV, MI-GAN или LaMa, что и при удалении из изображений. Аудио копируется без перекодирования и может завершиться естественным образом; видеопоток перекодируется, поскольку его пиксели изменяются. По умолчанию защищённый проход оптического потока выравнивает предыдущее принятое заполнение по движению и смешивает его только при согласии ближайшего исходного контекста; используйте --no-temporal-consistency, чтобы отключить это. Кодировщик сохраняет поддерживаемую выборку цветности исходного 8-битного видео, цветовые теги и шкалу времени дорожек MP4/MOV вместо использования неявных настроек ffmpeg raw-BGR по умолчанию. Переменные интервалы кадров сохраняются через мост NUT в памяти с временными метками вместо усреднения до средней частоты кадров. Ненулевые начальные временные метки источника сохраняются вместе со скопированным смещением аудио. Значение --mark auto по умолчанию сканирует всех поставщиков за один проход декодирования и выбирает первое стабильное совпадение в порядке специфичности, показанном ниже. Передайте явную метку, чтобы ограничить обнаружение одним поставщиком.

Sora охватывает движущегося маскота Sora 2 и словесный знак. Veo охватывает как текущий четырёхточечный ромб, так и устаревший текст Veo. Seedance охватывает фиксированную метку AI в рамке, Dola — фиксированный текст Dola AI, Hailuo — составную метку MINIMAX | hailuo AI, а Kling — метку KLING AI в правом нижнем углу с суффиксом версии. Завершённый энкод публикуется атомарно. Если стабильная метка не найдена, вывод не записывается.

Входные данные HDR, PQ/HLG и с разрядностью более 8 бит отклоняются до кодирования, а не молча уменьшаются через 8-битную границу BGR в OpenCV.

Удалите SynthID из видео:

root@kitploit:~
uv tool install --force "remove-ai-watermarks[video,diffusion]"
remove-ai-watermarks video invisible input.mp4 -o clean.mp4

Этот режим регенерирует всю последовательность с одним полем латентного шума, общим для всех кадров, копирует полное аудио, удаляет метаданные источника и атомарно публикует завершённый энкод. Профиль по умолчанию noise_std=0.15 прошёл как двухнесущую калибровку, так и полную проверку оракулом на публичном восьмисекундном образце Veo. Google не публикует локальный декодер, поэтому свежая проверка у поставщика остаётся полезной для необычно важных файлов или после изменений у поставщика, но это не входит в итоговое состояние результата продукта.

Для удаления невидимых водяных знаков установите дополнительный пакет qwen-zimage. Требуется GPU NVIDIA: оба профиля работают только с CUDA, и запасного варианта на CPU или MPS нет.

root@kitploit:~
uv tool install --force "remove-ai-watermarks[qwen-zimage]"
remove-ai-watermarks invisible image.png -o clean.png

Если локальные детекторы не могут подтвердить наличие невидимого водяного знака, но вы знаете, что изображение создано AI-генератором, добавьте --force:

root@kitploit:~
remove-ai-watermarks invisible image.png -o clean.png --force

См. руководство по установке для Homebrew, uv, дополнительных функций и настройки разработки.

Примеры

Видимая метка Gemini

ДоПосле
Изображение с видимым водяным знаком GeminiИзображение после удаления видимого водяного знака

Высококачественное удаление невидимых меток

qwen-zimage — профиль по умолчанию: проход Qwen-Image-2512 Lightning под управлением Canny ControlNet с последующей маскированной SAM-реставрацией Z-Image обнаруженных лиц. Альтернатива sdxl-zimage заменяет глобальный этап на SDXL и сохраняет тот же этап для лиц. Оба работают только с CUDA.

root@kitploit:~
uv tool install --force "remove-ai-watermarks[qwen-zimage]"
remove-ai-watermarks invisible image.png -o clean.png --force
Пример OpenAI доПример OpenAI после
Сетка портретов OpenAI до qwen-zimageСетка портретов OpenAI после qwen-zimage
Пример Gemini доПример Gemini после
Вывеска Gemini до qwen-zimageВывеска Gemini после qwen-zimage

Эти конкретные выходные файлы были проверены соответствующими верификаторами поставщиков. Этот результат применим к этим файлам, а не к каждому seed-значению, изображению или будущей версии водяных знаков.

Часто используемые рецепты

Удаление всех обнаруженных видимых меток

root@kitploit:~
remove-ai-watermarks visible image.png -o clean.png

Значение по умолчанию --mark auto проверяет все зарегистрированные видимые метки и удаляет каждое совпадение. Если метка видна вам, но детектор её пропускает, выберите её область явно:

root@kitploit:~
remove-ai-watermarks erase image.png \
  --region 1640,1930,400,100 \
  -o clean.png

--region использует формат x,y,width,height и может повторяться.

Использование обученного бэкенда заполнения

Дополнительный пакет visible использует ретушь OpenCV, если не установлен обученный бэкенд. Для более сложных фонов дополнительные пакеты с обученными бэкендами автоматически включают те же пиксельные зависимости:

root@kitploit:~
uv tool install --force "remove-ai-watermarks[migan]"
remove-ai-watermarks visible image.png -o clean.png --backend migan
root@kitploit:~
uv tool install --force "remove-ai-watermarks[lama]"
remove-ai-watermarks visible image.png -o clean.png --backend lama

Снижение использования памяти CUDA

root@kitploit:~
remove-ai-watermarks invisible image.png -o clean.png \
  --cpu-offload --force

Выгрузка на CPU снижает нагрузку на память CUDA, перемещая компоненты модели между CPU и GPU, ценой скорости.

Обработка каталога

root@kitploit:~
remove-ai-watermarks batch ./images --mode visible
remove-ai-watermarks batch ./images --mode all

Что инструмент может распознавать

Поддержка видимых меток включает:

  • значок Google Gemini и Nano Banana;
  • метки Doubao, Jimeng, Qwen, Kling, Yuanbao, Baidu, LibLibAI и RunningHub;
  • один калиброванный вариант метки Samsung Galaxy AI.

Проверка метаданных и происхождения охватывает C2PA, EXIF, XMP, IPTC, общие параметры генератора, китайские метки TC260 AIGC и несколько специфических сигналов поставщиков. Дополнительные декодеры добавляют поддержку открытых DWT-DCT водяных знаков и Adobe TrustMark.

Точная матрица поддержки, включая важные ограничения локали и детекторов, приведена в разделе поддерживаемые сигналы.

Как это работает

Удаление видимых меток выполняется в три шага:

  1. Обнаружить зарегистрированную метку в ожидаемой области.
  2. Построить маску вокруг метки.
  3. Заполнить только замаскированную область с помощью OpenCV, MI-GAN или LaMa.

Удаление метаданных использует очистку с учётом формата. Удаление метаданных JPEG сохраняет закодированное изображение вместо его пересжатия. Нативные значения TC260 в MP4/MOV затираются без изменения размеров боксов или смещений медиаданных. Для других поддерживаемых контейнеров используется соответствующий путь метаданных.

Удаление невидимых меток — другое. Оно регенерирует изображение через диффузионный конвейер, чтобы нарушить водяные знаки в пиксельной и частотной областях. Это изменяет изображение и не может гарантировать, что проприетарный верификатор отклонит каждый результат.

Полную техническую границу см. в разделах поддерживаемые сигналы и известные ограничения.

Python API

API удаления видимых меток требует remove-ai-watermarks[visible].

root@kitploit:~
import remove_ai_watermarks as raiw

result, removed = raiw.remove_visible("watermarked.png", "clean.png")
print(removed)

provenance = raiw.identify_video("input.mp4")
report = raiw.inspect_video_metadata("input.mp4")
complete = raiw.remove_video_all("input.mp4", "clean.mp4")
batch = raiw.remove_video_batch("videos", "videos_clean")
cleaned = raiw.remove_video_metadata("input.mp4")
synthid_cleaned = raiw.remove_video_invisible("input.mp4", "synthid_clean.mp4")
visible = raiw.remove_video_visible("input.mp4", "clean.mp4")
print(visible.mark)
veo = raiw.remove_video_visible("veo.mp4", "veo_clean.mp4", mark="veo")
seedance = raiw.remove_video_visible(
    "seedance.mp4",
    "seedance_clean.mp4",
    mark="seedance",
)
dola = raiw.remove_video_visible("dola.mp4", "dola_clean.mp4", mark="dola")

Высокоуровневый API принимает путь к файлу или массив NumPy в формате BGR. При вводе пути он также считывает метаданные происхождения, сохраняет альфа-канал и может удалять AI-метаданные из записанного результата.

См. руководство по Python API для удаления видимых меток, полного конвейера remove_all и remove_batch, проверки происхождения, удаления метаданных и использования диффузии.

ComfyUI

Отдельный пакет ComfyUI Remove AI Watermarks предоставляет узлы для удаления видимых меток, обнаружения, стирания областей и удаления невидимых меток.

Важные ограничения

  • Отсутствие локального сигнала означает «неизвестно», а не «чисто». Проприетарные пиксельные водяные знаки могут остаться после удаления метаданных.
  • Удаление видимых меток восстанавливает небольшую область. Результаты зависят от фона и выбранного бэкенда заполнения.
  • Удаление невидимых меток изменяет всё изображение и может затронуть лица, текст или мелкие детали.
  • Удаление видимых меток из видео распознаёт движущийся словесный знак Sora 2, текущий ромб Veo плюс устаревший текст Veo, метку AI в рамке Seedance и фиксированные метки Dola, Hailuo и Kling. Оно не распознаёт старый угловой завиток Sora Turbo или незарегистрированные макеты этих поставщиков. Классический бэкенд OpenCV может размазывать структурированные фоны; используйте MI-GAN или LaMa, когда качество восстановления важно.
  • Регенерация SynthID в видео изменяет разрешение, частоту кадров и детализацию изображения. Поставляемый профиль сертифицирован оракулом, но ни один публичный локальный декодер не может сертифицировать произвольный вывод во время выполнения. Перепроверяйте необычно важные результаты после изменений у поставщиков.
  • Удаление невидимых водяных знаков требует CUDA. Оба профиля отклоняют любое другое устройство при инициализации, а не переключаются на то, которое не может их запустить. Удаление видимых меток, очистка метаданных и identify по-прежнему работают где угодно.
  • Системы водяных знаков поставщиков могут меняться. Проверяйте важные результаты собственным верификатором поставщика, если он доступен.

Поставляемая команда video invisible использует сертифицированный профиль noise_std=0.15. Сопутствующий исследовательский инструмент scripts/video_synthid_sweep.py создаёт контрольный файл с соответствующим перекодированием и VAE-регенерированные кандидаты, оставляя вердикт верификатора пустым:

root@kitploit:~
uv run --extra video --extra diffusion python scripts/video_synthid_sweep.py input.mp4 -o sweep/

Чтобы оценить, во что на самом деле обходится вывод, используйте scripts/video_fidelity_probe.py: собственный PSNR движка измеряется до изменения размера и кодирования, поэтому только этот инструмент видит итоговую картинку.

root@kitploit:~
uv run --extra video python scripts/video_fidelity_probe.py input.mp4 input_clean.mp4

Контрольный файл всё ещё должен быть SynthID-положительным, прежде чем отрицательный кандидат можно считать доказательством удаления. В калибровке от 29.07.2026 на двух клипах оба соответствующих контрольных файла были положительными во встроенном в Gemini верификаторе SynthID; более сильный кандидат был отрицательным на обеих несущих, а более слабый — на одной. Последующая состязательная проверка, в которой обычному Gemini предложили переинтерпретировать пиксельный результат, вернула UNAVAILABLE; эта проверка не была повторным запуском верификатора и не отменяет встроенные вердикты. Полная проверка клипа от 31.07.2026 на публичном восьмисекундном образце Veo показала, что 0.10 всё ещё обнаруживается, а 0.15 — нет, поэтому 0.15 теперь является сертифицированным значением по умолчанию. Воспроизводимые хеши и вердикты находятся в data/evaluations/video-synthid-oracle.csv.

Документация

Начните с указателя документации.

  • Установка
  • Руководство по CLI
  • Python API
  • Поддерживаемые сигналы
  • Известные ограничения
  • Область применения, безопасность и юридические примечания
  • Внутреннее устройство модуля
  • Релиз и распространение

Исследовательские заметки и исторические эксперименты перечислены отдельно в указателе документации. Они объясняют прошлые решения, но не определяют текущий публичный API.

Участие в разработке

Установите среду разработки и запустите проверку проекта:

root@kitploit:~
uv sync --frozen --extra dev
bash maintain.sh

Перед изменением подсистемы с документированными инвариантами ознакомьтесь с разделом внутреннее устройство модуля.

Лицензия

Apache 2.0. Авторские права 2025-2026 wiltodelta.

Скачать инструмент
ЦельКомандаGPU
Определить сигналы происхождения и водяные знакиidentifyНет
Удалить известные видимые AI-меткиvisibleНет
Стереть выбранную областьeraseНет
Удалить AI-метаданныеmetadataНет
Определить поддерживаемое происхождение видеоvideo identifyНет
Удалить видимые метки и AI-метаданные из видеоvideo allНет
Удалить AI-метаданные из видеоvideo metadataНет
Удалить зарегистрированную видимую AI-метку из видеоvideo visibleНет
Обработать каталог видеоvideo batchЗависит от режима
Удалить SynthID из видео с сертифицированным VAE-профилемvideo invisibleРекомендуется
Регенерировать изображение для нарушения невидимых водяных знаковinvisibleТребуется (CUDA)
Выполнить удаление видимых меток, невидимых меток и метаданныхallРекомендуется
Обработать каталогbatchЗависит от режима
ПотребностьУстановка
Проверка и удаление метаданныхremove-ai-watermarks
Обнаружение и удаление видимых метокremove-ai-watermarks[visible]
Обработка видимых меток в видеоremove-ai-watermarks[video]
Удаление SynthID из видеоremove-ai-watermarks[video,diffusion]
Обнаружение DWT-DCT без Torchremove-ai-watermarks[detect]
Удаление невидимых меток из изображений (требуется CUDA)remove-ai-watermarks[qwen-zimage]
Все производственные функцииremove-ai-watermarks[all]