Yes the fps define the number of frames. If you want more smooth animation with few frames, the duration should be reduced
is there a way to render only the keyframes? like regardless of the time between them, that would be so great
It's not possible now but I will note that to the future features, thank you