Não tenho certeza se essa é uma pergunta pesquisada, mas, de qualquer forma, um pequeno script de shell pode fazer algo como:
c=0
for i in *.jpg; do
c=$(($c+1))
f="$f $i"
test "$(expr $c % 30)" != 0 && continue
gmic $f ... -o output-$c.jpg
f=""
done
test -z "$f" || gmic $f ... -o output-$(($c+1)).jpg