Spaces:
Running
Running
File size: 10,563 Bytes
69f265a d95ce5c 69f265a d95ce5c 69f265a d95ce5c 69f265a d95ce5c 69f265a d95ce5c 69f265a ef86ab4 69f265a d95ce5c 69f265a d95ce5c 69f265a ef86ab4 69f265a d95ce5c 69f265a d95ce5c 69f265a d95ce5c 69f265a d95ce5c 69f265a d95ce5c 69f265a d95ce5c 69f265a d95ce5c 69f265a d95ce5c 69f265a d95ce5c 69f265a d95ce5c 69f265a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PixFlow NSFW - Adult Image Animation</title>
<link rel="stylesheet" href="style.css">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>
<script src="components/navbar.js"></script>
<script src="components/footer.js"></script>
</head>
<body class="bg-gray-900 text-white min-h-screen flex flex-col">
<nsfw-warning></nsfw-warning>
<custom-navbar></custom-navbar>
<main class="flex-grow container mx-auto px-4 py-12">
<section class="max-w-4xl mx-auto text-center mb-16">
<h1 class="text-5xl md:text-6xl font-bold mb-6 bg-clip-text text-transparent bg-gradient-to-r from-red-500 to-pink-500">
Animate Your Adult Content
</h1>
<p class="text-xl text-gray-300 mb-10">
Upload private images and we'll transform them into high-quality animated adult videos.
</p>
<div class="bg-gray-800 rounded-2xl p-8 shadow-lg border border-pink-700">
<div id="dropzone" class="border-2 border-dashed border-gray-600 rounded-xl p-12 text-center cursor-pointer hover:border-purple-500 transition-colors duration-300">
<div class="flex flex-col items-center">
<i data-feather="upload-cloud" class="w-12 h-12 text-purple-400 mb-4"></i>
<h3 class="text-xl font-semibold mb-2">Drag & Drop Your Image Here</h3>
<p class="text-gray-400 mb-4">or click to browse files</p>
<input type="file" id="fileInput" accept="image/*" class="hidden">
<button id="uploadBtn" class="bg-purple-600 hover:bg-purple-700 text-white font-medium py-2 px-6 rounded-full transition duration-300 flex items-center">
<i data-feather="upload" class="mr-2"></i> Choose Image
</button>
</div>
</div>
<div id="previewSection" class="mt-8 hidden">
<div class="flex flex-col md:flex-row gap-8 items-center">
<div class="flex-1">
<h3 class="text-lg font-medium mb-4">Original Image</h3>
<div class="bg-gray-900 rounded-lg overflow-hidden">
<img id="imagePreview" src="" alt="Preview" class="w-full h-64 object-contain">
</div>
</div>
<div class="flex-1">
<h3 class="text-lg font-medium mb-4">Video Preview</h3>
<div id="videoPreview" class="bg-gray-900 rounded-lg h-64 flex items-center justify-center relative">
<div id="animationPreview" class="w-full h-full">
<!-- Video will be inserted here -->
</div>
<div id="videoPlaceholder" class="absolute inset-0 flex items-center justify-center">
<i data-feather="play-circle" class="w-16 h-16 text-purple-400 opacity-70"></i>
</div>
</div>
</div>
</div>
<div class="mt-8">
<h3 class="text-lg font-medium mb-4">Customize Animation</h3>
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<div>
<label class="block text-gray-300 mb-2">Style</label>
<select class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-purple-500">
<option>Passionate</option>
<option>Sensual</option>
<option>Erotic</option>
<option>Fetish</option>
</select>
</div>
<div>
<label class="block text-gray-300 mb-2">Duration (seconds)</label>
<input type="range" min="3" max="30" value="10" class="w-full">
</div>
<div>
<label class="block text-gray-300 mb-2">Background Music</label>
<select class="w-full bg-gray-700 border border-gray-600 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-purple-500">
<option>Moans & Groans</option>
<option>Sensual Beats</option>
<option>Dirty Talk</option>
<option>None</option>
</select>
</div>
</div>
</div>
<button id="generateBtn" class="mt-8 bg-gradient-to-r from-purple-600 to-pink-600 hover:from-purple-700 hover:to-pink-700 text-white font-bold py-3 px-8 rounded-full text-lg transition duration-300 flex items-center mx-auto disabled:opacity-50" disabled>
<i data-feather="zap" class="mr-2"></i> Generate Video
</button>
</div>
</div>
</section>
<section class="max-w-6xl mx-auto mt-20">
<h2 class="text-3xl font-bold text-center mb-12">Create Adult Animations</h2>
<div class="grid grid-cols-1 md:grid-cols-3 gap-8">
<div class="bg-gray-800 p-6 rounded-xl border border-pink-700 hover:border-red-500 transition-colors duration-300">
<div class="bg-red-500/20 w-14 h-14 rounded-lg flex items-center justify-center mb-4">
<i data-feather="lock" class="w-6 h-6 text-red-400"></i>
</div>
<h3 class="text-xl font-semibold mb-2">Private Processing</h3>
<p class="text-gray-400">Your content is processed securely and never stored on our servers</p>
</div>
<div class="bg-gray-800 p-6 rounded-xl border border-pink-700 hover:border-red-500 transition-colors duration-300">
<div class="bg-red-500/20 w-14 h-14 rounded-lg flex items-center justify-center mb-4">
<i data-feather="heart" class="w-6 h-6 text-red-400"></i>
</div>
<h3 class="text-xl font-semibold mb-2">Realistic Animations</h3>
<p class="text-gray-400">AI-powered animations that bring your fantasies to life</p>
</div>
<div class="bg-gray-800 p-6 rounded-xl border border-pink-700 hover:border-red-500 transition-colors duration-300">
<div class="bg-red-500/20 w-14 h-14 rounded-lg flex items-center justify-center mb-4">
<i data-feather="eye-off" class="w-6 h-6 text-red-400"></i>
</div>
<h3 class="text-xl font-semibold mb-2">Discreet Downloads</h3>
<p class="text-gray-400">No watermarks or identifying metadata on your downloads</p>
</div>
</div>
</section>
</main>
<custom-footer></custom-footer>
<script src="nsfw-warning.js"></script>
<script src="script.js"></script>
<script>
feather.replace();
// Animation for the preview section
document.getElementById('uploadBtn').addEventListener('click', function() {
document.getElementById('fileInput').click();
});
document.getElementById('fileInput').addEventListener('change', function(e) {
if (e.target.files.length) {
const file = e.target.files[0];
const reader = new FileReader();
reader.onload = function(event) {
document.getElementById('imagePreview').src = event.target.result;
document.getElementById('previewSection').classList.remove('hidden');
// Simulate video generation preview
setTimeout(() => {
document.getElementById('videoPlaceholder').classList.add('hidden');
document.getElementById('animationPreview').style.background = `url(${event.target.result}) center/cover`;
document.getElementById('animationPreview').innerHTML = `
<div class="absolute inset-0 bg-gradient-to-t from-black/80 to-transparent"></div>
`;
}, 1000);
};
reader.readAsDataURL(file);
}
});
// Dropzone functionality
const dropzone = document.getElementById('dropzone');
['dragenter', 'dragover', 'dragleave', 'drop'].forEach(eventName => {
dropzone.addEventListener(eventName, preventDefaults, false);
});
function preventDefaults(e) {
e.preventDefault();
e.stopPropagation();
}
['dragenter', 'dragover'].forEach(eventName => {
dropzone.addEventListener(eventName, highlight, false);
});
['dragleave', 'drop'].forEach(eventName => {
dropzone.addEventListener(eventName, unhighlight, false);
});
function highlight() {
dropzone.classList.add('border-purple-500');
}
function unhighlight() {
dropzone.classList.remove('border-purple-500');
}
dropzone.addEventListener('drop', handleDrop, false);
function handleDrop(e) {
const dt = e.dataTransfer;
const files = dt.files;
if (files.length) {
document.getElementById('fileInput').files = files;
const event = new Event('change');
document.getElementById('fileInput').dispatchEvent(event);
}
}
</script>
<script src="https://deepsite.hf.co/deepsite-badge.js"></script>
</body>
</html> |