seq_len is indeed the length of the sequence such as the number of words in a sentence or the number of characters in a string.
input_size reflects the number of features. Again, in terms of sequences being words in a sentence, this would be the size of the word vectors (e.g, 300). Whatever the number of features is, that will be your input_size.
I full example: Let’s say your batch has 32 sentences of the same length of 50 words (e.g., with padding to ensure equal lengths), and you use word vectors (e.g. word2vec or GloVe) of size 300. then you get

batch_size = 32
seq_len = 50
input_size = 300

By default, RNNs in PyTorch expect as input shape (seq_len, batch_size, input_size). But if you define an RNN with batch_first=True, the expected input shape is (batch_size, seq_len, input_size). It’s really just a matter of preference and convenience.