Visible Watermarking with Gradio
About this article
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
Back to Articles Visible Watermarking with Gradio Published September 15, 2025 Update on GitHub Upvote 19 +13 Margaret Mitchell meg Follow Last year, we shared a blogpost on watermarking, explaining what it means to watermark generative AI content, and why it's important. The need for watermarking has become even more critical as people all over the world have begun to generate and share AI-generated images, video, audio, and text. Images and video have become so realistic that they’re nearly impossible to distinguish from what you’d see captured by a real camera. Addressing this issue is multi-faceted, but there is one, clear, low-hanging fruit 🍇: In order for people to know what's real and what's synthetic, use visible watermarks. To help out, we at Hugging Face have made visible watermarking trivially easy: Whenever you create a Space like an app or a demo, you can use our in-house app-building library Gradio to display watermarks with a single command. For images and video, simply add the watermark parameter, like so: gr.Image(my_generated_image, watermark=my_watermark_image) gr.Video(my_generated_video, watermark=my_watermark_image) See a demonstration of this in action: check out our example image and video watermarking Space. Watermarks can be specified as filenames, and for images we additionally support open images or even numpy arrays, to work best with how you want to set up your interface. One option I particularly like is QR watermarks, which can be used to ge...