Visualntelligence's picture
Update index.html
4c495b9 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ultra-HD Image Edit [ UNCENSORED ]</title>
<script src="https://cdn.tailwindcss.com"></script>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Inter', sans-serif;
background: linear-gradient(to bottom, #1f2937, #000000);
min-height: 100vh;
}
.header-text {
color: #A2FF6E;
}
.upload-area {
border: 2px dashed #374151;
transition: all 0.3s ease;
}
.upload-area:hover {
border-color: #A2FF6E;
background-color: rgba(162, 255, 110, 0.05);
}
.upload-area.dragover {
border-color: #A2FF6E;
background-color: rgba(162, 255, 110, 0.1);
}
.modal-overlay {
background-color: rgba(0, 0, 0, 0.85);
backdrop-filter: blur(4px);
}
.render-btn {
background: linear-gradient(135deg, #A2FF6E 0%, #7ee64c 100%);
color: #000000;
font-weight: 600;
}
.render-btn:hover {
transform: translateY(-1px);
box-shadow: 0 10px 25px -5px rgba(162, 255, 110, 0.4);
}
.close-btn {
position: absolute;
top: 1rem;
right: 1rem;
color: #9ca3af;
cursor: pointer;
font-size: 1.5rem;
line-height: 1;
}
.close-btn:hover {
color: #ffffff;
}
</style>
</head>
<body class="text-white px-4 py-8">
<div class="max-w-2xl mx-auto">
<!-- Header -->
<div class="text-center mb-8">
<h1 class="text-3xl sm:text-4xl font-bold header-text mb-4 tracking-tight">
Ultra-HD Image Edit <br> [ UNCENSORED ]
</h1>
<p class="text-gray-300 text-sm sm:text-base leading-relaxed max-w-xl mx-auto">
Ultra-HD Image Edit Pro allows you to modify an image simply by uploading it and saying in plain words what you want changed. Superior visual dynamics, enhanced fidelity, and professional high-resolution output. Ready-to-use best performance!
</p>
</div>
<!-- Upload Section -->
<div class="mb-6">
<label class="block text-sm font-medium text-gray-400 mb-2">Upload Image</label>
<div id="uploadArea" class="upload-area rounded-xl p-8 text-center cursor-pointer relative overflow-hidden">
<input type="file" id="fileInput" accept="image/*" class="hidden">
<div id="uploadPlaceholder">
<svg class="mx-auto h-12 w-12 text-gray-500 mb-3" stroke="currentColor" fill="none" viewBox="0 0 48 48">
<path d="M28 8H12a4 4 0 00-4 4v20m32-12v8m0 0v8a4 4 0 01-4 4H12a4 4 0 01-4-4v-4m32-4l-3.172-3.172a4 4 0 00-5.656 0L28 28M8 32l9.172-9.172a4 4 0 015.656 0L28 28m0 0l4 4m4-24h8m-4-4v8m-12 4h.02" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
</svg>
<p class="text-gray-400 text-sm">Click to upload or drag and drop</p>
<p class="text-gray-600 text-xs mt-1">PNG, JPG, GIF up to 10MB</p>
</div>
<img id="previewImage" class="hidden w-full h-auto rounded-lg max-h-64 object-contain mx-auto" alt="Preview">
<button id="removeImage" class="hidden absolute top-2 right-2 bg-red-500 text-white rounded-full p-1 hover:bg-red-600 transition-colors">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
</svg>
</button>
</div>
</div>
<!-- Prompt Input -->
<div class="mb-6">
<label for="prompt" class="block text-sm font-medium text-gray-400 mb-2">Prompt</label>
<textarea
id="prompt"
rows="3"
class="w-full bg-gray-800 border border-gray-700 rounded-lg px-4 py-3 text-white placeholder-gray-500 focus:outline-none focus:border-[#A2FF6E] focus:ring-1 focus:ring-[#A2FF6E] resize-none text-sm"
>Change their outfit to...</textarea>
</div>
<!-- HD Level Dropdown -->
<div class="mb-8">
<label for="hdLevel" class="block text-sm font-medium text-gray-400 mb-2">Additional Processing</label>
<select
id="hdLevel"
class="w-full bg-gray-800 border border-gray-700 rounded-lg px-4 py-3 text-white focus:outline-none focus:border-[#A2FF6E] focus:ring-1 focus:ring-[#A2FF6E] text-sm appearance-none cursor-pointer"
style="background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'%239ca3af\' stroke-width=\'2\' stroke-linecap=\'round\' stroke-linejoin=\'round\'><polyline points=\'6 9 12 15 18 9\'></polyline></svg>'); background-repeat: no-repeat; background-position: right 1rem center; background-size: 1rem; padding-right: 2.5rem;"
>
<option value="No change">Standard Resolution</option>
<option value="Enhance">Enhance to HD</option>
</select>
</div>
<!-- Render Button -->
<button
id="renderBtn"
class="render-btn w-full py-4 rounded-lg text-base transition-all duration-200 flex items-center justify-center gap-2"
>
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z"></path>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path>
</svg>
Generate
</button>
<!-- Copyright Footer -->
<div class="mt-8 text-center">
<p class="text-[#616161] text-xs">Copyright 2026 | Ultra-HD Image Edit </p>
</div>
</div>
<!-- Update Modal -->
<div id="updateModal" class="hidden fixed inset-0 z-50 modal-overlay flex items-center justify-center p-4">
<div class="bg-gray-900 border border-gray-700 rounded-2xl max-w-md w-full p-6 sm:p-8 relative">
<button id="closeModal" class="close-btn">&times;</button>
<div class="text-center">
<h2 class="text-red-500 text-4xl font-bold mb-4 tracking-tight">UPDATE</h2>
<p class="text-white text-sm sm:text-base leading-relaxed">
Out of respect for HF's rules, this uncensored model can now be <a href="https://wavespeedai.pxf.io/qWDP25" class="font-bold text-[#A2FF6E] hover:underline" target="_blank" rel="noopener noreferrer">accessed here</a>. Everyone using this link will receive an immediate <b> FREE deposit</b> of credits (enough to generate DOZENS of images) <b>no credit card needed!</b>
</p>
</div>
</div>
</div>
<script>
// File Upload Handling
const uploadArea = document.getElementById('uploadArea');
const fileInput = document.getElementById('fileInput');
const uploadPlaceholder = document.getElementById('uploadPlaceholder');
const previewImage = document.getElementById('previewImage');
const removeImage = document.getElementById('removeImage');
uploadArea.addEventListener('click', () => fileInput.click());
uploadArea.addEventListener('dragover', (e) => {
e.preventDefault();
uploadArea.classList.add('dragover');
});
uploadArea.addEventListener('dragleave', () => {
uploadArea.classList.remove('dragover');
});
uploadArea.addEventListener('drop', (e) => {
e.preventDefault();
uploadArea.classList.remove('dragover');
const files = e.dataTransfer.files;
if (files.length > 0) {
handleFile(files[0]);
}
});
fileInput.addEventListener('change', (e) => {
if (e.target.files.length > 0) {
handleFile(e.target.files[0]);
}
});
function handleFile(file) {
if (file && file.type.startsWith('image/')) {
const reader = new FileReader();
reader.onload = (e) => {2
previewImage.src = e.target.result;
previewImage.classList.remove('hidden');
uploadPlaceholder.classList.add('hidden');
removeImage.classList.remove('hidden');
uploadArea.classList.remove('cursor-pointer');
};
reader.readAsDataURL(file);
}
}
removeImage.addEventListener('click', (e) => {
e.stopPropagation();
fileInput.value = '';
previewImage.src = '';
previewImage.classList.add('hidden');
uploadPlaceholder.classList.remove('hidden');
removeImage.classList.add('hidden');
uploadArea.classList.add('cursor-pointer');
});
// Modal Handling
const renderBtn = document.getElementById('renderBtn');
const updateModal = document.getElementById('updateModal');
const closeModal = document.getElementById('closeModal');
renderBtn.addEventListener('click', () => {
updateModal.classList.remove('hidden');
});
closeModal.addEventListener('click', () => {
updateModal.classList.add('hidden');
});
updateModal.addEventListener('click', (e) => {
if (e.target === updateModal) {
updateModal.classList.add('hidden');
}
});
// Close modal on Escape key
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape' && !updateModal.classList.contains('hidden')) {
updateModal.classList.add('hidden');
}
});
</script>
</body>
</html>