AI-Generated Vintage Portraits · Hand-Finished in Photoshop
Historical Portraits — Restorations
100% Manual Restoration · No AI Generation
Vera Kholodnaya — Photo Restoration
(() => { const settings = {"containerId":"container02","beforeId":"image01","afterId":"image02","split":50}; const adjacent = document.currentScript && document.currentScript.previousElementSibling; const widget = adjacent && adjacent.classList.contains("ctba-widget") ? adjacent : document.querySelector(".ctba-widget:not([data-ctba-ready])"); if (!widget || !widget.classList.contains("ctba-widget") || widget.dataset.ctbaReady) return; widget.dataset.ctbaReady = "loading"; const source = document.getElementById(settings.containerId); if (!source || source.contains(widget)) { console.warn("Before / After: place the Inline Embed outside the source container and check its ID."); return; } const findImage = id => { const element = document.getElementById(id); if (!element || !source.contains(element)) return null; return element.tagName === "IMG" ? element : element.querySelector("img"); }; const beforeSource = findImage(settings.beforeId); const afterSource = findImage(settings.afterId); const imageUrl = image => image && ( image.getAttribute("data-src") || image.currentSrc || image.getAttribute("src") ); const beforeUrl = imageUrl(beforeSource); const afterUrl = imageUrl(afterSource); if (!beforeUrl || !afterUrl) { console.warn("Before / After: check the Before and After image IDs."); return; } const load = url => new Promise((resolve, reject) => { const image = new Image(); image.onload = () => resolve(image); image.onerror = reject; image.src = url; if (image.complete && image.naturalWidth) resolve(image); }); Promise.all([load(beforeUrl), load(afterUrl)]).then(([before, after]) => { if (!widget.isConnected) return; widget.querySelector(".ctba-before").src = before.src; widget.querySelector(".ctba-after").src = after.src; widget.style.aspectRatio = before.naturalWidth + " / " + before.naturalHeight; const range = widget.querySelector(".ctba-range"); const setSplit = value => widget.style.setProperty("--ctba-split", value + "%"); const updateFromPointer = event => { const rect = widget.getBoundingClientRect(); if (!rect.width) return; const value = Math.max(0, Math.min(100, Math.round((event.clientX - rect.left) / rect.width * 100))); range.value = String(value); setSplit(value); }; let dragging = false; widget.addEventListener("pointerdown", event => { dragging = true; range.setPointerCapture(event.pointerId); updateFromPointer(event); }); range.addEventListener("pointermove", event => { if (dragging) updateFromPointer(event); }); range.addEventListener("pointerup", () => { dragging = false; }); range.addEventListener("pointercancel", () => { dragging = false; }); range.addEventListener("input", () => setSplit(range.value)); widget.classList.add("ctba-ready"); widget.dataset.ctbaReady = "true"; source.style.setProperty("display", "none", "important"); }).catch(() => console.warn("Before / After: the images could not be loaded. The original container remains visible.") ); })(); 
Manually restored from a low-resolution screen capture of a historical photograph from the Boris Yeltsin Presidential Library. All restoration work was carried out by hand in Adobe Photoshop.
(function () { function initGirlSlider() { const root = document.getElementById("girl-before-after"); if (!root || root.dataset.initialized) return; const range = root.querySelector(".girl-range"); const before = root.querySelector(".girl-before"); const after = root.querySelector(".girl-after"); root.dataset.initialized = "true"; function update() { root.style.setProperty("--split", range.value + "%"); } function resize() { const width = root.clientWidth; before.style.width = width + "px"; if (after.naturalWidth && after.naturalHeight) { root.style.aspectRatio = after.naturalWidth + " / " + after.naturalHeight; } } range.addEventListener("input", update); window.addEventListener("resize", resize); after.addEventListener("load", resize); update(); resize(); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", initGirlSlider); } else { initGirlSlider(); } })(); Watch the Restoration Video
(function () { function initBoySlider() { const root = document.getElementById("boy-before-after"); if (!root || root.dataset.initialized) return; const range = root.querySelector(".boy-range"); const before = root.querySelector(".boy-before"); const after = root.querySelector(".boy-after"); root.dataset.initialized = "true"; function update() { root.style.setProperty("--split", range.value + "%"); } function resize() { const width = root.clientWidth; before.style.width = width + "px"; if (after.naturalWidth && after.naturalHeight) { root.style.aspectRatio = after.naturalWidth + " / " + after.naturalHeight; } } range.addEventListener("input", update); window.addEventListener("resize", resize); after.addEventListener("load", resize); update(); resize(); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", initBoySlider); } else { initBoySlider(); } })(); Watch the Restoration Video
Restored from a group photograph featuring four people. The portrait was carefully restored entirely by hand in Adobe Photoshop, preserving the original facial features and character.
About Me
I'm Elena Corbut, a photo restoration and retouching artist with over 10 years of experience.I specialize in restoring and colorizing vintage photographs, carefully preserving their original atmosphere, character, and historical details.Every photograph has its own story. My goal is to bring faded memories back to life while keeping them natural, authentic, and true to the original.