The IP interface constructors accept address + prefixlen-or-netmask 2-tuples the same way the network constructors do:
>>> import ipaddress
>>> ip = ipaddress.IPv4Address("10.1.2.3")
>>> ip
IPv4Address('10.1.2.3')
>>> ipaddress.IPv4Interface((ip, 24))
IPv4Interface('10.1.2.3/24')
>>> ipaddress.IPv4Interface((ip, "255.255.255.0"))
IPv4Interface('10.1.2.3/24')
It’s not immediately obvious in the documentation as the details of the accepted input types are in the network constructor docs, while the address constructor docs just link to the network constructor docs.