Who can file for the K-1 visa? Only U.S. citizens are capable of petitioning for the K-1 visa. Additionally, any American citizen can petition. This means that a person who becomes a naturalized U.S. citizen can immediately petition for his or her fiance(e) to enter the United States and marry.
The K-1 visa is not available to permanent residents or foreign nationals who have nonimmigrant visas. If you are a permanent resident, and have been for five years, then you may want to naturalize (if you are otherwise eligible). Once you naturalize, you can petition for your fiance(e) and many other family members.