That would imply the model always had a 1m token context but they limited it in the api and app? That's strange because they can just charge more for every token past 250k (like google does, I believe).
But if not shouldn't it have to be completely retrained model? it's clearly not that - good question!