SORA2 Watermark Remover — AI-powered desktop application for video enhancement and visible watermark removal from Sora 2 generated content with TensorFlow/PyTorch neural inpainting, batch frame processing, CUDA GPU acceleration, and Tkinter GUI interface
╔══════════════════════════════════════════════════════════════════════════════╗
║ ███████╗ ██████╗ ██████╗ █████╗ ██╗ ██╗██████╗ ║
║ ██╔════╝██╔═══██╗██╔══██╗██╔══██╗ ██║ ██║╚════██╗ ║
║ ███████╗██║ ██║██████╔╝███████║ ██║ ██║ █████╔╝ ║
║ ╚════██║██║ ██║██╔══██╗██╔══██║ ╚██╗ ██╔╝██╔═══╝ ║
║ ███████║╚██████╔╝██║ ██║██║ ██║ ╚████╔╝ ███████╗ ║
║ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═══╝ ╚══════╝ ║
║ WATERMARK REMOVER · v1.1.2 · AI-Powered Video Processing ║
╚══════════════════════════════════════════════════════════════════════════════╝
AI-powered desktop application for video enhancement and visible watermark removal from SORA 2 generated content. Combines TensorFlow & PyTorch with a cyberpunk-themed GUI.
Features · Getting Started · Configuration · Usage · Project Structure · FAQ
| Resource | URL |
|---|---|
| OpenAI Sora | https://openai.com/sora |
| OpenAI Help Center (Sora) | https://help.openai.com/en/articles/12460853-creating-videos-with-sora |
| Sora System Card (PDF) | https://cdn.openai.com/pdf/50d5973c-c4ff-4d2d-986f-c72b5d0ff069/sora_2_system_card.pdf |
| C2PA Content Credentials | https://c2pa.org/ |
| Repository | https://github.com/timanmoh/sora2-watermark-remover-gui |
|
|
| Component | Requirement |
|---|---|
| OS | Windows 10/11, Linux (Ubuntu 20.04+), macOS |
| Python | 3.10+ |
| GPU | NVIDIA + CUDA (recommended, optional) |
| RAM | 8 GB min, 16 GB recommended |
| Storage | 2 GB free |
# Clone repository
git clone https://github.com/timanmoh/sora2-watermark-remover-gui.git
cd sora2-watermark-remover-gui
# Create virtual environment
python -m venv .venv
.venv\Scripts\activate # Windows
# source .venv/bin/activate # Linux / macOS
# Install dependencies
pip install -r requirements.txt
# Run application
python main.pypip install cupy-cuda11x==12.3.0 # CUDA 11.x
# pip install cupy-cuda12x==12.3.0 # CUDA 12.x| Package | Version | Purpose |
|---|---|---|
| numpy | ≥1.24.0 | Numerical operations |
| opencv-python | ≥4.8.0 | Video I/O, inpainting |
| Pillow | ≥10.0.0 | Image processing |
| moviepy | ≥1.0.3 | Video composition |
| tensorflow | ≥2.13.0 | Neural inpainting (TF backend) |
| torch | ≥2.0.0 | CNN detection, GPU |
| torchvision | ≥0.15.0 | Transforms, models |
| pyyaml | ≥6.0 | Configuration |
| rich | ≥13.0.0 | CLI formatting |
| tqdm | ≥4.65.0 | Progress bars |
Edit config.yaml in the project root or use the Settings menu ([3]) from the CLI.
# SORA2-WATERMARK-REMOVER Configuration
detection:
confidence_threshold: 0.75 # 0.0 - 1.0, detection sensitivity
detection_method: cnn # cnn | hybrid
temporal_analysis: true # frame-to-frame consistency
signature_check: true # SORA video validation
output:
quality: High # Draft | Standard | High | Lossless
format: MP4 # MP4 | AVI | MOV | MKV
quality_presets:
Draft: 5 # Mbps, fast preview
Standard: 15
High: 30
Lossless: null # max preservationTip: Lower
confidence_threshold(e.g. 0.6) increases detection sensitivity but may produce false positives. UseHighorLosslessfor best output quality.
Enter your choice [1/2/3/4/0]:
[1] Start application
[2] Install dependencies
[3] Settings
[4] About
[0] Exit
- Run
python main.pyand select[1] Start application - Add videos via
[+] Add VideosorCtrl+O - Adjust threshold and quality in Settings
- Click START PROCESSING or press
F5
┌─────────────────────────────────────────────────────────────────┐
│ SORA 2 Video Editor v1.1.2 │
├─────────────────────────────────────────────────────────────────┤
│ Video Files │
│ [+] Add [-] Remove [x] Clear │
│ ───────────────────────────────────────────────────────────── │
│ • video1.mp4 • video2.mp4 • video3.mp4 │
├─────────────────────────────────────────────────────────────────┤
│ Settings [====75%====] [HIGH] [MP4] │
├─────────────────────────────────────────────────────────────────┤
│ Progress ▓▓▓▓▓▓▓░░░ 45% ETA 2:35 │
├─────────────────────────────────────────────────────────────────┤
│ [ ▶ START PROCESSING ] │
└─────────────────────────────────────────────────────────────────┘
Shortcuts: Ctrl+O Add · Delete Remove · Ctrl+A Select all · F5 Start · Esc Cancel
SORA2-Watermark-Remover/
│
├── main.py # Entry point (CLI menu + app launcher)
├── config.yaml # User configuration
├── requirements.txt # Python dependencies
│
├── gui/
│ └── main_window.py # Tkinter window, cyberpunk theme
│
├── core/
│ ├── processor.py # Video pipeline (load, detect, inpaint, write)
│ ├── inpainting.py # Neural inpainting (TF/PyTorch + OpenCV fallback)
│ └── validator.py # Input validation
│
├── detection/
│ ├── detector.py # CNN-based watermark detection
│ ├── signature.py # SORA signature validation
│ └── temporal.py # Frame-to-frame consistency analysis
│
└── utils/
├── file_handler.py # File I/O helpers
├── gpu_manager.py # GPU detection and management
└── logger.py # Logging setup
App won't start
- Ensure Python 3.10+ is installed:
python --version - Install dependencies:
pip install -r requirements.txt - Verify Tkinter:
python -c "import tkinter" - On Linux, install:
sudo apt install python3-tk
GPU not detected
- Update NVIDIA drivers to the latest version
- Verify CUDA:
nvidia-smi - Install CUDA-compatible packages (cupy-cuda11x or cupy-cuda12x)
- Check that PyTorch sees CUDA:
python -c "import torch; print(torch.cuda.is_available())"
Slow processing
- Enable GPU in settings and ensure CUDA packages are installed
- Close other GPU-intensive applications
- Lower output quality preset (e.g. Standard instead of Lossless)
- Reduce video resolution before processing
Watermark not fully removed
- Lower
confidence_thresholdin config (e.g. 0.65) for higher sensitivity - Enable
temporal_analysisandsignature_checkfor better detection - Use
Losslessquality preset for maximum preservation - Note: C2PA metadata (invisible provenance) is not removed by this tool
What watermark types does this handle?
This tool targets visible on-frame watermarks (e.g. "Made with Sora" overlays) using CNN detection and inpainting. OpenAI Sora also embeds C2PA Content Credentials (invisible cryptographic metadata). C2PA is designed to be tamper-resistant and is not removed by this application.
Supported input formats
MP4, AVI, MOV, MKV, and other formats supported by OpenCV's VideoCapture. Ensure ffmpeg is available on the system for best compatibility.
Output location
Processed videos are saved to a processed/ subdirectory next to each input file, with the suffix _processed (e.g. video.mp4 → processed/video_processed.mp4).
This project is provided for educational and research purposes only. It demonstrates computer vision techniques for watermark detection and video inpainting. Users are responsible for ensuring their use complies with:
- OpenAI's Terms of Service and usage policies
- Applicable copyright and licensing laws
- Ethical guidelines for synthetic media
Removing watermarks from content may violate terms of service or licensing agreements. This tool is not affiliated with, endorsed by, or connected to OpenAI. Use at your own risk.
If this project is helpful, consider starring the repository.
ETH: 0x4B28F1a3C5D7E9b0A6f24c8E1B3a5F7d9C0e25ad