Dev log

Nano-banana has one identity problem

It never learns what you look like. Here is why MyPhotoAI is training per-user identity LoRAs on RunPod instead.

July 8, 20261 min readMyPhotoAIidentity LoRAimage-genRunPod

Nano-banana image generation has one major issue: it does not recreate the person from the images a user uploads. It does not really learn image embeddings for that face. So the output drifts.

With MyPhotoAI that showed up loud and clear in the feedback.

51% of feedback said the same thing: it doesn't look like me MyPhotoAI user feedback

Around 51% of all feedback was some version of "the image doesn't look like me". When more than half of what people tell you is the same complaint, that is not a tuning problem. It is the wrong approach for the job.

What we tried first

We earlier tried the free Kaggle approach, but the models there could not accomplish the flow we actually need: pretrain a model on the user, then generate with that new model. That is the thing that would put us at par with the likes of Instant Headshot AI.

So we changed track. We loaded $25 of credits into RunPod and started the initial benchmarking.

The training run

The current run is 2500 steps with the Qwen image model on a mid-tier GPU, roughly 90 minutes. Every 500 steps we check convergence. Identity LoRAs have previously been documented to land somewhere around 1000 to 1500 steps, so 2500 gives us headroom to see where quality actually settles.

One identity training run every 500convergence check1000-1500documented for identity LoRAs2500 steps~90 min, mid-tier GPU

When this deploys, we estimate 10 to 30 minutes of training per user.

The number that matters

The surprise upside is cost. Claude estimates that per-user costs may drop to between $0.25 and $0.80, down from an average of $0.86 with nano-banana.

Estimated per-user cost nano-banana (today) $0.86 per-user LoRA (est) $0.52 ($0.25-$0.8) Claude's estimate once the LoRA flow deploys, versus today's nano-banana average.

Better identity, and cheaper per user. Fingers crossed it holds up through benchmarking.