1. the interfaces must remain stable to the outside world that relies on them
2. They select what underlying resources and functionality is accessible by outside users, and what is hidden. A lot of your internal implementation is either a mess, “temporary”, insecure or intentionally internal.
3. They control access to the internal application through authentication, authorization, security, and translating data in both directions.
4. When the internal representation changes, they map the new implementation to the old interface to ensure the system remains reliable to API consumers.
5. They offer migration paths when change is necessary
That being said...
Auto API generators are really useful for internal systems where you control the underlying system, the API, and all systems relying on the API.
They are also useful to build an initial API that you plan to fork.