छवियों और वीडियो से दृश्यमान और अदृश्य AI वॉटरमार्क तथा प्रोवेनेंस मेटाडेटा हटाएँ। SynthID, C2PA, EXIF, IPTC, XMP और सामान्य जनरेटिव-AI मार्क्स के लिए Python लाइब्रेरी और CLI।
आपके द्वारा स्वयं जनरेट की गई छवियों और वीडियो से AI प्रोवेनेंस चिह्न हटाएँ:
वीडियो समर्थन में प्रोवेनेंस पहचान, पूर्ण दृश्यमान-प्लस-मेटाडेटा सफाई, निर्देशिका बैच, दृश्यमान Sora, Veo, Seedance, Doubao, Dola, Hailuo AI, और Kling AI चिह्न हटाना, और वीडियो SynthID हटाने के लिए ओरेकल-प्रमाणित VAE रीजनरेशन शामिल है।
raiw.cc इस लाइब्रेरी को एक होस्टेड सेवा के रूप में चलाता है, जिसमें GPU शामिल है और कुछ भी इंस्टॉल करने की आवश्यकता नहीं है। 12 MP तक के Standard आउटपुट पर दृश्यमान चिह्न और मेटाडेटा हटाना वहाँ मुफ़्त है; 12 MP से ऊपर की मूल रिज़ॉल्यूशन और अदृश्य वॉटरमार्क हटाना सशुल्क है।
यह प्रोजेक्ट उस सामग्री पर कानूनी उपयोग के लिए है जिसके आप स्वामी हैं। यह स्टॉक एजेंसी प्रीव्यू या अन्य वॉटरमार्क को लक्षित नहीं करता जो तीसरे पक्ष की सशुल्क सामग्री की सुरक्षा करते हैं। दायरा, सुरक्षा, और कानूनी नोट देखें।
| लक्ष्य | कमांड | GPU |
|---|---|---|
| प्रोवेनेंस सिग्नल और वॉटरमार्क खोजें | identify | नहीं |
| पिक्सेल से फ़ोटोग्राफ़ वर्गीकृत करें (ऑप्ट-इन, प्रोवेनेंस नहीं) | classify | नहीं |
| आधिकारिक रिमोट API के साथ पिक्सेल से समर्थित OpenAI SynthID सत्यापित करें | verify-openai-synthid | नहीं |
| ज्ञात दृश्यमान AI चिह्न हटाएँ | visible | नहीं |
| आपके द्वारा चयनित क्षेत्र मिटाएँ | erase | नहीं |
| AI मेटाडेटा हटाएँ | metadata | नहीं |
| समर्थित वीडियो प्रोवेनेंस पहचानें | video identify | नहीं |
| वीडियो से दृश्यमान चिह्न और AI मेटाडेटा हटाएँ | video all | नहीं |
| वीडियो से AI मेटाडेटा हटाएँ | video metadata | नहीं |
| वीडियो से पंजीकृत दृश्यमान AI चिह्न हटाएँ | video visible | नहीं |
| वीडियो की निर्देशिका संसाधित करें | video batch | मोड पर निर्भर |
| प्रमाणित VAE प्रोफ़ाइल के साथ वीडियो SynthID हटाएँ | video invisible | अनुशंसित |
| अदृश्य वॉटरमार्क बाधित करने के लिए छवि पुनर्जनरेट करें | invisible | आवश्यक (CUDA) |
| दृश्यमान, अदृश्य, और मेटाडेटा हटाना चलाएँ | all | अनुशंसित |
| निर्देशिका संसाधित करें | batch | मोड पर निर्भर |
Microsoft Paint और Photos InvisMark घोषणाएँ स्वचालित रूप से
पिक्सेल रीजनरेशन पर भेजी जाती हैं। all कमांड छिपे हुए पिक्सेल वॉटरमार्क और
उसके लिंक किए गए C2PA मैनिफ़ेस्ट दोनों को हटाता है; अकेले मेटाडेटा स्ट्रिपिंग केवल मैनिफ़ेस्ट को हटाती है।
| आवश्यकता | इंस्टॉल |
|---|---|
| मेटाडेटा निरीक्षण और स्ट्रिपिंग | remove-ai-watermarks |
| फ़ोटोग्राफ़ AI-बनाम-कैमरा वर्गीकरण | remove-ai-watermarks[classify] |
| आधिकारिक रिमोट OpenAI SynthID सत्यापन | remove-ai-watermarks[verify] |
| दृश्यमान पहचान और हटाना | remove-ai-watermarks[visible] |
| दृश्यमान वीडियो प्रोसेसिंग | remove-ai-watermarks[video] |
| वीडियो SynthID हटाना | remove-ai-watermarks[video,diffusion] |
| Torch-मुक्त DWT-DCT पहचान | remove-ai-watermarks[detect] |
| अदृश्य छवि हटाना (CUDA आवश्यक) | remove-ai-watermarks[qwen-zimage] |
| सक्रिय Python पर उपलब्ध हर प्रोडक्शन सुविधा | remove-ai-watermarks[all] |
निम्न-स्तरीय और विशेष एक्स्ट्रा में pixels, heif, trustmark,
migan, lama, और diffusion शामिल हैं। इंस्टॉलेशन गाइड
उनकी सटीक निर्भरता संरचना, Python संगतता, और मॉडल आवश्यकताओं का दस्तावेज़ीकरण करता है।
मेटाडेटा-केंद्रित डिफ़ॉल्ट CLI इंस्टॉल करें:```bash uv tool install remove-ai-watermarks
छवि का निरीक्षण करें:```bash
remove-ai-watermarks identify image.png
फोटो को पिक्सेल से वर्गीकृत करने के लिए (AI बनाम कैमरा, वैकल्पिक प्रदाता),
एक्स्ट्रा इंस्टॉल करें और classify को कॉल करें। identify इसे कभी शुरू नहीं करता:```bash
uv tool install --force "remove-ai-watermarks[classify]"
remove-ai-watermarks classify image.png
गाइड: [फोटो पिक्सेल वर्गीकरण](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/photo-classify.md)।
हस्ताक्षरित प्रोवेनेंस SynthID के लिए समर्थित मार्ग है और `identify` इसे पढ़ता है।
पैकेज में कोई स्थानीय SynthID पिक्सेल डिटेक्टर नहीं है। आवधिक
लैटिस विशेषज्ञ पर शोध `scripts/synthid_runtime/` और
[synthid-detector-research.md](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/synthid-detector-research.md) में है।
समर्थित OpenAI छवियों के लिए, वैकल्पिक आधिकारिक वेरिफायर पिक्सेल
वॉटरमार्क निर्णय प्रदान करता है:```bash
uv tool install --force "remove-ai-watermarks[verify]"
remove-ai-watermarks verify-openai-synthid image.png --acknowledge-upload
कमांड एक अस्थायी प्रति से AI प्रोवेनेंस मेटाडेटा हटाता है, सत्यापित करता है कि
डिकोड किए गए पिक्सेल अपरिवर्तित हैं, केवल उस प्रति को OpenAI पर अपलोड करता है, और
केवल स्वतंत्र SynthID प्रतिक्रिया का उपभोग करता है। यह identify से कभी भी निहित रूप से नहीं चलता है।
API कुंजी, एंडपॉइंट एक्सेस, और स्पष्ट अपलोड स्वीकृति आवश्यक हैं।
दृश्य वॉटरमार्क हटाने के लिए, पिक्सेल निर्भरताएँ स्थापित करें:```bash uv tool install --force "remove-ai-watermarks[visible]"
फिर एक ज्ञात दृश्यमान निशान और AI मेटाडेटा हटाएँ:```bash
remove-ai-watermarks visible image.png -o clean.png
स्ट्रिप मेटाडेटा बिना दृश्यमान इनपेंटिंग या डिफ्यूज़न चलाए:```bash remove-ai-watermarks metadata image.png --remove -o clean.png
बिना `-o` के यह कमांड स्रोत फ़ाइल को उसी स्थान पर अधिलेखित (overwrite) कर देता है।
किसी MP4, MOV, M4V, WebM, MKV, AVI, या FLV फ़ाइल से AI मेटाडेटा का निरीक्षण करें या हटाएँ:```bash
remove-ai-watermarks video metadata input.mp4 --check
remove-ai-watermarks video metadata input.mp4 --remove -o clean.mp4
video metadata कमांड वीडियो या ऑडियो स्ट्रीम को ट्रांसकोड नहीं करता है। ऊपर दिए गए
इमेज कमांड के विपरीत, जब -o छोड़ दिया जाता है तो यह <source>_clean लिखता है और
मूल फ़ाइल को संरक्षित रखता है। MP4 और MOV
निरीक्षण में मूल TC260 AIGC टैग शामिल होता है
moov.udta.meta.keys/ilst में, जिसमें मीडिया पेलोड के बाद रखा गया moov भी शामिल है,
साथ ही QuickTime-फ़ॉर्म meta वेरिएंट जो Doubao का iOS एक्सपोर्ट लिखता है (एक बेयर
meta बॉक्स जो सीधे moov का चाइल्ड है, और एक कीलेस hdlr=mdir मेटाडेटा सूची)।
MKV और WebM निरीक्षण मानक
Segment.Tags.Tag.SimpleTag प्लेसमेंट पढ़ता है। AVI LIST/INFO/AIGC का उपयोग करता है, जबकि FLV
script.onMetaData.AIGC का उपयोग करता है। गैर-ISOBMFF फ़ॉर्मेट को हटाने के लिए स्ट्रीम
कॉपी के साथ रीमक्स किया जाता है।
किसी फ़ाइल की पहचान या सफाई के लिए उत्पाद-उन्मुख वीडियो पथ का उपयोग करें:```bash 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` एक स्थिर पंजीकृत दृश्यमान चिह्न को हटा देता है जब वह मौजूद हो और हमेशा
सत्यापित AI मेटाडेटा को हटा देता है। यदि कोई भी संकेत नहीं मिलता है, तब भी यह एक
समान-कंटेनर पासथ्रू लिखता है, ताकि एप्लिकेशन कॉलर्स को एक पूर्वानुमानित आउटपुट
अनुबंध मिले। मालिकाना अदृश्य-वीडियो हटाना डिफ़ॉल्ट रूप से बाहर रखा गया है।
`--invisible` हानिपूर्ण, ओरेकल-प्रमाणित वीडियो SynthID प्रोफ़ाइल का विकल्प चुनता है।
समान अनुबंध के साथ एक निर्देशिका संसाधित करें:```bash
remove-ai-watermarks video batch ./videos --mode all
समर्थित दृश्य वीडियो मार्क को हटाएँ:```bash 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
यह पाथ पिक्सेल बदलने से पहले पूरे अनुक्रम को स्कैन करता है। यह केवल उस
मार्क को स्वीकार करता है जो आसन्न फ्रेम्स में एक स्थिर स्थिति पर दोहराता है, फिर
छवि हटाने के समान OpenCV, MI-GAN, या LaMa फिल बैकएंड्स का पुनः उपयोग करता है। ऑडियो को
बिना पुनः-एन्कोडिंग के कॉपी किया जाता है और उसे अपने प्राकृतिक अंत तक पहुँचने दिया जाता है; वीडियो स्ट्रीम
को ट्रांसकोड किया जाता है क्योंकि इसके पिक्सेल बदलते हैं। डिफ़ॉल्ट रूप से, एक संरक्षित ऑप्टिकल-फ्लो
पास पिछले स्वीकृत फिल को मोशन-अलाइन करता है और उसे केवल तभी ब्लेंड करता है जब
आस-पास का स्रोत संदर्भ सहमत होता है; इसे अक्षम करने के लिए `--no-temporal-consistency` का उपयोग करें।
एन्कोडर समर्थित
8-बिट स्रोत क्रोमा सैंपलिंग, कलर टैग्स, और MP4/MOV ट्रैक टाइमस्केल को संरक्षित करता है
ffmpeg के अंतर्निहित रॉ-BGR डिफ़ॉल्ट पर निर्भर करने के बजाय। परिवर्तनीय फ्रेम अंतराल को
औसत फ्रेम दर पर समतल करने के बजाय एक टाइमस्टैम्प्ड इन-मेमोरी NUT ब्रिज के माध्यम से संरक्षित किया जाता है। गैर-शून्य स्रोत प्रारंभ टाइमस्टैम्प को
कॉपी किए गए ऑडियो ऑफसेट के साथ बनाए रखा जाता है। डिफ़ॉल्ट `--mark auto`
एक ही डिकोड पास में सभी प्रोवाइडर्स को स्कैन करता है और नीचे दिखाए गए
विशिष्टता क्रम में पहला स्थिर मिलान चुनता है। डिटेक्शन को एक प्रोवाइडर तक सीमित करने के लिए एक स्पष्ट मार्क पास करें।
Sora गतिशील Sora 2 मैस्कॉट और वर्डमार्क को कवर करता है। Veo वर्तमान
चार-बिंदु डायमंड और पुराने `Veo` टेक्स्ट दोनों को कवर करता है। Seedance निश्चित बॉक्स्ड
`AI` लेबल को कवर करता है, Dola निश्चित `Dola AI` टेक्स्ट को कवर करता है, Hailuo AI समग्र
`MINIMAX | hailuo AI` लेबल को कवर करता है, और Kling AI नीचे-दाएँ `KLING AI`
लेबल को उसके संस्करण प्रत्यय के साथ कवर करता है। एक पूर्ण एन्कोड परमाणु रूप से प्रकाशित किया जाता है। जब
कोई स्थिर मार्क नहीं मिलता है तो कोई आउटपुट नहीं लिखा जाता है।
HDR, PQ/HLG, और 8-बिट से अधिक इनपुट को एन्कोडिंग से पहले अस्वीकार कर दिया जाता है, न कि
OpenCV की 8-बिट BGR सीमा के माध्यम से चुपचाप घटाया जाता है।
वीडियो SynthID हटाएँ:```bash
uv tool install --force "remove-ai-watermarks[video,diffusion]"
remove-ai-watermarks video invisible input.mp4 -o clean.mp4
यह पथ समय के साथ साझा किए गए एक लेटेंट-नॉइज़ फ़ील्ड के साथ पूर्ण अनुक्रम को पुनर्जीवित करता है, पूर्ण ऑडियो की प्रतिलिपि बनाता है, स्रोत मेटाडेटा हटाता है, और पूर्ण एनकोड को परमाणु रूप से प्रकाशित करता है। डिफ़ॉल्ट noise_std=0.15 प्रोफ़ाइल ने दो-वाहक कैलिब्रेशन और एक पूर्ण सार्वजनिक आठ-सेकंड Veo ओरेकल जांच दोनों को पारित किया। Google एक स्थानीय डिकोडर प्रकाशित नहीं करता है, इसलिए असामान्य रूप से महत्वपूर्ण फ़ाइलों या प्रदाता परिवर्तनों के बाद एक नई प्रदाता जांच उपयोगी बनी रहती है, लेकिन यह उत्पाद परिणाम स्थिति नहीं है।
अदृश्य वॉटरमार्क हटाने के लिए, qwen-zimage एक्स्ट्रा इंस्टॉल करें। एक NVIDIA GPU आवश्यक है: सभी प्रोफ़ाइल केवल CUDA-आधारित हैं, और कोई CPU या MPS फ़ॉलबैक नहीं है।```bash
uv tool install --force "remove-ai-watermarks[qwen-zimage]"
remove-ai-watermarks invisible image.png -o clean.png
यदि स्थानीय डिटेक्टर किसी अदृश्य वॉटरमार्क की पुष्टि नहीं कर पाते हैं, लेकिन आप जानते हैं कि
छवि किसी AI जनरेटर से आई है, तो `--force` जोड़ें:```bash
remove-ai-watermarks invisible image.png -o clean.png --force
टाइपोग्राफी-भारी छवियाँ प्रयोगात्मक सत्यापित-पाठ पोस्ट-पास में शामिल हो सकती हैं।
यह मैन्युअल रूप से समीक्षित स्ट्रिंग्स और लाइन बॉक्स या एक ऑपरेटर-सत्यापित
ज्यामिति-केवल मैनिफेस्ट स्वीकार करता है; यह कच्चे OCR आउटपुट को कभी भी ग्राउंड ट्रुथ नहीं मानता या स्वचालित रूप से नहीं चलाता:```bash
uv tool install --force "remove-ai-watermarks[text-restoration]"
remove-ai-watermarks invisible image.png -o clean.png
--text-manifest verified-lines.json --force
[CLI गाइड](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/cli.md#restore-operator-verified-text) देखें मैनिफेस्ट
स्कीमा, संगतता प्रतिबंध, और ओरेकल चेतावनियों के लिए।
[इंस्टॉलेशन गाइड](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/installation.md) देखें Homebrew, uv, वैकल्पिक
सुविधाओं, और विकास सेटअप के लिए।
## उदाहरण
### दृश्यमान Gemini मार्क
| पहले | बाद में |
| --- | --- |
|  |  |
`after` रास्टर ट्रैक किए गए `before` रास्टर से सार्वजनिक पथ द्वारा उत्पन्न होता है:```bash
uv run remove-ai-watermarks visible demo_banana_before.png \
--backend cv2 -o demo_banana_after.png
qwen-zimage डिफ़ॉल्ट प्रोफ़ाइल है: Canny ControlNet के अंतर्गत एक Qwen-Image-2512 Lightning पास, उसके बाद किसी भी पहचाने गए चेहरे की SAM-मास्क्ड Z-Image मरम्मत। वैकल्पिक, sdxl-zimage, वैश्विक चरण के लिए SDXL का उपयोग करता है और समान चेहरे वाला चरण बनाए रखता है। एक तीसरी प्रोफ़ाइल, chroma-zimage, अपने स्वयं के फ्लैट विक्रेता फ़्लोर के साथ Apache-2.0 Chroma1 वैश्विक पास का उपयोग करती है; अंशांकन के लिए docs/chroma1-engine-research.md देखें। --pipeline auto OpenAI और Microsoft प्रोवेनेंस के लिए chroma-zimage और अन्यथा qwen-zimage चुनता है। सभी केवल CUDA हैं।```bash
uv tool install --force "remove-ai-watermarks[qwen-zimage]"
remove-ai-watermarks invisible image.png -o clean.png --force
| OpenAI उदाहरण पहले | OpenAI उदाहरण बाद में |
| --- | --- |
| [](data/synthid/originals/ChatGPT%20Image%20May%2030,%202026,%2010_31_08%20AM.png) | [](docs/images/qwen-zimage/ChatGPT/ChatGPT%20Image%20May%2030,%202026,%2010_31_08%20AM_full_clean.png) |
| Gemini उदाहरण पहले | Gemini उदाहरण बाद में |
| --- | --- |
| [](data/synthid/originals/Gemini_Generated_Image_633uuy633uuy633u.png) | [](docs/images/qwen-zimage/Gemini/Gemini_Generated_Image_633uuy633uuy633u_full_clean.png) |
इन सटीक आउटपुट फ़ाइलों की जाँच संबंधित प्रदाता सत्यापनकर्ताओं के साथ की गई थी। यह
परिणाम इन फ़ाइलों पर लागू होता है, हर सीड, छवि, या भविष्य के वॉटरमार्क
संस्करण पर नहीं।
## सामान्य रेसिपी
### हर पहचाने गए दृश्यमान निशान को हटाएँ```bash
remove-ai-watermarks visible image.png -o clean.png
--mark auto का डिफ़ॉल्ट व्यवहार सभी पंजीकृत दृश्यमान मार्कों की जाँच करता है और हर
मिलान को हटा देता है। यदि मार्क आपको दिखाई देता है लेकिन डिटेक्टर उसे पहचान नहीं पाता, तो उसके
क्षेत्र को स्पष्ट रूप से चुनें:```bash
remove-ai-watermarks erase image.png
--region 1640,1930,400,100
-o clean.png
`--region` `x,y,width,height` प्रारूप का उपयोग करता है और इसे दोहराया जा सकता है।
### सीखा हुआ फिल बैकएंड उपयोग करें
`visible` एक्स्ट्रा OpenCV इनपेंटिंग का उपयोग करता है जब कोई सीखा हुआ बैकएंड स्थापित नहीं होता है।
अधिक कठिन बैकग्राउंड के लिए, सीखे-हुए-बैकएंड एक्स्ट्रा में समान
पिक्सेल निर्भरताएँ स्वचालित रूप से शामिल होती हैं:```bash
uv tool install --force "remove-ai-watermarks[migan]"
remove-ai-watermarks visible image.png -o clean.png --backend migan
यह एक विशेषज्ञ साइबर सुरक्षा उपकरण सामग्री अनुवादक है जो Kitploit के लिए है। आपका एकमात्र कार्य Markdown सामग्री का एक भाषा से दूसरी भाषा में सटीक, मुहावरेदार और संक्षिप्त अनुवाद करना है।
महत्वपूर्ण नियम:
- केवल प्राकृतिक भाषा पाठ का अनुवाद करें। कभी भी अनुवाद न करें: कोड, टर्मिनल कमांड, फ़ाइल पथ, URL, पैकेज नाम, CVE ID, पर्यावरण चर नाम, पहचानकर्ता।
- सभी Markdown संरचना को बरकरार रखें: शीर्षक, सूचियाँ, नेस्टेड सूचियाँ, तालिकाएँ (संरेखण सहित), लिंक, चित्र, इनलाइन कोड, कोड फ़ेंस, ब्लॉककोट, HTML ब्लॉक और क्षैतिज नियम।
- सटीक स्वरूपण बनाए रखें: व्हाइटस्पेस, नई पंक्तियाँ, इंडेंटेशन, तालिका स्तंभ संख्या और संरेखण मार्कर।
- बैज, शील्ड और स्थिति छवियों को बिल्कुल वैसे ही बनाए रखें जैसे वे दिखाई देते हैं।
- कभी भी ऐसा विराम चिह्न न जोड़ें, हटाएँ या संशोधित न करें जो कोड व्यवहार को बदल सकता है।
- केवल अनुवादित पाठ लौटाएँ। कोई प्रस्तावना नहीं, कोई "यहाँ अनुवाद है" नहीं, कोई "ज़रूर!" नहीं, कोई स्पष्टीकरण नहीं, कोई टिप्पणी नहीं, कोई मेटा-टेक्स्ट नहीं।
- अपने उत्तर को कभी भी मार्कडाउन कोड ब्लॉक में न लपेटें।
- कभी भी JSON, YAML, XML, सरणियाँ, ऑब्जेक्ट, कुंजी/मान रैपर, स्कीमा, या "translated", "language", "markdown", "content", या "result" जैसे फ़ील्ड आउटपुट न करें।
- आपका उत्तर केवल कच्ची Markdown/सादा पाठ सामग्री होनी चाहिए। यदि स्रोत में कोड फ़ेंस के अंदर JSON/YAML/XML उदाहरण हैं, तो उन उदाहरणों को Markdown के भाग के रूप में शब्दशः संरक्षित करें; पूरे उत्तर को संरचित ऑब्जेक्ट में न बदलें।
- प्रश्न न पूछें। बातचीत में शामिल न हों।
- यदि आप किसी तकनीकी शब्द का सुरक्षित रूप से अनुवाद नहीं कर सकते हैं, तो उसे अनुवादित छोड़ देने के बजाय अपरिवर्तित छोड़ दें, बजाय इसे तोड़ने के जोखिम के।
निम्नलिखित Kitploit उपकरण सामग्री का अनुवाद करें।
यह एक लंबे Markdown दस्तावेज़ का भाग 41/55 है जिसका क्रम में अनुवाद किया जा रहा है।
स्रोत भाषा: en है।
लक्ष्य भाषा: hi है।
सामग्री प्रकार: README भाग 41/55।
भाग-विशिष्ट नियम:
1. केवल प्राकृतिक भाषा पाठ का अनुवाद करें। कभी भी अनुवाद न करें: कोड ब्लॉक, शेल कमांड, फ़ाइल पथ, URL, पैकेज नाम, तकनीकी पहचानकर्ता, CVE ID, पर्यावरण चर नाम।
2. सभी Markdown सिंटैक्स को बिल्कुल वैसे ही बनाए रखें।
3. "## भाग N", "## भाग N", "## पिछले से जारी..." या "## भाग का अनुवाद..." जैसे परिचयात्मक शीर्षक न जोड़ें। "भाग N का अंत" या "सामग्री जारी है..." मार्कर न जोड़ें।
4. लोप को इंगित करने के लिए "..." इलिप्सिस मार्कर न जोड़ें। केवल प्रदान किए गए सटीक पाठ का अनुवाद करें, संरचना में वर्ण-दर-वर्ण।
5. भाग सीमाएँ जानबूझकर हैं। संरचना को संरक्षित करें ताकि भागों को बिना दृश्य कलाकृतियों के निर्बाध रूप से जोड़ा जा सके।
6. केवल अनुवादित पाठ लौटाएँ। कोई प्रस्तावना नहीं, कोई टिप्पणी नहीं, कोड ब्लॉक में लपेटना नहीं, कोई JSON/YAML/XML नहीं, कोई सरणियाँ नहीं, कोई ऑब्जेक्ट नहीं, कोई स्कीमा नहीं, कोई कुंजी/मान रैपर नहीं।
7. यदि भाग पैराग्राफ के बीच से शुरू होता है, तो उस बिंदु से अनुवाद जारी रखें। जब तक कि स्रोत में मौजूद न हो, अग्रणी नई पंक्ति या इंडेंट न जोड़ें।
इनपुट:
``````bash
uv tool install --force "remove-ai-watermarks[lama]"
remove-ai-watermarks visible image.png -o clean.png --backend lama
remove-ai-watermarks invisible image.png -o clean.png
--cpu-offload --force
CPU ऑफलोड मॉडल घटकों को CPU और GPU के बीच स्थानांतरित करके CUDA मेमोरी दबाव को कम करता है, जिसकी कीमत गति के रूप में चुकानी पड़ती है।
### एक निर्देशिका को प्रोसेस करें```bash
remove-ai-watermarks batch ./images --mode visible
remove-ai-watermarks batch ./images --mode all
दृश्यमान मार्क समर्थन में शामिल हैं:
AI生成 पिल, Qwen, Kling AI,
Yuanbao, Baidu, LiblibAI, और RunningHub लेबल;मेटाडेटा और प्रोवेनेंस निरीक्षण C2PA, EXIF, XMP, IPTC, सामान्य जनरेटर पैरामीटर, China TC260 AIGC लेबल, और कई विक्रेता-विशिष्ट सिग्नल को कवर करता है। वैकल्पिक डिकोडर ओपन DWT-DCT वॉटरमार्क और Adobe TrustMark के लिए समर्थन जोड़ते हैं।
सटीक समर्थन मैट्रिक्स, जिसमें महत्वपूर्ण लोकेल और डिटेक्टर सीमाएँ शामिल हैं, supported signals में उपलब्ध है। synthetic example gallery में प्रत्येक पंजीकृत छवि और वीडियो मार्क के लिए एक कैनोनिकल नमूना है।
दृश्यमान हटाना तीन चरणों में होता है:
मेटाडेटा हटाना फॉर्मेट-जागरूक स्ट्रिपिंग का उपयोग करता है। JPEG मेटाडेटा हटाना एन्कोडेड इमेज स्कैन को पुनः संपीड़ित करने के बजाय संरक्षित करता है। नेटिव MP4/MOV TC260 मान बॉक्स आकार या मीडिया ऑफसेट बदले बिना खाली किए जाते हैं। अन्य समर्थित कंटेनर अपने संबंधित मेटाडेटा पथ का उपयोग करते हैं।
अदृश्य हटाना अलग है। यह पिक्सेल और फ़्रीक्वेंसी डोमेन वॉटरमार्क को बाधित करने के लिए एक डिफ्यूज़न पाइपलाइन के माध्यम से छवि को पुनः उत्पन्न करता है। यह छवि को बदलता है और गारंटी नहीं दे सकता कि एक मालिकाना वेरिफायर हर आउटपुट को अस्वीकार करेगा।
पूर्ण तकनीकी सीमा के लिए supported signals और known limitations देखें।
दृश्यमान-हटाने वाला API remove-ai-watermarks[visible] की आवश्यकता रखता है।```python
import remove_ai_watermarks as raiw
result, removed = raiw.remove_visible("watermarked.png", "clean.png") print(removed)
openai_synthid = raiw.verify_openai_synthid("image.png", acknowledge_upload=True) print(openai_synthid.status)
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")
उच्च-स्तरीय API एक फ़ाइल पथ या BGR NumPy सरणी स्वीकार करता है। पथ इनपुट के लिए यह
प्रोवेनेंस मेटाडेटा भी पढ़ता है, अल्फा को संरक्षित करता है, और लिखे गए परिणाम से AI मेटाडेटा हटा सकता है।
दृश्य हटाने, पूर्ण `remove_all` और `remove_batch` पाइपलाइन, प्रोवेनेंस निरीक्षण, मेटाडेटा
स्ट्रिपिंग, और डिफ्यूज़न उपयोग के लिए [Python API गाइड](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/python-api.md) देखें।
## ComfyUI
अलग
[ComfyUI Remove AI Watermarks](https://github.com/wiltodelta/ComfyUI-remove-ai-watermarks)
पैकेज दृश्य हटाने, पहचान, क्षेत्र मिटाने, और अदृश्य हटाने के लिए नोड्स प्रदान करता है।
## महत्वपूर्ण सीमाएँ
- लापता स्थानीय सिग्नल का मतलब अज्ञात है, साफ़ नहीं। मेटाडेटा हटाए जाने के बाद भी मालिकाना पिक्सेल
वॉटरमार्क बने रह सकते हैं।
- दृश्य हटाना एक छोटे क्षेत्र का पुनर्निर्माण करता है। परिणाम पृष्ठभूमि और चयनित फिल बैकएंड पर निर्भर करते हैं।
- अदृश्य हटाना पूरी छवि बदल देता है और चेहरे, टेक्स्ट, या बारीक विवरण को बदल सकता है।
- दृश्य वीडियो हटाना गतिशील Sora 2 वर्डमार्क, वर्तमान Veo डायमंड के साथ-साथ पुराने `Veo` टेक्स्ट, Seedance बॉक्स्ड `AI` लेबल, और निश्चित Doubao, Dola, Hailuo AI, और Kling AI लेबल को पहचानता है। यह पुराने Sora Turbo
कोने के स्विरल या उन प्रदाताओं के अपंजीकृत लेआउट को नहीं पहचानता।
शास्त्रीय OpenCV बैकएंड संरचित पृष्ठभूमि को धुंधला कर सकता है; जब पुनर्प्राप्ति गुणवत्ता मायने रखती है तो MI-GAN या
LaMa का उपयोग करें।
- वीडियो SynthID पुनर्जनन रिज़ॉल्यूशन, फ्रेम दर, और छवि विवरण बदल देता है।
शिप किया गया प्रोफ़ाइल ओरेकल-प्रमाणित है, लेकिन कोई सार्वजनिक स्थानीय डिकोडर रनटाइम पर मनमाने आउटपुट को प्रमाणित नहीं कर सकता।
प्रदाता परिवर्तनों के बाद असामान्य रूप से महत्वपूर्ण आउटपुट की दोबारा जाँच करें।
- अदृश्य-वॉटरमार्क हटाने के लिए CUDA आवश्यक है। सभी प्रोफ़ाइल निर्माण के समय किसी अन्य डिवाइस को अस्वीकार कर देते हैं, बजाय ऐसे डिवाइस पर फ़ॉलबैक करने के जो उन्हें चला नहीं सकता।
दृश्य हटाना, मेटाडेटा स्ट्रिपिंग और `identify` अभी भी कहीं भी चलते हैं।
- प्रदाता वॉटरमार्क सिस्टम बदल सकते हैं। जब उपलब्ध हो तो प्रदाता के अपने वेरिफायर से महत्वपूर्ण आउटपुट सत्यापित करें।
शिप किया गया `video invisible` कमांड प्रमाणित `noise_std=0.15` प्रोफ़ाइल का उपयोग करता है। साथी `scripts/video_synthid_sweep.py` शोध हार्नेस
एक मिलान किया गया री-एनकोड नियंत्रण और VAE-पुनर्जनित उम्मीदवार बनाता है और वेरिफायर का फैसला खाली छोड़ देता है:```bash
uv run --extra video --extra diffusion python scripts/video_synthid_sweep.py input.mp4 -o sweep/
स्कोर करने के लिए कि किसी आउटपुट की वास्तविक लागत क्या थी, scripts/video_fidelity_probe.py का उपयोग करें:
इंजन का अपना PSNR resize और encode से पहले मापा जाता है, इसलिए केवल
probe ही डिलीवर की गई तस्वीर देखता है।```bash
uv run --extra video python scripts/video_fidelity_probe.py input.mp4 input_clean.mp4
नियंत्रण किसी नकारात्मक उम्मीदवार को हटाने के साक्ष्य के रूप में गिने जाने से पहले SynthID-पॉज़िटिव होना चाहिए। 2026-07-29 के दो-क्लिप अंशांकन में, दोनों मिलान किए गए नियंत्रण Gemini के अंतर्निहित SynthID सत्यापनकर्ता में पॉज़िटिव थे; मजबूत उम्मीदवार दोनों वाहकों पर नकारात्मक था, जबकि एक कमजोर उम्मीदवार एक पर नकारात्मक था। बाद में एक प्रतिकूल अनुवर्ती जिसने सामान्य Gemini से पिक्सेल परिणाम की पुनर्व्याख्या करने को कहा, उसने `UNAVAILABLE` लौटाया; वह अनुवर्ती सत्यापनकर्ता का पुनः-चलन नहीं था और अंतर्निहित फैसलों को अमान्य नहीं करता। 2026-07-31 की एक सार्वजनिक आठ-सेकंड Veo नमूने पर पूर्ण-क्लिप जांच में `0.10` अभी भी पता चला और `0.15` पता नहीं चला, इसलिए `0.15` अब प्रमाणित डिफ़ॉल्ट है। उस पूर्ण-क्लिप जांच के लिए प्रतिलिपि योग्य हैश और फैसले -- एक वाहक, दो पंक्तियाँ -- `data/evaluations/video-synthid-oracle.csv` में रहते हैं। पहले का दो-क्लिप अंशांकन केवल वर्णनात्मक है: इसके फैसले ट्रैक किए गए मैनिफेस्ट में दर्ज नहीं किए गए थे, इसलिए प्रमाणित डिफ़ॉल्ट को 2026-07-31 की पंक्तियों पर आधारित मानें।
## दस्तावेज़ीकरण
[दस्तावेज़ीकरण सूचकांक](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/index.md) से शुरू करें।
- [स्थापना](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/installation.md)
- [CLI मार्गदर्शिका](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/cli.md)
- [Python API](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/python-api.md)
- [समर्थित सिग्नल](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/supported-signals.md)
- [ज्ञात सीमाएँ](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/known-limitations.md)
- [दायरा, सुरक्षा और कानूनी नोट](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/legal-and-safety.md)
- [मॉड्यूल आंतरिक](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/module-internals.md)
- [रिलीज़ और वितरण](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/release-and-distribution.md)
शोध नोट और ऐतिहासिक प्रयोग [दस्तावेज़ीकरण सूचकांक](https://github.com/wiltodelta/remove-ai-watermarks/blob/main/docs/index.md) में अलग से सूचीबद्ध हैं। वे पिछले निर्णयों की व्याख्या करते हैं लेकिन वर्तमान सार्वजनिक API को परिभाषित नहीं करते।
## योगदान
विकास वातावरण स्थापित करें और प्रोजेक्ट गेट चलाएँ:```bash
uv sync --frozen --extra dev
bash maintain.sh
मॉड्यूल आंतरिक विवरण देखें, इससे पहले कि आप प्रलेखित अपरिवर्तनीयताओं (invariants) वाले किसी उपतंत्र को बदलें।
Apache 2.0। कॉपीराइट 2025-2026 wiltodelta।