OptionalClientModel = create_model( "OptionalClientModel", **{k: (v.annotation | None, v) for k, v in ClientModel.model_fields.items()})
This should suit your needs. No need to iterate over the annotations yourself.