AI Old Photo Restoration and AI Hug Video - Full Guide
Restore old photos with AI: scan, repair and colorize in Nano Banana Pro, animate in Kling 3.0, make an AI hug video of two people, with prompts and costs.
To restore an old photo with AI, you scan the print, repair and colorize it with an image editing model (Nano Banana Pro, FLUX.1 Kontext [pro] or GPT Image 2.5) and, if you want, animate the finished frame as the first frame in Kling 3.0 or MiniMax H3. One repair edit is from $0.0747 per image, a few seconds of video is a few times the per-second rate, and failed generations cost nothing.
These are often photos of people who are no longer with us. So, honestly, up front: AI does not recover what someone really looked like. It fills in missing detail so that it looks plausible. Below I cover how to keep that guesswork to a minimum, which prompts work, how to make an AI hug video of two people and what a full session costs.
Before you start: whose photo is it
- Restore your own family photos, or photos you have permission to edit from your relatives or the person in the picture. A print in a drawer is not always yours to use (studio portraits, archives, newspaper photos).
- Show the result to your family before you share it. An animated portrait of someone who has passed away moves some people and hurts others. Ask first.
- Keep the original. The AI version is an interpretation, not a record. Keep the original scan next to it, labeled.
- Photos of children. The model makers' safety filters can reject photos with children, including innocent family photos, especially for video. A rejected generation costs nothing, but the result may not work even after several attempts.
The whole workflow at a glance
| Step | Tool | What you get | Cost |
|---|---|---|---|
| 1. Scan | scanner or phone | high-resolution PNG or JPG | free |
| 2. Repair | Nano Banana Pro, FLUX.1 Kontext [pro], GPT Image 2.5 | photo without scratches, stains and creases | from $0.0747 per image |
| 3. Colorize | same models, separate edit | color version | as above |
| 4. Animate | Kling 3.0, MiniMax H3 | a short MP4 clip | from $0.169 per second |
| 5. Hug video (optional) | Nano Banana Pro, then video | two people in one frame, then in motion | image + video seconds |
| 6. Upscale | Topaz Video Upscaler | sharper, higher-resolution clip | $0.11 per second |
I do repair and colorization as two separate edits. A single "repair and colorize" edit changes the face more often, because the model has too much to invent at once.
Step 1: scan
The model works with what you give it. Anything that is not in the scan, it will make up.
- Flatbed scanner at 600 dpi for regular prints, 1200 dpi for small ID-size photos. Save as PNG or maximum-quality JPG.
- Phone if you have no scanner. Photo flat on a table, soft side light (no flash), phone parallel to the print. Glare from glossy paper is the most common problem.
- No filters or "beauty" modes in the camera app. Smoothed skin in means plastic faces out.
- Crop the album frame, not the faces. Leave a margin around people. When you animate, the model needs room for motion.
- Up to 25 MB per file. That is what the Upload file button in Studio accepts (PNG, JPG or WebP).
Step 2: repair while keeping the face
Repair is image editing: you upload the scan as a reference image and the prompt says what to fix and what to leave alone. Three models that suit the job:
| Model | Strength | Output size | Price |
|---|---|---|---|
| Nano Banana Pro | holds facial features and composition well, 1K, 2K or 4K | up to 4K | from $0.0747 per image |
| FLUX.1 Kontext [pro] | prompt-only editing, consistent person across iterative edits | about 1 MP | $0.088 per image |
| GPT Image 2.5 | follows precise instructions, high quality setting | up to 3840 px per edge | $0.0432 per image |
In Studio:
- Sign in to Studio and pick the Image tab. No account yet? Sign up and top up your balance (the balance never expires, no subscription).
- Pick Nano Banana Pro in Model.
- Expand Reference images (URLs) and click Upload file. Upload the scan.
- Paste the repair prompt below. Set resolution to 2K and leave the aspect ratio alone, the output follows the scan.
- Check Cost and click Generate.
Repair prompt to copy:
Restore this old photograph. Remove scratches, dust, stains, creases and
torn edges. Keep the exact same people, faces, facial features, expressions,
hairstyles, clothing, pose, framing and background. Do not beautify, do not
change age, do not add makeup, do not smooth the skin. Keep it black and white
with natural film grain. Sharpen only what is already visible.The second half of the prompt matters most: the list of things the model must not change. Without it, models happily "improve" looks, make people younger and smooth the skin.
If a photo has a large missing area (a torn corner, a stain across half a face), repair the rest first, then fix the gap in a separate edit: Fill in the torn upper left corner with matching background. Do not change anything else. A missing part of a face will always be invented, so treat that result as a reconstruction, not a recovery.
Step 3: colorize
I colorize the repaired version as a second edit. The model does not know the real colors. It guesses from the era, clothing and light, so if you know the color of a uniform, a dress or someone's eyes, put it in the prompt.
Colorize this black and white photograph with natural, muted colors typical
of a 1950s family photo. Keep every face, feature, expression and detail
exactly as it is. Realistic skin tones, no oversaturation, no HDR look.
The woman's dress is dark navy blue, the man has grey eyes.Replace the last sentence with what your family remembers. Without hints, eye and hair color are random, and that is the first thing relatives notice.
When to use which model:
- Nano Banana Pro - my first choice when the face must stay the same and when I need 2K or 4K for printing.
- FLUX.1 Kontext - good for a chain of small edits one after another (scratches, then color, then background), but the output is about 1 MP, too small for a large print.
- GPT Image 2.5 - when I want very specific changes in words, for example "color only on the clothes, keep the background sepia". I set
qualitytohigh.
Honestly about face hallucination
Any of these models can change a face. It usually happens like this:
- Blurry original. If a face in the scan is a few dozen pixels wide, the model draws eyes, teeth and wrinkles from imagination. The result is sharp, but it is a slightly different person.
- Beautification. Smoother skin, straighter teeth, bigger eyes, a younger look. A prompt with a "do not" list reduces this but does not rule it out.
- Edits on edits. Every edit of an edit drifts further from the original. Go back to the scan and change the prompt instead of fixing a fix for the fifth time.
- Motion in video. The more motion, the more the face drifts between frames.
That is why I make 2-3 versions and show them to someone who knew the person. If they say "that's not him", I pick the version with less intervention, even if it is less sharp.
Step 4: animate with the first frame
Upload the restored photo as the first frame of a video model. The method is covered in detail in the image to video AI guide. What matters with old portraits:
- Little motion. A blink, a slight smile, a small head movement, a slow camera push-in. Big movement makes the model change features.
- Short. 4-5 seconds. A longer clip means more chances for the face to change.
- No speech. Lip movement without a real voice looks unnatural, and an invented voice of a loved one is something many families do not want.
| Model | Duration | Resolution | Price |
|---|---|---|---|
| Kling 3.0 | 3-15 s | 720p, 1080p, 4K | from $0.169 per second |
| MiniMax H3 | 4-15 s | 768P, 2K | from $0.161 per second |
In Studio: Video tab, Kling 3.0, the restored photo in Start frame (URL) (via Upload file), 5 s, Generate audio off.
Portrait animation prompt:
The woman slowly blinks and gives a gentle, subtle smile, slight natural
head movement, soft breathing, the camera very slowly pushes in.
Keep her face and features unchanged. Calm, still, respectful.Describe only the motion. The model sees the photo, you do not need to describe the person. Kling takes the aspect ratio from the photo, and in MiniMax H3 you do not send the aspect ratio at all when you give it a start frame.
Step 5: AI hug video of two people
A popular idea is a video where an adult hugs their younger self, or where two people from separate photos embrace in one frame. I do it in two stages, because a video model on its own will not merge two separate photos into a coherent scene.
Stage 1: one shared frame in Nano Banana Pro. In Reference images I upload two restored photos (one person each) and ask for a composition just before the hug:
Create one realistic photograph of the two people from the reference images
standing close together, facing each other, about to hug, in a softly lit
neutral room. Person from image 1 on the left, person from image 2 on the right.
Keep both faces, features, hairstyles and clothing exactly as in the references.
Full upper bodies visible, natural proportions, warm soft light.A frame "just before" works better than a frame mid-hug: both faces are visible, so the video model has something to hold the features to.
Stage 2: video from that frame. The shared frame goes in as the first frame for Kling 3.0 or MiniMax H3:
The two people step towards each other and share a long, gentle hug,
eyes closed, calm and emotional, slight slow camera push-in,
soft natural light, no other movement.During the hug the faces are briefly covered, and when they reappear the model may alter them slightly. If that happens, shorten the clip so it ends on the hug, or put a second Nano Banana Pro frame (the same two people already embracing) in End frame (URL). Then the model has both ends of the motion under control.
Step 6: upscale the clip
A 720p or 768P clip from the video model can go through Topaz Video Upscaler at the end. It raises resolution and cleans the image, billed per second of the source clip. In Studio it is the Tools tab, Topaz Video Upscaler and an uploaded MP4 (up to 50 MB). More in the AI video upscaler guide.
An upscaler cannot bring back facial detail that was never there. It sharpens what the video model already drew.
What a full session costs
Example: one grandmother's photo repaired and colorized, animated for 5 seconds, plus a hug video of two people and upscaling of both clips. I budget for a few retries (failed generations cost nothing anyway, you only pay for the ones that complete, even if you do not like the result):
| Stage | Model | Amount | Cost |
|---|---|---|---|
| Repair, 3 versions | Nano Banana Pro | 3 images | 3 × from $0.0747 per image |
| Colorize, 2 versions | Nano Banana Pro | 2 images | 2 × from $0.0747 per image |
| Portrait animation, 2 attempts | Kling 3.0 | 2 × 5 s | 10 × from $0.169 per second |
| Shared hug frame, 3 versions | Nano Banana Pro | 3 images | 3 × from $0.0747 per image |
| Hug video, 2 attempts | MiniMax H3 | 2 × 6 s | 12 × from $0.161 per second |
| Upscaling the chosen clips | Topaz Video Upscaler | 5 s + 6 s | 11 × $0.11 per second |
Where a price starts with "from", the rate depends on resolution. The exact amount appears in the Cost field in Studio before you click, and in estimated_cost in the API. The balance never expires, so whatever is left works for the next photos in the album.
The same with the API
For a whole album a script is more convenient. Photos go in as public URLs. The full endpoint reference is in the generation docs.
Repair in Nano Banana Pro:
curl https://jantaris.com/v1/generate \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "nano-banana-pro",
"input": {
"prompt": "Restore this old photograph. Remove scratches, dust, stains, creases and torn edges. Keep the exact same people, faces, facial features, expressions, hairstyles, clothing, pose, framing and background. Do not beautify, do not change age, do not smooth the skin. Keep it black and white with natural film grain.",
"image_urls": ["https://your-domain.com/album/grandma-scan.jpg"],
"resolution": "2k"
}
}'Animation in Kling 3.0 (image_url is the first frame):
curl https://jantaris.com/v1/generate \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "kling-3.0",
"input": {
"prompt": "The woman slowly blinks and gives a gentle, subtle smile, slight natural head movement, the camera very slowly pushes in. Keep her face and features unchanged.",
"image_url": "https://your-domain.com/album/grandma-color.png",
"duration": 5,
"resolution": "1080p"
}
}'Hug video in MiniMax H3 with a start and end frame, without aspect_ratio (this model rejects it when a start frame is given):
curl https://jantaris.com/v1/generate \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-h3",
"input": {
"prompt": "The two people step towards each other and share a long, gentle hug, calm and emotional, slight slow camera push-in, soft natural light. Quiet room tone, no music.",
"image_url": "https://your-domain.com/album/before-hug.png",
"end_image_url": "https://your-domain.com/album/hugging.png",
"duration": 6,
"resolution": "768P"
}
}'Upscaling in Topaz (video_url is the finished clip):
curl https://jantaris.com/v1/generate \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "topaz-video-upscaler",
"input": {
"video_url": "https://your-domain.com/album/hug.mp4"
}
}'Each call returns 202 right away with the task id and estimated_cost. Fetch the result from GET /v1/tasks/{id} or use a webhook. A task that ends as failed costs nothing.
Common mistakes
- Phone scan with glare. The model treats glare as part of the photo and "repairs" it its own way.
- Repair and colorize in one prompt. Higher chance of a changed face. Use two separate edits.
- No "do not change" list. Without it the model beautifies and de-ages.
- Too much motion in the video. Dancing, turning around, talking. With old portraits, less is more faithful.
- Fixing a fix. After 2-3 edits, go back to the scan.
- Publishing without asking the family. Show it to relatives first.
FAQ
Will AI show what the person in the photo really looked like?
No. AI only recovers what is visible in the scan. Missing detail (sharp eyes, hair color, parts of a face) is drawn in to look believable. A better scan and less motion in the video bring the result closer to the original, but it is always an interpretation.
Which model is best for restoring old photos?
Start with Nano Banana Pro: it holds facial features well and outputs up to 4K. FLUX.1 Kontext works well for a chain of small edits, GPT Image 2.5 for very precise instructions. Running the same repair in two models and comparing is worth it.
Why was a photo with a child rejected?
Model makers run safety filters that can be cautious with photos of children, including ordinary family photos. A rejected generation costs nothing. Sometimes a crop without the child or a different model helps, but it cannot always be worked around.
How do I make an AI hug video with my younger self?
First create one shared frame in Nano Banana Pro from two photos (current and childhood) as reference images, then use that frame as the first frame in Kling 3.0 or MiniMax H3 with a hug prompt. Details and prompts are in step 5 above. Keep in mind that filters may reject the childhood photo.
Can I restore a photo from an archive or the internet?
Only if you have the right to use it. Your own family photos and photos you have permission to edit are safe. Restore and animate photos of other people only with their consent or the consent of their family.
How much does it cost to restore one photo?
One Nano Banana Pro edit is from $0.0747 per image. Repair plus colorization with a few retries is usually a handful of images. Animation adds video seconds, for example 5 × from $0.169 per second for a 5-second Kling 3.0 clip. There is no subscription and the balance never expires.











