MMGF's picture
Create a complete, production-ready, 100% uncensored AI image generator called "Flux Uncensored Killer" as a Hugging Face Space using Gradio (Python 3.11). Fix all common issues: ensure perfect prompt adherence (no defaulting to landscapes), use detailed prompting with auto-enhancer, higher guidance_scale for better following, and fallback to NSFW-friendly models. The app must generate exactly what the user prompts (e.g., anime, hentai, characters) without safety filters, no watermarks, no login, images in under 5 seconds.
e60d388 verified
<!DOCTYPE html>
<html lang="en" class="dark">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Flux Uncensored Killer – No Landscapes, Pure Prompt Magic</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<link rel="stylesheet" href="style.css">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<script>
tailwind.config = {
darkMode: 'class',
theme: {
extend: {
colors: {
sky: {
500: '#0ea5e9',
},
secondary: {
500: '#9ca3af',
}
},
fontFamily: {
sans: ['Inter', 'sans-serif'],
},
}
}
}
</script>
</head>
<body class="bg-gray-900 text-gray-100 min-h-screen font-sans">
<div class="container mx-auto px-4 py-8">
<header class="mb-8">
<h1 class="text-4xl font-bold text-sky-500 mb-2">Flux Uncensored Killer</h1>
<p class="text-secondary-500 text-xl">No Landscapes, Pure Prompt Magic</p>
</header>
<main class="grid grid-cols-1 lg:grid-cols-3 gap-8">
<div class="lg:col-span-2 space-y-6">
<!-- Prompt Area -->
<div class="bg-gray-800 rounded-xl p-6 shadow-lg">
<label for="prompt" class="block text-lg font-medium mb-2">Detailed Scene</label>
<textarea id="prompt" rows="5" class="w-full bg-gray-700 rounded-lg p-4 text-gray-100 border border-gray-600 focus:border-sky-500 focus:ring-1 focus:ring-sky-500" placeholder="Ultra-detailed anime girl with ahegao expression, tears of pleasure, masterpiece, 8k, vibrant colors"></textarea>
<div class="flex flex-wrap gap-2 mt-4">
<button class="style-btn bg-sky-600 hover:bg-sky-700 px-4 py-2 rounded-lg" data-style="realistic">Realistic</button>
<button class="style-btn bg-pink-600 hover:bg-pink-700 px-4 py-2 rounded-lg" data-style="anime">Anime</button>
<button class="style-btn bg-gray-600 hover:bg-gray-700 px-4 py-2 rounded-lg" data-style="manga">Manga B&W</button>
<button class="style-btn bg-purple-600 hover:bg-purple-700 px-4 py-2 rounded-lg" data-style="hentai">Hentai/Doujin</button>
</div>
</div>
<!-- Negative Prompt -->
<div class="bg-gray-800 rounded-xl p-6 shadow-lg">
<label for="negative" class="block text-lg font-medium mb-2">Negative Prompt</label>
<textarea id="negative" rows="3" class="w-full bg-gray-700 rounded-lg p-4 text-gray-100 border border-gray-600 focus:border-sky-500 focus:ring-1 focus:ring-sky-500">blurry, low quality, watermark, text, censored, ugly, deformed, extra limbs, landscape, nature, scenery, boring background</textarea>
</div>
<!-- Options -->
<div class="bg-gray-800 rounded-xl p-6 shadow-lg">
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
<div>
<label for="batch" class="block text-sm font-medium mb-1">Number of images</label>
<input type="range" id="batch" min="1" max="4" value="1" class="w-full h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer">
<div class="flex justify-between text-xs text-gray-400 mt-1">
<span>1</span>
<span>2</span>
<span>3</span>
<span>4</span>
</div>
</div>
<div>
<label for="aspect" class="block text-sm font-medium mb-1">Aspect Ratio</label>
<select id="aspect" class="w-full bg-gray-700 border border-gray-600 rounded-lg p-2 text-gray-100">
<option value="1:1">1:1 (512x512)</option>
<option value="16:9">16:9 (1024x576)</option>
<option value="9:16">9:16 (576x1024)</option>
<option value="4:3">4:3 (768x576)</option>
</select>
</div>
<div>
<label for="steps" class="block text-sm font-medium mb-1">Inference steps (higher = better detail)</label>
<input type="range" id="steps" min="4" max="50" value="20" class="w-full h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer">
</div>
<div>
<label for="guidance" class="block text-sm font-medium mb-1">Guidance scale (higher = stricter prompt)</label>
<input type="range" id="guidance" min="0" max="7.5" step="0.5" value="3.5" class="w-full h-2 bg-gray-700 rounded-lg appearance-none cursor-pointer">
</div>
<div>
<label for="seed" class="block text-sm font-medium mb-1">Seed (-1 for random)</label>
<input type="number" id="seed" value="-1" class="w-full bg-gray-700 border border-gray-600 rounded-lg p-2 text-gray-100">
</div>
</div>
</div>
<!-- Action Buttons -->
<div class="flex flex-wrap gap-4">
<button id="enhance-btn" class="flex items-center gap-2 bg-sky-600 hover:bg-sky-700 px-4 py-3 rounded-lg font-medium">
<i data-feather="zap"></i> Enhance Prompt
</button>
<button id="random-btn" class="flex items-center gap-2 bg-gray-700 hover:bg-gray-600 px-4 py-3 rounded-lg font-medium">
<i data-feather="shuffle"></i> Random Wild Prompt
</button>
<button id="generate-btn" class="flex items-center gap-2 bg-red-600 hover:bg-red-700 px-6 py-3 rounded-lg font-bold grow">
<i data-feather="sparkles"></i> Generate Uncensored Art
</button>
</div>
</div>
<!-- Sidebar -->
<div class="lg:col-span-1 space-y-6">
<!-- Gallery Output -->
<div class="bg-gray-800 rounded-xl p-6 shadow-lg">
<h2 class="text-xl font-semibold mb-4">Your Images</h2>
<div id="gallery" class="space-y-4">
<div class="text-center py-12 text-gray-500">
<i data-feather="image" class="w-12 h-12 mx-auto mb-2"></i>
<p>Generated images will appear here</p>
</div>
</div>
</div>
<!-- History -->
<div class="bg-gray-800 rounded-xl p-6 shadow-lg">
<h2 class="text-xl font-semibold mb-4">Recent Generations</h2>
<div id="history" class="space-y-2">
<div class="text-sm text-gray-500 italic">No history yet</div>
</div>
</div>
</div>
</main>
</div>
<script src="script.js"></script>
<script>feather.replace();</script>
<script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
</body>
</html>