Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
remove-ai-watermarks — Elimina marcas de agua de IA visibles e invisibles y metadatos de procedencia de imágenes y vídeo. Biblioteca de Python y CLI para SynthID, C2PA, EXIF, IPTC, XMP y marcas comunes de IA generativa. | Kitploit
Herramientas/GitHubGitHub/wiltodelta/remove-ai-watermarks
Utilidades de Propósito GeneralOSINT (Inteligencia de Fuentes Abiertas)Análisis ForenseEsteganografíaRecuperación de DatosForensia DigitalCriptografíaPrivacidadAprendizaje y Educación

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHubwiltodelta/remove-ai-watermarks

remove-ai-watermarks

Elimina marcas de agua de IA visibles e invisibles y metadatos de procedencia de imágenes y vídeo. Biblioteca de Python y CLI para SynthID, C2PA, EXIF, IPTC, XMP y marcas comunes de IA generativa.

Ver RepositorioSitio web
4.5k4241hace 1 díaRevisado por Kitploit

Eliminar marcas de agua de IA

Elimina las marcas de procedencia de IA de imágenes y vídeos que hayas generado tú mismo:

  • etiquetas visibles conocidas, como el destello de Gemini y las marcas de texto del proveedor;
  • marcas de agua de píxeles invisibles mediante regeneración por difusión;
  • metadatos de IA C2PA, EXIF, XMP, IPTC y otros relacionados.

El soporte de vídeo cubre la identificación de procedencia, la limpieza completa visible más metadatos, lotes de directorios, eliminación de marcas visibles de Sora, Veo, Seedance, Dola, Hailuo y Kling, y regeneración VAE certificada por oráculo para la eliminación de SynthID en vídeo.

Pruébalo en línea en raiw.cc si no quieres instalar Python ni ejecutar modelos de difusión localmente.

PyPI Python Downloads License Tests Sponsor

Este proyecto es para uso lícito en contenido que te pertenece. No está dirigido a las vistas previas de agencias de stock ni a otras marcas de agua que protegen contenido de pago de terceros. Consulta alcance, seguridad y notas legales.

Elige lo que quieres hacer

Modos de instalación

Los extras de nivel inferior y especializados incluyen pixels, heif, trustmark, migan, lama y diffusion. La guía de instalación documenta su composición exacta de dependencias y los requisitos de modelos.

Inicio rápido

Instala la CLI predeterminada centrada en metadatos:

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

Inspecciona una imagen:

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

Para eliminar marcas de agua visibles, instala las dependencias de píxeles:

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

Después elimina una marca visible conocida y los metadatos de IA:

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

Elimina metadatos sin ejecutar inpainting visible ni difusión:

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

Sin -o, este comando sobrescribe el archivo de origen en el mismo lugar.

Inspecciona o elimina metadatos de IA de un archivo MP4, MOV, M4V, WebM, MKV, AVI o FLV:

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

El comando video metadata no transcodifica las pistas de vídeo ni de audio. A diferencia del comando de imagen anterior, cuando se omite -o escribe <source>_clean y conserva el original. La inspección de MP4 y MOV incluye la etiqueta nativa TC260 AIGC en moov.udta.meta.keys/ilst, incluido un moov situado después de la carga útil de medios. La inspección de MKV y WebM lee la ubicación normativa Segment.Tags.Tag.SimpleTag. AVI usa LIST/INFO/AIGC, mientras que FLV usa script.onMetaData.AIGC. Los formatos no ISOBMFF se remuxean con copia de flujo para la eliminación.

Usa la ruta de vídeo orientada al producto para identificar o limpiar un archivo:

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 elimina una marca visible registrada estable cuando está presente y siempre elimina los metadatos de IA verificados. Si no se encuentra ninguna de las dos señales, aun así escribe un passthrough del mismo contenedor, de modo que los llamadores de aplicaciones obtienen un contrato de salida predecible. La eliminación invisible propietaria de vídeo queda excluida de forma predeterminada. --invisible opta por el perfil SynthID de vídeo con pérdida certificado por oráculo.

Procesa un directorio con el mismo contrato:

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

Elimina una marca visible de vídeo compatible:

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

