Spaces:
Running
Running
File size: 8,552 Bytes
649966d 4c2852f 649966d | 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 | <!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>AI Face Restoration: enhance small faces in group photos · MegaPotato AI upscaler (megapotato.app)</title>
<meta name="description" content="Face enhancer demo of the MegaPotato AI upscaler (megapotato.app). Enlarge group photos, portraits and crowd shots ×2, ×4 or ×8, pick any face and compare it before and after at full size.">
<meta name="referrer" content="strict-origin">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://challenges.cloudflare.com; frame-src https://challenges.cloudflare.com; connect-src 'self' https://demo-api.megapotato.app; img-src 'self' data: blob: https://demo-api.megapotato.app https://*.hf.co https://*.huggingface.co; style-src 'self' 'unsafe-inline'; font-src 'self' https://*.hf.co; base-uri 'none'; form-action 'none'; object-src 'none'">
<meta name="color-scheme" content="light dark">
<meta property="og:title" content="AI Face Restoration · MegaPotato AI upscaler (megapotato.app)">
<meta property="og:description" content="Enlarge group photos ×2, ×4 or ×8, pick any face and compare it before and after.">
<link rel="preload" href="assets/fonts/mp-humanist-regular.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/mp-humanist-black.woff2" as="font" type="font/woff2" crossorigin>
<script src="theme.js"></script>
<link rel="stylesheet" href="style.css">
<script type="module" src="ui.js"></script>
</head>
<body>
<header class="band">
<div class="band-inner">
<div class="band-top">
<h1>Face Enhancer</h1>
<a class="site" href="https://megapotato.app/?s=hf-face-enhancer" target="_blank" rel="noopener">megapotato.app<span class="arrow" aria-hidden="true">↗</span></a>
</div>
<p class="lead">Enlarge a photo ×2, ×4 or ×8, then pick any face and compare it up close.</p>
<p class="brand">A demo of the <a href="https://megapotato.app/?s=hf-face-enhancer" target="_blank" rel="noopener">MegaPotato AI upscaler</a> · megapotato.app · In <a href="https://megapotato.app/blog/best-ai-image-upscalers-2026?s=hf-face-enhancer#scoreboard" target="_blank" rel="noopener">our blind test of 18 AI upscalers</a>, none of 67 small faces came out a different person.</p>
<div id="notice" class="notice" role="status" hidden></div>
<section class="deck" aria-label="Enhance your photo">
<div class="pick">
<span class="deck-label">Photo</span>
<label id="drop" class="pick-button">
<input id="file" type="file" accept="image/png,image/jpeg,image/webp">
<span id="file-label">Choose photo</span>
</label>
<span class="pick-meta">
<img id="drop-thumb" class="pick-thumb" alt="" hidden>
<span id="file-meta" class="pick-text"><span class="note-mouse">Drop or paste · </span>PNG, JPEG, WebP up to 50 MB</span>
</span>
</div>
<fieldset class="size" aria-label="Enlarge by">
<span class="deck-label">Enlarge</span>
<span class="seg">
<label class="seg-option"><input type="radio" name="factor" value="2"><span>×2</span></label>
<label class="seg-option"><input type="radio" name="factor" value="4" checked><span>×4</span></label>
<label class="seg-option"><input type="radio" name="factor" value="8"><span>×8</span></label>
</span>
</fieldset>
<div class="output">
<span class="deck-label">Output</span>
<strong id="out-size" class="output-size">—</strong>
<span id="plan" class="output-note">Choose a photo to see its exact output size.</span>
</div>
<div class="go">
<button id="run" class="primary run" type="button" disabled>Enhance faces</button>
</div>
<p id="quota" class="quota">Preview only · 2 free runs a day</p>
</section>
<div id="status" class="status" aria-live="polite" hidden></div>
<div id="turnstile" class="turnstile"></div>
</div>
</header>
<main class="main">
<div class="stage">
<section class="photo" aria-label="The whole photo">
<div id="screen" class="overview" tabindex="0" role="application" aria-label="The photo. Click or tap a face to add it to the comparison; arrow keys move the cursor, Enter adds a face, Backspace removes the last one.">
<img class="overview-image is-after" alt="After" draggable="false">
<img class="overview-image is-before" alt="Before" draggable="false" hidden>
<div class="marks"></div>
<span class="cursor" aria-hidden="true" hidden></span>
</div>
<div class="photo-foot">
<p id="caption" class="caption"></p>
<div class="whole" role="group" aria-label="Whole photo">
<button type="button" data-whole="before" aria-pressed="false">Before</button>
<button type="button" data-whole="after" aria-pressed="true">After</button>
</div>
</div>
<p class="hint"><span class="note-mouse">Click a face to compare it. Drag a box to move it, its corner to resize it.</span><span class="note-touch">Tap a face to compare it. Drag a box to move it, its corner to resize it.</span></p>
</section>
<nav class="photos" aria-label="Example photos">
<p class="photos-head">Photos</p>
<ul id="examples" class="examples"></ul>
</nav>
<section class="faces" aria-label="Faces, before and after">
<div class="faces-head">
<h2>Faces <span id="face-count" class="count"></span></h2>
<div class="faces-tools">
<span class="zoom" role="group" aria-label="Box size">
<button type="button" id="box-smaller" aria-label="Smaller boxes">−</button>
<span class="zoom-label">Box size</span>
<button type="button" id="box-larger" aria-label="Larger boxes">+</button>
</span>
<button id="clear" type="button" class="quiet">Clear</button>
</div>
</div>
<p id="faces-empty" class="faces-empty">Tap a face in the photo to compare it here.</p>
<ul id="pairs" class="pairs"></ul>
</section>
</div>
<footer class="colophon">
<nav class="colophon-links" aria-label="More">
<a href="https://megapotato.app/developers?s=hf-face-enhancer" target="_blank" rel="noopener">API</a>
<a href="https://megapotato.app/blog/best-ai-image-upscalers-2026?s=hf-face-enhancer" target="_blank" rel="noopener">Benchmark</a>
<a href="https://megapotato.app/pricing?s=hf-face-enhancer" target="_blank" rel="noopener">Pricing</a>
</nav>
<details id="about" class="about">
<summary>About this demo, your images and privacy</summary>
<div class="about-body">
<p>A free demo of the <a href="https://megapotato.app/?s=hf-face-enhancer" target="_blank" rel="noopener">MegaPotato AI upscaler</a>. Your photo goes to the MegaPotato API, is enlarged on MegaPotato's GPUs and comes back to this page. The model weights are not published. The demo uses the same model and size limits as megapotato.app: ×2, ×4 or ×8, up to 16 400 px per side. The face boxes are placed by you; nothing on this page detects or recognizes faces.</p>
<h2 id="privacy">Your images and privacy</h2>
<p>Images you enhance are sent through a small MegaPotato service on Cloudflare to the MegaPotato API and handled under its <a href="https://megapotato.app/privacy" target="_blank" rel="noopener">Privacy Policy</a> and <a href="https://megapotato.app/terms" target="_blank" rel="noopener">Terms</a>. Every image is reviewed automatically before processing, and images that may not meet our content rules are refused. The original is deleted once the run finishes and the result about an hour after the upload. The demo asks the Hugging Face page only whether you are logged in (not who you are) and counts runs per network address, stored only as a keyed hash; Cloudflare processes it to run the service and the Turnstile check that helps limit automated abuse. Please upload only images you have the right to use.</p>
<h2>Example photos</h2>
<ul id="credits" class="credits"></ul>
<p>Demo code: MIT license. Font: MP Humanist, a subset of Lato (SIL Open Font License, <a href="assets/fonts/OFL.txt">text</a>).</p>
</div>
</details>
</footer>
</main>
<div id="dropzone" class="dropzone" aria-hidden="true"><span>Drop the photo to enhance it</span></div>
</body>
</html>
|