So, I’m immediately thinking that what is happening is that the camera is inside the model, it’s not that it is incredibly large.
I think you should still use the CFrame.lookAt(at, lookAt) constructor to look at the character in the viewport frame from an exterior point. Right now, you are just using CFrame.new(position).
In fact, you should probably look at the available CFrame constructors on the wiki to see how each one works.