ffmpeg is awesome. A while ago, I started converting reels to GIFs using this command.
ffmpeg -i reel.mp4 -vf "fps=12,scale=200:-1:flags=lanczos" reel.gif

I just want to say - the arguments on this command specifically can lower the FPS, scale the result down to a smaller size than the original (or, unintentionally upscale the output), and then apply lanczos resampling - depending on the source, this can all result in a larger size than the original in some instances! Use no options by default - or use scaling only, and add more as you see fit if performance (size, encoding/format) is your goal.
To prevent upscaling entirely, you can modify the above to be similar to this:
ffmpeg -i reel.mp4 -vf "scale='min(200,iw)':-1" reel.gif
The parameters in the scale flag are specifically width:height. Read more in the official documentation here:
https://trac.ffmpeg.org/wiki/ScalingThis specifically keeps the aspect ratio when resizing the width to 200px - which is why for the height parameter in this example we set it to -1 - which tells ffmpeg to keep the original value for the height from the original file.
The iw/ih variables in the min() function specifically applies to the initial height/width of the source - read it as
[i]nitial [w]idth / [i]nitial [h]eight
This basically tells ffmpeg "Hey - only if the original is wider/taller than 200px, shrink it to 200px".
Like for width, the same can be done for the height parameter, too:
ffmpeg -i reel.mp4 -vf "scale=-1:'min(200,ih)'" reel.gif
Instead of iw for width, for height we use ih instead.
Keep in mind as well, mp4 in a lot of cases is smaller for web applications, which is why a lot of the time "gifs" are actually mp4 files - you can loop mp4 videos in raw HTML, and even save more space by removing audio tracks - so that way the file is smaller and downloads faster (also add the attribute to mute the video just in case the user agent relies on that for autoplay).
If you still want to use an image format - apng, webp, avif all allow additional frames - sometimes compresses better and looks better than gif - resembling more of the original file! Try a mix and match of all - and keep whichever is smaller!
Of course, nothing wrong with doing what you want - just letting people know other options exist, just in case it matters at all. The gif format provides an aesthetic that it's known for - but the other file formats with the right parameters can replicate it, too - so even then you don't need to limit yourself to gif.