The documentation for the GIF-PIL format states that the parameter duration can be used to individually set the time each frame remains in view.
"duration : {float, list}
The duration (in seconds) of each frame. Either specify one value that is used for all frames, or one value for each frame. Note that in the GIF format the duration/delay is expressed in hundredths of a second, which limits the precision of the duration."
If duration is not used, each frame gets a 1/fps duration as the fps parameter description says:
"fps : float
The number of frames per second. If duration is not given, the duration for each frame is set to 1/fps. Default 10."
Link to the imageio library documentation:
https://imageio.readthedocs.io/en/stable/format_gif-pil.html#parameters-for-saving