Esta ruta escanea la secuencia completa antes de cambiar los píxeles. Solo acepta una marca que se repite en una posición estable entre fotogramas adyacentes y luego reutiliza los mismos backends de relleno OpenCV, MI-GAN o LaMa que la eliminación de imágenes. El audio se copia sin recodificar y se le permite llegar a su fin natural; la pista de vídeo se transcodifica porque sus píxeles cambian. De forma predeterminada, una pasada de flujo óptico con protección alinea el relleno aceptado anterior y lo combina solo cuando el contexto de origen cercano coincide; usa --no-temporal-consistency para desactivarlo. El codificador conserva el muestreo de croma de origen de 8 bits compatible, las etiquetas de color y la escala de tiempo de las pistas MP4/MOV en lugar de depender de los valores predeterminados implícitos de raw-BGR de ffmpeg. Los intervalos de fotogramas variables se conservan mediante un puente NUT en memoria con marcas de tiempo en lugar de aplanarse a la velocidad de fotogramas media. Las marcas de tiempo de inicio de origen distintas de cero se conservan junto con el desplazamiento de audio copiado. El --mark auto predeterminado escanea todos los proveedores en una sola pasada de decodificación y selecciona la primera coincidencia estable en el orden de especificidad que se muestra a continuación. Pasa una marca explícita para restringir la detección a un solo proveedor. Sora cubre la mascota móvil Sora 2 y la marca denominativa. Veo cubre tanto el diamante actual de cuatro puntas como el texto Veo heredado. Seedance cubre la etiqueta fija AI en recuadro, Dola cubre el texto fijo Dola AI, Hailuo cubre la etiqueta compuesta MINIMAX | hailuo AI, y Kling cubre la etiqueta KLING AI en la esquina inferior derecha con su sufijo de versión. Una codificación completada se publica de forma atómica. No se escribe ninguna salida cuando no se encuentra ninguna marca estable. Las entradas HDR, PQ/HLG y de más de 8 bits se rechazan antes de la codificación en lugar de reducirse silenciosamente a través del límite BGR de 8 bits de OpenCV.

Elimina SynthID de vídeo:

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

Esta ruta regenera la secuencia completa con un único campo de ruido latente compartido en el tiempo, copia el audio completo, elimina los metadatos de origen y publica la codificación completada de forma atómica. El perfil predeterminado noise_std=0.15 superó tanto la calibración de dos portadoras como una comprobación completa de oráculo público de ocho segundos de Veo. Google no publica un decodificador local, por lo que una nueva comprobación del proveedor sigue siendo útil para archivos inusualmente importantes o después de cambios del proveedor, pero no es un estado de resultado de producto.

Para eliminar marcas de agua invisibles, instala el extra qwen-zimage. Se requiere una GPU NVIDIA: ambos perfiles son solo CUDA y no hay alternativa de CPU ni MPS.

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

Si los detectores locales no pueden confirmar una marca de agua invisible pero sabes que la imagen proviene de un generador de IA, añade --force:

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

Consulta la guía de instalación para la configuración con Homebrew, uv, funciones opcionales y desarrollo.

Ejemplos

Marca visible de Gemini

AntesDespués
Imagen con una marca de agua visible de GeminiImagen después de la eliminación de la marca de agua visible

Eliminación invisible de alta calidad

qwen-zimage es el perfil predeterminado: una pasada de Qwen-Image-2512 Lightning bajo Canny ControlNet, seguida de una reparación Z-Image enmascarada por SAM de cualquier rostro detectado. La alternativa, sdxl-zimage, intercambia la etapa global por SDXL y mantiene la misma etapa de rostro. Ambos son solo CUDA.

root@kitploit:~
uv tool install --force "remove-ai-watermarks[qwen-zimage]"
remove-ai-watermarks invisible image.png -o clean.png --force
Ejemplo de OpenAI antesEjemplo de OpenAI después
Cuadrícula de retratos de OpenAI antes de qwen-zimageCuadrícula de retratos de OpenAI después de qwen-zimage
Ejemplo de Gemini antesEjemplo de Gemini después
Señal de Gemini antes de qwen-zimageSeñal de Gemini después de qwen-zimage

Estos archivos de salida exactos se comprobaron con los verificadores de los proveedores correspondientes. Ese resultado se aplica a estos archivos, no a cada semilla, imagen o versión futura de marca de agua.

