Spaces:
Running
Running
To successfully establish a robust image-to-video generation pipeline using the Lora models available at [Hugging Face's Wan2.2 Loras repository](https://huggingface.co/Playtime-AI/Wan2.2-Loras), we will need to create a user-friendly system that simplifies the process of loading models and generating videos from uploaded images.
12a4e8b verified | <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>Smooth Transitions - FrameForge Studio</title> | |
| <link rel="stylesheet" href="/style.css"> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <script src="https://unpkg.com/feather-icons"></script> | |
| </head> | |
| <body class="bg-gray-900 text-white"> | |
| <custom-header></custom-header> | |
| <main class="container mx-auto px-4 py-8"> | |
| <section class="mb-12"> | |
| <div class="flex flex-col md:flex-row gap-8"> | |
| <div class="md:w-1/2"> | |
| <h1 class="text-4xl font-bold mb-4">Smooth Transitions</h1> | |
| <p class="text-gray-300 mb-6">Generate seamless morphing effects between images. Create fluid animations that blend your visuals naturally.</p> | |
| <div class="bg-gray-800 rounded-xl p-6 mb-6"> | |
| <h2 class="text-2xl font-bold mb-4">Transition Parameters</h2> | |
| <div class="space-y-4"> | |
| <div> | |
| <label class="block text-gray-300 mb-2">Transition Type</label> | |
| <select class="w-full bg-gray-700 text-white rounded p-2" id="transition-type"> | |
| <option value="morph">Morph</option> | |
| <option value="dissolve">Dissolve</option> | |
| <option value="wipe">Wipe</option> | |
| <option value="fade">Fade</option> | |
| </select> | |
| </div> | |
| <div> | |
| <label class="block text-gray-300 mb-2">Smoothness: <span id="smoothness-value">8</span>/10</label> | |
| <input type="range" min="1" max="10" value="8" class="w-full accent-green-500" id="smoothness-slider"> | |
| </div> | |
| <div> | |
| <label class="block text-gray-300 mb-2">Duration: <span id="duration-value">3</span>s</label> | |
| <input type="range" min="1" max="15" value="3" class="w-full accent-orange-500" id="duration-slider"> | |
| </div> | |
| </div> | |
| </div> | |
| <button id="generate-btn" class="bg-green-500 hover:bg-green-600 text-white font-bold py-3 px-6 rounded-full transition duration-300 w-full"> | |
| Generate Video | |
| </button> | |
| </div> | |
| <div class="md:w-1/2"> | |
| <div class="bg-gray-800 rounded-xl p-6"> | |
| <h2 class="text-2xl font-bold mb-4">Preview</h2> | |
| <div class="bg-gray-700 h-80 rounded-lg flex items-center justify-center"> | |
| <i data-feather="zap" class="text-green-500 w-16 h-16"></i> | |
| </div> | |
| <div class="mt-4 flex justify-between"> | |
| <button class="bg-gray-700 hover:bg-gray-600 text-white py-2 px-4 rounded"> | |
| <i data-feather="play" class="w-4 h-4"></i> | |
| </button> | |
| <button class="bg-gray-700 hover:bg-gray-600 text-white py-2 px-4 rounded"> | |
| <i data-feather="download" class="w-4 h-4"></i> | |
| </button> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section class="mb-12"> | |
| <h2 class="text-3xl font-bold mb-6">Transition Examples</h2> | |
| <div class="grid grid-cols-1 md:grid-cols-3 gap-6"> | |
| <div class="bg-gray-800 rounded-lg overflow-hidden"> | |
| <img src="http://static.photos/technology/320x240/7" alt="Morph Example" class="w-full h-48 object-cover"> | |
| <div class="p-4"> | |
| <h3 class="font-bold mb-2">Face Morphing</h3> | |
| <p class="text-gray-400 text-sm">Smooth transformation between faces</p> | |
| </div> | |
| </div> | |
| <div class="bg-gray-800 rounded-lg overflow-hidden"> | |
| <img src="http://static.photos/nature/320x240/8" alt="Dissolve Example" class="w-full h-48 object-cover"> | |
| <div class="p-4"> | |
| <h3 class="font-bold mb-2">Scene Dissolve</h3> | |
| <p class="text-gray-400 text-sm">Natural blending between landscapes</p> | |
| </div> | |
| </div> | |
| <div class="bg-gray-800 rounded-lg overflow-hidden"> | |
| <img src="http://static.photos/people/320x240/9" alt="Wipe Example" class="w-full h-48 object-cover"> | |
| <div class="p-4"> | |
| <h3 class="font-bold mb-2">Creative Wipe</h3> | |
| <p class="text-gray-400 text-sm">Stylish transitions for presentations</p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| </main> | |
| <custom-footer></custom-footer> | |
| <script src="/components/header.js"></script> | |
| <script src="/components/footer.js"></script> | |
| <script src="/script.js"></script> | |
| <script> | |
| feather.replace(); | |
| // Slider functionality | |
| document.getElementById('smoothness-slider').addEventListener('input', function() { | |
| document.getElementById('smoothness-value').textContent = this.value; | |
| }); | |
| document.getElementById('duration-slider').addEventListener('input', function() { | |
| document.getElementById('duration-value').textContent = this.value; | |
| }); | |
| // Generate button functionality | |
| document.getElementById('generate-btn').addEventListener('click', function() { | |
| this.innerHTML = '<i data-feather="loader" class="animate-spin mr-2"></i> Generating...'; | |
| feather.replace(); | |
| // Simulate processing time | |
| setTimeout(() => { | |
| this.innerHTML = 'Generate Video'; | |
| feather.replace(); | |
| alert('Video generated successfully! Check the preview section.'); | |
| }, 2000); | |
| }); | |
| </script> | |
| </body> | |
| </html> | |