The ChatGPT that said yes. The API that said no.
A jewelry try-on looked perfect in ChatGPT. Same model and prompt on the API failed. We stopped prototyping in ChatGPT and shipped a three-model pipeline that never rewrites the customer.
We were building a virtual necklace try-on for a jewelry client.
The idea sounded easy enough. Upload a selfie, pick a necklace, and see it on your own photo. Same face. Same lighting. Same clothes. Only the jewellery changes.
Before writing any code, I tried it in ChatGPT. I uploaded a portrait and asked it to add a simple gold necklace. Tweak it with a prompt to get a perfect before and after.
It nailed it.
The identity stayed the same. The lighting matched. It looked like a real photo. So I thought, great, this is going to be straightforward.
Then we switched to the API.
Same model. Same prompt. Completely different experience.
Moderation refusals. Images that barely changed. No matter how we reworded the prompt, we couldn't get close to what we'd just seen inside ChatGPT.
That was the part I wasn't expecting.
Same brand, different product
As a developer, you're using the same brand, calling the same model, so you naturally assume the capabilities you've validated in ChatGPT will carry over into production.
They didn't.
What made it even stranger was that a perfectly normal necklace edit around the neck could get flagged as sensitive. But when the model did return an image, it was happy to change things we never asked for: smoother skin, different makeup, even slightly different hair.
The one thing we wanted to edit was blocked. The things we wanted to preserve were rewritten.
I'm not saying the API needs fewer safety guardrails. I just wish the gap between the ChatGPT experience and the production API was clearer. We lost a lot of engineering time redesigning a system around capabilities we'd already "validated."
The architecture that worked
In the end, the solution wasn't a better prompt. It was a better architecture.
ChatGPT Vision only figured out where the necklace belonged. Flux only rendered the jewellery. Then we composited just that small edited region back onto the untouched original photo.
Three models, three jobs, and nobody was allowed to rewrite the customer.
That project completely changed how I build AI products. These days I don't prototype against ChatGPT. I prototype against the API I'll actually ship.
Because a great demo doesn't always translate into a great production system.
Curious if anyone else has run into this, where ChatGPT made something look easy but the production API turned out to be a completely different engineering problem.