Recetas habituales

Eliminar todas las marcas visibles detectadas

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

El --mark auto predeterminado comprueba todas las marcas visibles registradas y elimina todas las coincidencias. Si la marca es visible para ti pero el detector no la detecta, selecciona su región explícitamente:

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

--region usa x,y,width,height y se puede repetir.

Usar un backend de relleno aprendido

El extra visible usa inpainting de OpenCV cuando no hay instalado un backend aprendido. Para fondos más difíciles, los extras de backend aprendido incluyen las mismas dependencias de píxeles automáticamente:

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

Reducir el uso de memoria CUDA

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

La descarga a CPU reduce la presión de la memoria CUDA al mover componentes del modelo entre la CPU y la GPU, a costa de la velocidad.

Procesar un directorio

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

Lo que la herramienta puede reconocer

El soporte de marcas visibles incluye:

  • el destello de Google Gemini y Nano Banana;
  • etiquetas de Doubao, Jimeng, Qwen, Kling, Yuanbao, Baidu, LibLibAI y RunningHub;
  • una variante calibrada de la etiqueta Samsung Galaxy AI.

La inspección de metadatos y procedencia cubre C2PA, EXIF, XMP, IPTC, parámetros comunes de generador, etiquetas chinas TC260 AIGC y varias señales específicas de proveedores. Los decodificadores opcionales añaden soporte para marcas de agua DWT-DCT abiertas y Adobe TrustMark.

La matriz de soporte exacta, incluidos los límites importantes de configuración regional y de detectores, se encuentra en señales compatibles.

Cómo funciona

La eliminación visible sigue tres pasos:

  1. Detecta una marca registrada en su área esperada.
  2. Construye una máscara alrededor de la marca.
  3. Rellena solo la región enmascarada con OpenCV, MI-GAN o LaMa.

La eliminación de metadatos usa un borrado consciente del formato. La eliminación de metadatos JPEG conserva el escaneo de imagen codificado en lugar de recomprimirlo. Los valores nativos TC260 de MP4/MOV se anulan sin cambiar los tamaños de caja ni los desplazamientos de medios. Otros contenedores compatibles usan su ruta de metadatos correspondiente.

La eliminación invisible es diferente. Regenera la imagen mediante un pipeline de difusión para alterar las marcas de agua en el dominio de píxeles y de frecuencia. Esto cambia la imagen y no puede garantizar que un verificador propietario rechace cada salida.

Consulta señales compatibles y limitaciones conocidas para conocer el límite técnico completo.

API de Python

La API de eliminación visible requiere 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")

La API de alto nivel acepta una ruta de archivo o un arreglo NumPy BGR. Para entradas de ruta, también lee los metadatos de procedencia, conserva el canal alfa y puede eliminar metadatos de IA del resultado escrito.

Consulta la guía de API de Python para la eliminación visible, el pipeline completo remove_all y remove_batch, la inspección de procedencia, el borrado de metadatos y el uso de difusión.

ComfyUI

El paquete independiente ComfyUI Remove AI Watermarks proporciona nodos para eliminación visible, detección, borrado de regiones y eliminación invisible.

Limitaciones importantes

  • Una señal local ausente significa desconocida, no limpia. Las marcas de agua de píxeles propietarias pueden permanecer después de que se hayan eliminado los metadatos.
  • La eliminación visible reconstruye una región pequeña. Los resultados dependen del fondo y del backend de relleno seleccionado.
  • La eliminación invisible cambia toda la imagen y puede alterar rostros, texto o detalles finos.
  • La eliminación visible de vídeo reconoce la marca denominativa móvil de Sora 2, el diamante actual de Veo más el texto Veo heredado, la etiqueta AI en recuadro de Seedance y las etiquetas fijas de Dola, Hailuo y Kling. No reconoce el remolino de esquina de Sora Turbo más antiguo ni los diseños no registrados de esos proveedores. El backend clásico de OpenCV puede manchar fondos estructurados; usa MI-GAN o LaMa cuando la calidad de recuperación importe.
  • La regeneración de SynthID de vídeo cambia la resolución, la velocidad de fotogramas y el detalle de la imagen. El perfil incluido está certificado por oráculo, pero ningún decodificador local público puede certificar una salida arbitraria en tiempo de ejecución. Vuelve a comprobar las salidas inusualmente importantes después de cambios del proveedor.
  • La eliminación de marcas de agua invisibles requiere CUDA. Ambos perfiles rechazan cualquier otro dispositivo en la construcción en lugar de recurrir a uno que no pueda ejecutarlos. La eliminación visible, el borrado de metadatos y identify siguen funcionando en cualquier lugar.
  • Los sistemas de marcas de agua de los proveedores pueden cambiar. Valida las salidas importantes con el verificador del propio proveedor cuando esté disponible.

