uglyrobot/sora2-watermark-remover

Removes the watermark from Sora 2 videos using a trained model and IOpaint

Public
15 runs

Run time and cost

This model runs on Nvidia T4 GPU hardware. We don't yet have enough runs of this model to provide performance information.

Readme

SoraWatermarkCleaner

English | 中文

This project provides an elegant way to remove the sora watermark in the sora2 generated videos.

  • Watermark removed

https://github.com/user-attachments/assets/8cdc075e-7d15-4d04-8fa2-53dd287e5f4c

  • Original

https://github.com/user-attachments/assets/3c850ff1-b8e3-41af-a46f-2c734406e77d

1. Method

The SoraWatermarkCleaner(we call it SoraWm later) is composed of two parsts:

  • SoraWaterMarkDetector: We trained a yolov11s version to detect the sora watermark. (Thank you yolo!)

  • WaterMarkCleaner: We refer iopaint’s implementation for watermark removal using the lama model.

(This codebase is from https://github.com/Sanster/IOPaint#, thanks for their amazing work!)

Our SoraWm is purely deeplearning driven and yields good results in many generated videos.

2. Installation

We highly recommend using the uv to install the environments:

  1. installation:
uv sync

now the envs will be installed at the .ven, you can activate the env using:

bash source .venv/bin/activate

  1. Downloaded the pretrained models:

The trained yolo weights will be stored in the resources dir as the best.pt. And it will be automatically download from https://github.com/linkedlist771/SoraWatermarkCleaner/releases/download/V0.0.1/best.pt . The Lama model is downloaded from https://github.com/Sanster/models/releases/download/add_big_lama/big-lama.pt, and will be stored in the torch cache dir. Both downloads are automatic, if you fail, please check your internet status.

3. Demo

To have a basic usage, just try the example.py:


from pathlib import Path
from sorawm.core import SoraWM


if __name__ == "__main__":
    input_video_path = Path(
        "resources/dog_vs_sam.mp4"
    )
    output_video_path = Path("outputs/sora_watermark_removed.mp4")
    sora_wm = SoraWM()
    sora_wm.run(input_video_path, output_video_path)

We also provide you with a streamlit based interactive web page, try it with:

streamlit run app.py

4. License

Apache License

5. Citation

If you use this project, please cite:

@misc{sorawatermarkcleaner2025,
  author = {linkedlist771},
  title = {SoraWatermarkCleaner},
  year = {2025},
  url = {https://github.com/linkedlist771/SoraWatermarkCleaner}
}

6. Acknowledgments