https://makefilm.ai/workspace/image-to-video using this like make me a website like this that turns any images into porn videos using an already existing image from. Your gallery and a prompt system to have the image act out your desires and have the interface to have sexy images of ai having sex
d62ea66
verified
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>PixelMotion Editor | Transform Your Images</title> | |
| <link rel="icon" type="image/x-icon" href="/static/favicon.ico"> | |
| <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> | |
| <style> | |
| .slider-thumb::-webkit-slider-thumb { | |
| -webkit-appearance: none; | |
| appearance: none; | |
| width: 20px; | |
| height: 20px; | |
| background: #6366f1; | |
| cursor: pointer; | |
| border-radius: 50%; | |
| } | |
| .drop-zone { | |
| border: 2px dashed #6366f1; | |
| transition: all 0.3s ease; | |
| } | |
| .drop-zone:hover { | |
| border-color: #a855f7; | |
| background-color: rgba(99, 102, 241, 0.05); | |
| } | |
| .preview-container { | |
| aspect-ratio: 16/9; | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-gray-50"> | |
| <!-- Navigation --> | |
| <nav class="bg-white shadow-sm py-4 px-6 flex justify-between items-center"> | |
| <div class="flex items-center space-x-2"> | |
| <div class="w-8 h-8 bg-indigo-500 rounded-lg flex items-center justify-center"> | |
| <i data-feather="film" class="text-white"></i> | |
| </div> | |
| <span class="text-xl font-bold text-indigo-500">PixelMotion</span> | |
| </div> | |
| <div class="hidden md:flex space-x-6"> | |
| <a href="#" class="text-gray-600 hover:text-indigo-500 font-medium">Editor</a> | |
| <a href="#" class="text-gray-600 hover:text-indigo-500 font-medium">Tutorials</a> | |
| <a href="#" class="text-gray-600 hover:text-indigo-500 font-medium">Help</a> | |
| </div> | |
| <div class="flex items-center space-x-4"> | |
| <button class="px-4 py-2 rounded-lg text-indigo-500 font-medium hover:bg-indigo-50"> | |
| <i data-feather="save" class="mr-2"></i> Save Project | |
| </button> | |
| <button class="px-4 py-2 bg-indigo-500 text-white rounded-lg font-medium hover:bg-indigo-600 transition flex items-center"> | |
| <i data-feather="download" class="mr-2"></i> Export | |
| </button> | |
| </div> | |
| </nav> | |
| <div class="container mx-auto px-6 py-8"> | |
| <div class="flex flex-col lg:flex-row gap-8"> | |
| <!-- Left Panel - Preview --> | |
| <div class="lg:w-2/3"> | |
| <div class="bg-white rounded-xl shadow-sm overflow-hidden"> | |
| <div class="preview-container bg-gray-100 flex items-center justify-center relative"> | |
| <div class="absolute inset-0 flex items-center justify-center"> | |
| <img id="preview-image" src="http://static.photos/technology/1200x630/42" alt="Preview" class="w-full h-full object-contain"> | |
| </div> | |
| <div class="absolute bottom-4 left-4 right-4 bg-white bg-opacity-90 p-3 rounded-lg shadow-sm flex items-center justify-between"> | |
| <div class="flex items-center space-x-4"> | |
| <button class="w-10 h-10 bg-indigo-500 text-white rounded-full flex items-center justify-center"> | |
| <i data-feather="play"></i> | |
| </button> | |
| <div class="text-sm text-gray-600">0:00 / 0:10</div> | |
| </div> | |
| <div class="flex items-center space-x-2"> | |
| <button class="w-8 h-8 text-gray-500 hover:text-indigo-500"> | |
| <i data-feather="volume-2"></i> | |
| </button> | |
| <button class="w-8 h-8 text-gray-500 hover:text-indigo-500"> | |
| <i data-feather="settings"></i> | |
| </button> | |
| <button class="w-8 h-8 text-gray-500 hover:text-indigo-500"> | |
| <i data-feather="maximize"></i> | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <!-- Right Panel - Controls --> | |
| <div class="lg:w-1/3"> | |
| <div class="bg-white rounded-xl shadow-sm overflow-hidden"> | |
| <div class="p-6 border-b border-gray-200"> | |
| <h2 class="text-xl font-semibold">Animation Settings</h2> | |
| </div> | |
| <div class="p-6 space-y-6"> | |
| <!-- Upload Section --> | |
| <div class="drop-zone rounded-lg p-8 text-center cursor-pointer"> | |
| <div class="flex flex-col items-center"> | |
| <i data-feather="upload" class="w-10 h-10 text-indigo-500 mb-3"></i> | |
| <h3 class="font-medium mb-1">Drag & Drop Image</h3> | |
| <p class="text-sm text-gray-500 mb-3">or click to browse files</p> | |
| <button class="px-4 py-2 bg-indigo-500 text-white rounded-lg text-sm hover:bg-indigo-600 transition"> | |
| Select Image | |
| </button> | |
| </div> | |
| </div> | |
| <!-- Animation Controls --> | |
| <div> | |
| <div class="flex justify-between items-center mb-2"> | |
| <label class="font-medium">Animation Intensity</label> | |
| <span class="text-sm text-gray-500">70%</span> | |
| </div> | |
| <input type="range" min="0" max="100" value="70" class="w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer slider-thumb"> | |
| </div> | |
| <div> | |
| <div class="flex justify-between items-center mb-2"> | |
| <label class="font-medium">Animation Duration</label> | |
| <span class="text-sm text-gray-500">10 seconds</span> | |
| </div> | |
| <input type="range" min="1" max="30" value="10" class="w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer slider-thumb"> | |
| </div> | |
| <div> | |
| <label class="font-medium block mb-2">Animation Style</label> | |
| <select class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-indigo-500 focus:border-indigo-500"> | |
| <option>Subtle Movement</option> | |
| <option>Panning Effect</option> | |
| <option>Zoom Effect</option> | |
| <option>3D Parallax</option> | |
| <option>Custom Path</option> | |
| </select> | |
| </div> | |
| <div> | |
| <label class="font-medium block mb-2">Background Style</label> | |
| <div class="grid grid-cols-3 gap-3"> | |
| <button class="p-2 border border-gray-300 rounded-lg hover:border-indigo-500"> | |
| <div class="h-12 bg-gray-200 rounded"></div> | |
| <div class="text-xs text-center mt-1">Blur</div> | |
| </button> | |
| <button class="p-2 border border-gray-300 rounded-lg hover:border-indigo-500"> | |
| <div class="h-12 bg-indigo-100 rounded"></div> | |
| <div class="text-xs text-center mt-1">Color</div> | |
| </button> | |
| <button class="p-2 border border-gray-300 rounded-lg hover:border-indigo-500"> | |
| <div class="h-12 bg-gradient-to-r from-indigo-500 to-purple-500 rounded"></div> | |
| <div class="text-xs text-center mt-1">Gradient</div> | |
| </button> | |
| <button class="p-2 border border-gray-300 rounded-lg hover:border-indigo-500"> | |
| <div class="h-12 bg-white border border-gray-300 rounded"></div> | |
| <div class="text-xs text-center mt-1">Transparent</div> | |
| </button> | |
| <button class="p-2 border border-gray-300 rounded-lg hover:border-indigo-500"> | |
| <div class="h-12 bg-gray-900 rounded"></div> | |
| <div class="text-xs text-center mt-1">Black</div> | |
| </button> | |
| <button class="p-2 border border-gray-300 rounded-lg hover:border-indigo-500"> | |
| <div class="h-12 bg-gray-100 rounded flex items-center justify-center"> | |
| <i data-feather="image" class="text-gray-400"></i> | |
| </div> | |
| <div class="text-xs text-center mt-1">Custom</div> | |
| </button> | |
| </div> | |
| </div> | |
| <div> | |
| <label class="font-medium block mb-2">Advanced Options</label> | |
| <div class="space-y-3"> | |
| <div class="flex items-center justify-between"> | |
| <span class="text-gray-700">Stabilize Image</span> | |
| <label class="relative inline-flex items-center cursor-pointer"> | |
| <input type="checkbox" value="" class="sr-only peer" checked> | |
| <div class="w-11 h-6 bg-gray-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-500"></div> | |
| </label> | |
| </div> | |
| <div class="flex items-center justify-between"> | |
| <span class="text-gray-700">Enhance Quality</span> | |
| <label class="relative inline-flex items-center cursor-pointer"> | |
| <input type="checkbox" value="" class="sr-only peer"> | |
| <div class="w-11 h-6 bg-gray-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-500"></div> | |
| </label> | |
| </div> | |
| <div class="flex items-center justify-between"> | |
| <span class="text-gray-700">Add Soundtrack</span> | |
| <label class="relative inline-flex items-center cursor-pointer"> | |
| <input type="checkbox" value="" class="sr-only peer"> | |
| <div class="w-11 h-6 bg-gray-200 peer-focus:outline-none rounded-full peer peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-5 after:w-5 after:transition-all peer-checked:bg-indigo-500"></div> | |
| </label> | |
| </div> | |
| </div> | |
| </div> | |
| <button class="w-full py-3 bg-indigo-500 text-white rounded-lg font-medium hover:bg-indigo-600 transition flex items-center justify-center"> | |
| <i data-feather="play" class="mr-2"></i> Generate Video | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <script> | |
| // Initialize feather icons | |
| feather.replace(); | |
| // Image upload preview | |
| document.querySelector('.drop-zone').addEventListener('click', function() { | |
| // This would normally open a file dialog | |
| console.log('File upload triggered'); | |
| }); | |
| // Drag and drop functionality | |
| const dropZone = document.querySelector('.drop-zone'); | |
| ['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-indigo-500', 'bg-indigo-50'); | |
| } | |
| function unhighlight() { | |
| dropZone.classList.remove('border-indigo-500', 'bg-indigo-50'); | |
| } | |
| dropZone.addEventListener('drop', handleDrop, false); | |
| function handleDrop(e) { | |
| const dt = e.dataTransfer; | |
| const files = dt.files; | |
| handleFiles(files); | |
| } | |
| function handleFiles(files) { | |
| if (files.length) { | |
| const file = files[0]; | |
| if (file.type.startsWith('image/')) { | |
| const reader = new FileReader(); | |
| reader.onload = function(e) { | |
| document.getElementById('preview-image').src = e.target.result; | |
| }; | |
| reader.readAsDataURL(file); | |
| } | |
| } | |
| } | |
| </script> | |
| </body> | |
| </html> | |