NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name AI-Powered Old Photo Restoration - Bring Your Memories Back to Life // @name:es Restauración de Fotos Antiguas con IA - Revive Tus Recuerdos // @name:de KI-basierte Alte Foto Restaurierung - Erwecken Sie Ihre Erinnerungen zum Leben // @name:fr Restauration de Photos Anciennes par IA - Redonnez Vie à Vos Souvenirs // @name:it Restauro di Foto Antiche con IA - Riporta in Vita i Tuoi Ricordi // @name:pt Restauração de Fotos Antigas com IA - Reviva Suas Memórias // @name:ru Восстановление Старых Фото на базе ИИ - Оживите Ваши Воспоминания // @name:ja AIで古い写真を修復 - 思い出を蘇らせる // @name:ko 인공지능 기반 구형 사진 복원 - 추억을 되살리세요 // @name:ar استعادة الصور القديمة بالذكاء الاصطناعي - إعادة الحياة لذكرياتك // @name:tr Yapay Zeka Destekli Eski Fotoğraf Restorasyonu - Anılarınızı Hayata Döndürün // @name:nl AI-Gestuurde Restauratie van Oude Foto's - Breng Uw Herinneringen Weer tot Leven // @name:sv AI-drivet Återställande av Gamla Foton - Återuppliva Dina Minnen // @name:da AI-drevet Restaurering af Gamle Fotos - Bring Dine Minder Tilbage til Livet // @name:zh 人工智能老照片修复 - 重温珍贵回忆 // @name:zh-TW 人工智慧老照片修復 - 重溫珍貴回憶 // @description Effortlessly restore the glory of your old photographs with our AI technology. Experience high-definition clarity and reclaim the vivid past in your portraits. // @description:es Restaura sin esfuerzo la gloria de tus fotografías antiguas con nuestra tecnología IA. Experimenta la claridad en alta definición y recupera el pasado vívido en tus retratos. // @description:de Stellen Sie den alten Glanz Ihrer Fotografien mühelos mit unserer KI-Technologie wieder her. Erleben Sie hochauflösende Klarheit und bringen Sie die lebendige Vergangenheit in Ihren Porträts zurück. // @description:fr Restaurez sans effort la gloire de vos vieilles photos grâce à notre technologie IA. Vivez une clarté haute définition et réclamez le passé vibrant dans vos portraits. // @description:it Ripristina senza sforzo la gloria delle tue vecchie fotografie con la nostra tecnologia IA. Vivi la chiarezza in alta definizione e rivendica il passato vivido nei tuoi ritratti. // @description:pt Restaure com facilidade a glória das suas fotografias antigas com a nossa tecnologia de IA. Experimente a clareza em alta definição e recupere o passado vívido nos seus retratos. // @description:ru Без труда восстановите прежнюю красоту ваших старых фотографий с помощью нашей технологии ИИ. Опыт высокой четкости и возвращение к яркому прошлому в портретах. // @description:ja 私たちのAI技術で手軽に古い写真の栄光を復元します。ハイデフィニションな明瞭さを体験し、ポートレートで鮮やかな過去を取り戻しましょう。 // @description:ko 우리의 AI 기술로 고화질로 당신의 옛 사진의 영광을 쉽게 복원하세요. 초고해상도의 선명함을 경험하고 당신의 초상에서 생생한 과거를 되찾으세요. // @description:ar استعِد بسهولة مجد الصور القديمة مع تقنية الذكاء الاصطناعي لدينا. تجربة الوضوح عالي الدقة واستعادة الماضي الحيوي في صورك. // @description:tr Yapay zekamızla eski fotoğraflarınızın ihtişamını kolayca geri getirin. Yüksek çözünürlüklü netliği deneyimleyin ve portrelerinizdeki canlı geçmişi yeniden kazanın. // @description:nl Herstel moeiteloos de glorie van uw oude foto's met onze AI-technologie. Ervaar hoogwaardige helderheid en herclaim het levendige verleden in uw portretten. // @description:sv Återställ enkelt dina gamla fotografiers forna glans med vår AI-teknik. Upplev högupplöst klarhet och återta det levande förflutna i dina porträtt. // @description:da Genskab nemt dine gamle fotografiers storhed med vores AI-teknologi. Oplev højdefinitions klarhed og genvind det levende fortid i dine portrætter. // @description:zh 用我们的人工智能技术轻松恢复老照片的荣耀。体验高清晰度,并在您的肖像中重现生动的过去。 // @description:zh-TW 使用我們的人工智慧技術輕鬆恢復舊照片的榮光。體驗高清晰度,並在您的肖像中重新展現生動的過去。 // @namespace http://gpicy.com // @author gpicy // @version 1.3.5 // @match *://*/* // @supportURL https://gpicy.com/en-US/portrait-restoration?utm_source=openuserjs // @grant none // @run-at document-start // @license Apache-2.0 // ==/UserScript== (function() { const floatingMenu = document.createElement('div'); floatingMenu.style.cssText = ` position: fixed; left: 0; top: 50%; transform: translateY(-50%); background: linear-gradient(135deg, rgba(132, 16, 145, 0.45), rgba(222, 0, 114, 0.45)); padding: 10px; border-radius: 0 5px 5px 0; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); z-index: 10000; `; const closeButton = document.createElement('div'); closeButton.innerHTML = `×`; // "×" symbol closeButton.style.cssText = ` position: absolute; top: 0; right: 0; width: 30px; height: 30px; margin-right: -10px; margin-top: -10px; border-radius: 15px; /* Makes it round */ background-color: #FFF; color: #000; text-align: center; line-height: 30px; cursor: pointer; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); `; closeButton.onclick = function() { document.body.removeChild(floatingMenu); }; const menuTranslations = { 'en': { 'Image OCR': '🖼️ Image OCR', 'PDF OCR': '📄 PDF OCR', 'Lossless Image Enlarge': '🔍 Lossless Image Enlarge', 'Background Removal': '🚫 Background Removal', 'Object Removal': '🧹 Object Removal', 'Photo Colorization': '🎨 Photo Colorization', 'Portrait Restoration': '👥 Portrait Restoration' }, 'fr': { // French 'Image OCR': '🖼️ OCR d\'Image', 'PDF OCR': '📄 OCR de PDF', 'Lossless Image Enlarge': '🔍 Agrandissement d\'Image Sans Perte', 'Background Removal': '🚫 Suppression de l\'Arrière-plan', 'Object Removal': '🧹 Retrait d\'Objet', 'Photo Colorization': '🎨 Colorisation de Photo', 'Portrait Restoration': '👥 Restauration de Portrait' }, 'de': { // German 'Image OCR': '🖼️ Bild OCR', 'PDF OCR': '📄 PDF OCR', 'Lossless Image Enlarge': '🔍 Verlustfreie Bildvergrößerung', 'Background Removal': '🚫 Hintergrund Entfernen', 'Object Removal': '🧹 Objektentfernung', 'Photo Colorization': '🎨 Fotokolorierung', 'Portrait Restoration': '👥 Porträtrestaurierung' }, 'es': { // Spanish 'Image OCR': '🖼️ OCR de Imagen', 'PDF OCR': '📄 OCR de PDF', 'Lossless Image Enlarge': '🔍 Ampliación de Imagen Sin Pérdida', 'Background Removal': '🚫 Eliminación de Fondo', 'Object Removal': '🧹 Eliminación de Objeto', 'Photo Colorization': '🎨 Colorización de Fotos', 'Portrait Restoration': '👥 Restauración de Retrato' }, 'it': { // Italian 'Image OCR': '🖼️ OCR Immagine', 'PDF OCR': '📄 OCR PDF', 'Lossless Image Enlarge': '🔍 Ingrandimento Immagine Senza Perdite', 'Background Removal': '🚫 Rimozione dello Sfondo', 'Object Removal': '🧹 Rimozione Oggetto', 'Photo Colorization': '🎨 Colorazione Foto', 'Portrait Restoration': '👥 Restauro Ritratto' }, 'pt': { // Portuguese 'Image OCR': '🖼️ OCR de Imagem', 'PDF OCR': '📄 OCR de PDF', 'Lossless Image Enlarge': '🔍 Ampliação de Imagem sem Perda', 'Background Removal': '🚫 Remoção de Fundo', 'Object Removal': '🧹 Remoção de Objeto', 'Photo Colorization': '🎨 Coloração de Foto', 'Portrait Restoration': '👥 Restauração de Retrato' }, 'ja': { // Japanese 'Image OCR': '🖼️ 画像OCR', 'PDF OCR': '📄 PDF OCR', 'Lossless Image Enlarge': '🔍 ロスレス画像拡大', 'Background Removal': '🚫 背景削除', 'Object Removal': '🧹 オブジェクト削除', 'Photo Colorization': '🎨 写真着色', 'Portrait Restoration': '👥 ポートレート修復' }, 'nl': { // Dutch 'Image OCR': '🖼️ Afbeelding OCR', 'PDF OCR': '📄 PDF OCR', 'Lossless Image Enlarge': '🔍 Verliesvrije Afbeelding Vergroten', 'Background Removal': '🚫 Achtergrond Verwijderen', 'Object Removal': '🧹 Object Verwijderen', 'Photo Colorization': '🎨 Foto Inkleuren', 'Portrait Restoration': '👥 Portret Restauratie' }, 'ru': { // Russian 'Image OCR': '🖼️ OCR изображений', 'PDF OCR': '📄 OCR PDF', 'Lossless Image Enlarge': '🔍 Безубыточное Увеличение Изображения', 'Background Removal': '🚫 Удаление Фона', 'Object Removal': '🧹 Удаление Объектов', 'Photo Colorization': '🎨 Колоризация Фото', 'Portrait Restoration': '👥 Реставрация Портретов' }, 'ko': { // Korean 'Image OCR': '🖼️ 이미지 OCR', 'PDF OCR': '📄 PDF OCR', 'Lossless Image Enlarge': '🔍 손실 없는 이미지 확대', 'Background Removal': '🚫 배경 제거', 'Object Removal': '🧹 객체 제거', 'Photo Colorization': '🎨 사진 채색', 'Portrait Restoration': '👥 초상화 복원' }, 'ar': { // Arabic 'Image OCR': '🖼️ OCR للصور', 'PDF OCR': '📄 OCR لملفات PDF', 'Lossless Image Enlarge': '🔍 تكبير الصورة بدون فقدان', 'Background Removal': '🚫 إزالة الخلفية', 'Object Removal': '🧹 إزالة الكائن', 'Photo Colorization': '🎨 تلوين الصور', 'Portrait Restoration': '👥 استعادة الصور الشخصية' }, 'th': { // Thai 'Image OCR': '🖼️ OCR ภาพ', 'PDF OCR': '📄 OCR ไฟล์ PDF', 'Lossless Image Enlarge': '🔍 ขยายภาพแบบไม่สูญเสียข้อมูล', 'Background Removal': '🚫 ลบพื้นหลัง', 'Object Removal': '🧹 ลบวัตถุ', 'Photo Colorization': '🎨 การตกแต่งสีภาพถ่าย', 'Portrait Restoration': '👥 การซ่อมแซมภาพเหมือน' }, 'zh': { // Simplified Chinese 'Image OCR': '🖼️ 图像文字识别', 'PDF OCR': '📄 PDF文字识别', 'Lossless Image Enlarge': '🔍 无损放大图像', 'Background Removal': '🚫 背景移除', 'Object Removal': '🧹 物体移除', 'Photo Colorization': '🎨 照片上色', 'Portrait Restoration': '👥 人像修复' }, 'zh-TW': { // Traditional Chinese 'Image OCR': '🖼️ 圖像文字識別', 'PDF OCR': '📄 PDF文字識別', 'Lossless Image Enlarge': '🔍 無損放大圖像', 'Background Removal': '🚫 背景移除', 'Object Removal': '🧹 物體移除', 'Photo Colorization': '🎨 照片上色', 'Portrait Restoration': '👥 人像修復' }, }; // Detecting your browser's preferred language function detectLanguage() { const supportedLangs = Object.keys(menuTranslations); const defaultLang = 'en'; const userLangs = navigator.languages.map(lang => lang.split('-')[0]); for (let lang of userLangs) { if (supportedLangs.includes(lang)) { return lang; } } return defaultLang; } // Get the language translation of the current user const currentLang = detectLanguage(); const translations = menuTranslations[currentLang]; // List of features and associated URLs const features = [ { icon: '🖼️', name: 'Image OCR', url: 'https://gpicy.com/en-US/image-ocr?utm_source=openuserjs', desc: 'Image recognition to text' }, { icon: '📄', name: 'PDF OCR', url: 'https://gpicy.com/en-US/pdf-ocr?utm_source=openuserjs', desc: 'PDF recognition into text' }, { icon: '🔍', name: 'Lossless Image Enlarge', url: 'https://gpicy.com/en-US/lossless-image-enlarge?utm_source=openuserjs', desc: 'Lossless magnification of AI image' }, { icon: '🚫', name: 'Background Removal', url: 'https://gpicy.com/en-US/background-removal?utm_source=openuserjs', desc: 'AI Background Removal' }, { icon: '🧹', name: 'Object Removal', url: 'https://gpicy.com/en-US/object-removal?utm_source=openuserjs', desc: 'AI Object Removal' }, { icon: '🎨', name: 'Photo Colorization', url: 'https://gpicy.com/en-US/photo-colorization?utm_source=openuserjs', desc: 'AI Photo Colorization' }, { icon: '👥', name: 'Portrait Restoration', url: 'https://gpicy.com/en-US/portrait-restoration?utm_source=openuserjs', desc: 'AI Portrait Restoration' }, ]; floatingMenu.appendChild(closeButton); features.forEach(feature => { const button = document.createElement('button'); const translatedName = translations[feature.name] || feature.name; button.innerHTML = `${translatedName}`; button.style.cssText = ` display: block; width: 100%; margin: 5px 0; background-color: #FFF; color: #000; border: none; border-radius: 3px; padding: 10px; cursor: pointer; text-align: left; transition: transform 0.3s ease, box-shadow 0.3s ease; `; button.onmouseenter = function() { this.style.transform = 'translateX(10px)'; this.style.boxShadow = '3px 3px 10px rgba(0, 0, 0, 0.2)'; }; button.onmouseleave = function() { this.style.transform = 'translateX(0)'; this.style.boxShadow = 'none'; }; button.onclick = function() { window.open(feature.url, '_blank'); }; const tooltip = document.createElement('span'); tooltip.textContent = feature.desc; tooltip.style.cssText = ` visibility: hidden; width: 120px; background-color: black; color: #fff; text-align: center; border-radius: 6px; padding: 5px 0; position: absolute; z-index: 1; bottom: 125%; left: 50%; margin-left: -60px; opacity: 0; transition: opacity 0.3s; `; button.appendChild(tooltip); button.onmouseover = function() { tooltip.style.visibility = 'visible'; tooltip.style.opacity = '1'; }; button.onmouseout = function() { tooltip.style.visibility = 'hidden'; tooltip.style.opacity = '0'; }; floatingMenu.appendChild(button); }); document.body.appendChild(floatingMenu); })();