Hello Sims
The size of an IP packet depends directly on the size of the frame it encapsulates. An IPv4 packet size is indicated by the Total Length field in the header, which is a 16-bit field that defines the entire packet size in bytes, including header and data. The minimum size is 20 bytes (header without data) and the maximum is (theoretically) 65,535 bytes.
Even though these sizes are possible, the underlying layer 2 protocol always plays a vital role in the size of IP packets. Specifically for Ethernet, it is the MTU that plays this role, as you correctly stated.
Typically, the size of an Ethernet frame is 1500 bytes + 14 bytes for the header = 1514 bytes. Add to that the 20 bytes of the IP header and you get 1534 bytes. But this can vary, depending on the actual payload, and the limitations of the MTU. The payload of voice packets for example are very small, typically between 30 and 160 bytes in length, while HTTP, FTP, or email protocols may have varying sizes. The relationship between the IP packet size and the underlying MTU can be seen very clearly in this lesson:
I hope this has been helpful!
Laz