Best practices for NFT metadata

What is the best practice to use metadata for NFT minting. Especially to provide the IPFS image.
Do we need to provide the gate way url or just ipfs format is fine?

Option1: ipfs://QmRgxzN7eTEqQ2Sd2VXzAPqNpihMUi34YRM4LqSijK3Kpk
Option2: https://gateway.domain.io/ips/QmRgxzN7eTEqQ2Sd2VXzAPqNpihMUi34YRM4LqSijK3Kpk

Any other suggestions?

{
“721”: {
“614d432e7bfbad362a5b55fe7f86d5471add05d6a834972c0b0471dd”: {
“RoyalGrand00002”: {
“description”: “Royal Grand Collection #00002”,
“name”: “Royal Grand #00002”,
“id”: “RoyalGrand2”,
“image”: “ipfs:://QmRgxzN7eTEqQ2Sd2VXzAPqNpihMUi34YRM4LqSijK3Kpk”
}
}
}
}

The IPFS hash should be sufficient and almost all blockchain explorers will recognize and parse this format. Given the popularity of IPFS, IPNS, Arweave, etc I would not be surprised if browsers and other tools start supporting these protocols natively in the not too distant future as well.