El comando video invisible incluido usa el perfil certificado noise_std=0.15. El banco de pruebas complementario scripts/video_synthid_sweep.py construye un control de recodificación emparejado más candidatos regenerados por VAE y deja el veredicto del verificador en blanco:

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

Para puntuar cuánto costó realmente una salida, usa scripts/video_fidelity_probe.py: el PSNR del propio motor se mide antes del redimensionamiento y de la codificación, de modo que solo la sonda ve la imagen entregada.

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

El control debe seguir siendo SynthID-positivo antes de que un candidato negativo pueda contar como evidencia de eliminación. En la calibración de dos clips del 2026-07-29, ambos controles emparejados fueron positivos en el verificador SynthID integrado de Gemini; el candidato más fuerte fue negativo en ambas portadoras, mientras que un candidato más débil fue negativo en una. Un seguimiento adversarial posterior que pidió a Gemini ordinario reinterpretar el resultado de píxeles devolvió UNAVAILABLE; ese seguimiento no fue una repetición del verificador y no invalida los veredictos integrados. Una comprobación de clip completo del 2026-07-31 sobre una muestra pública de Veo de ocho segundos encontró que 0.10 aún se detectaba y 0.15 no, por lo que 0.15 es ahora el predeterminado certificado. Los hashes reproducibles y los veredictos se encuentran en data/evaluations/video-synthid-oracle.csv.

Documentación

Comienza con el índice de documentación.

  • Instalación
  • Guía de CLI
  • API de Python
  • Señales compatibles
  • Limitaciones conocidas
  • Alcance, seguridad y notas legales
  • Detalles internos del módulo
  • Publicación y distribución

Las notas de investigación y los experimentos históricos se enumeran por separado en el índice de documentación. Explican decisiones pasadas pero no definen la API pública actual.

Contribuciones

Instala el entorno de desarrollo y ejecuta la compuerta del proyecto:

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

Consulta detalles internos del módulo antes de cambiar un subsistema con invariantes documentados.

Licencia

Apache 2.0. Copyright 2025-2026 wiltodelta.

Descargar herramienta
ObjetivoComandoGPU
Encontrar señales de procedencia y marcas de aguaidentifyNo
Eliminar marcas visibles conocidas de IAvisibleNo
Borrar una región que seleccioneseraseNo
Eliminar metadatos de IAmetadataNo
Identificar la procedencia de vídeos compatiblesvideo identifyNo
Eliminar marcas visibles y metadatos de IA de vídeovideo allNo
Eliminar metadatos de IA de vídeovideo metadataNo
Eliminar una marca visible registrada de IA de vídeovideo visibleNo
Procesar un directorio de vídeosvideo batchDepende del modo
Eliminar SynthID de vídeo con el perfil VAE certificadovideo invisibleRecomendada
Regenerar una imagen para alterar marcas de agua invisiblesinvisibleRequerida (CUDA)
Ejecutar eliminación visible, invisible y de metadatosallRecomendada
Procesar un directoriobatchDepende del modo
NecesidadInstalación
Inspección y eliminación de metadatosremove-ai-watermarks
Detección y eliminación visiblesremove-ai-watermarks[visible]
Procesamiento de vídeo visibleremove-ai-watermarks[video]
Eliminación de SynthID en vídeoremove-ai-watermarks[video,diffusion]
Detección DWT-DCT sin Torchremove-ai-watermarks[detect]
Eliminación invisible de imágenes (requiere CUDA)remove-ai-watermarks[qwen-zimage]
Todas las funciones de producciónremove-ai-watermarks[all]