Watermark API
This page documents the core watermarking APIs that users directly interact with.
AutoWatermark
The AutoWatermark class is the primary interface for watermarking operations.
Key Methods:
load(algorithm_name, algorithm_config, diffusion_config)- Load a watermarking algorithmgenerate_watermarked_media(input_data, **kwargs)- Generate watermarked media (image or video)generate_unwatermarked_media(input_data, **kwargs)- Generate clean media without watermarkdetect_watermark_in_media(media, **kwargs)- Detect watermark in mediaget_data_for_visualize(media, **kwargs)- Get data for visualization
Supported Algorithms:
Image watermarks:
TR,GS,PRC,RI,SEAL,ROBIN,WIND,GM,SFWVideo watermarks:
VideoShield,VideoMark
Example Usage:
from markdiffusion.watermark.auto_watermark import AutoWatermark
from markdiffusion.utils.diffusion_config import DiffusionConfig
# Load a watermark algorithm
watermark = AutoWatermark.load('TR',
algorithm_config='markdiffusion/config/TR.json',
diffusion_config=diffusion_config)
# Generate watermarked image
watermarked_image = watermark.generate_watermarked_media("A sunset over mountains")
# Detect watermark
result = watermark.detect_watermark_in_media(watermarked_image)
print(result)
Note
For algorithm-specific implementation details, please refer to the Watermarking Algorithms page.