Mikko Korhonen has already given a good answer. -- But as you asked for
explicit generators for the automorphism groups -- you can obtain such
by GAP as follows (you see that 4 generators suffice):
gap> D4 := Group((1,2,3,4),(1,3));
Group([ (1,2,3,4), (1,3) ])
gap> A1 := AutomorphismGroup(D4);
<group of size 8 with 3 generators>
gap> SmallGeneratingSet(A1);
[ [ (2,4), (1,4)(2,3) ] -> [ (1,2)(3,4), (2,4) ],
[ (2,4), (1,4)(2,3) ] -> [ (2,4), (1,2)(3,4) ] ]
gap> A2 := AutomorphismGroup(DirectProduct(D4,D4));
<group of size 2048 with 11 generators>
gap> SmallGeneratingSet(A2);
[ [ (1,3)(2,4)(6,8), (2,4)(5,7)(6,8), (1,2)(3,4), (1,4)(2,3)(5,7)(6,8),
(1,3)(2,4)(5,8)(6,7) ] -> [ (1,3)(2,4)(6,8), (2,4)(5,7)(6,8),
(1,2)(3,4)(5,7)(6,8), (1,4)(2,3), (1,3)(2,4)(5,8)(6,7) ],
[ (1,3)(2,4)(6,8), (2,4)(5,7)(6,8), (1,2)(3,4), (1,4)(2,3)(5,7)(6,8),
(1,3)(2,4)(5,8)(6,7) ] -> [ (1,3)(2,4)(6,8), (2,4)(5,7)(6,8),
(1,4)(2,3), (1,2)(3,4)(5,7)(6,8), (1,3)(2,4)(5,8)(6,7) ],
[ (1,3)(2,4)(6,8), (2,4)(5,7)(6,8), (1,2)(3,4), (1,4)(2,3)(5,7)(6,8),
(1,3)(2,4)(5,8)(6,7) ] -> [ (1,2)(3,4)(5,7)(6,8), (1,3)(2,4)(6,8),
(5,6)(7,8), (1,3)(2,4)(5,8)(6,7), (2,4)(5,7)(6,8) ],
[ (1,3)(2,4)(6,8), (2,4)(5,7)(6,8), (1,2)(3,4), (1,4)(2,3)(5,7)(6,8),
(1,3)(2,4)(5,8)(6,7) ] -> [ (1,3)(2,4)(5,6)(7,8), (2,4)(5,7)(6,8),
(1,2)(3,4), (1,4)(2,3)(5,7)(6,8), (1,3)(2,4)(6,8) ] ]
gap> A3 := AutomorphismGroup(DirectProduct(D4,D4,D4));
<group of size 12582912 with 23 generators>
gap> SmallGeneratingSet(A3);
[ [ (1,2)(3,4)(6,8)(9,11), (1,2,3,4)(5,6)(7,8)(9,10)(11,12),
(1,2)(3,4)(5,6)(7,8)(10,12), (1,3)(5,6)(7,8)(9,10)(11,12),
(1,4)(2,3)(6,8)(9,12)(10,11), (1,2)(3,4)(5,8)(6,7)(9,10,11,12) ] ->
[ (2,4)(5,6)(7,8)(10,12), (1,4)(2,3)(5,6,7,8)(9,10)(11,12),
(1,2)(3,4)(5,6)(7,8)(10,12), (1,4)(2,3)(6,8)(9,12)(10,11),
(1,3)(5,6)(7,8)(9,10)(11,12), (1,4)(2,3)(5,6)(7,8)(9,12,11,10) ],
[ (1,2)(3,4)(6,8)(9,11), (1,2,3,4)(5,6)(7,8)(9,10)(11,12),
(1,2)(3,4)(5,6)(7,8)(10,12), (1,3)(5,6)(7,8)(9,10)(11,12),
(1,4)(2,3)(6,8)(9,12)(10,11), (1,2)(3,4)(5,8)(6,7)(9,10,11,12) ] ->
[ (1,3)(5,8)(6,7)(9,10)(11,12), (1,2,3,4)(6,8)(9,11),
(2,4)(6,8)(9,10)(11,12), (1,2)(3,4)(5,7)(10,12), (2,4)(5,8)(6,7)(9,11),
(2,4)(5,7)(9,10,11,12) ],
[ (1,2)(3,4)(6,8)(9,11), (1,2,3,4)(5,6)(7,8)(9,10)(11,12),
(1,2)(3,4)(5,6)(7,8)(10,12), (1,3)(5,6)(7,8)(9,10)(11,12),
(1,4)(2,3)(6,8)(9,12)(10,11), (1,2)(3,4)(5,8)(6,7)(9,10,11,12) ] ->
[ (2,4)(5,8)(6,7)(9,11), (1,4)(2,3)(5,6,7,8)(9,10)(11,12),
(2,4)(5,8)(6,7)(9,10)(11,12), (1,4)(2,3)(6,8)(9,10)(11,12),
(1,2)(3,4)(5,8)(6,7)(10,12), (1,2,3,4)(5,6)(7,8)(9,12)(10,11) ],
[ (1,2)(3,4)(6,8)(9,11), (1,2,3,4)(5,6)(7,8)(9,10)(11,12),
(1,2)(3,4)(5,6)(7,8)(10,12), (1,3)(5,6)(7,8)(9,10)(11,12),
(1,4)(2,3)(6,8)(9,12)(10,11), (1,2)(3,4)(5,8)(6,7)(9,10,11,12) ] ->
[ (1,3)(5,7)(9,10)(11,12), (1,4,3,2)(5,8)(6,7)(10,12),
(1,3)(5,6)(7,8)(9,10)(11,12), (1,2)(3,4)(5,6)(7,8)(9,11),
(1,3)(5,7)(9,11), (1,3)(5,6)(7,8)(9,12,11,10) ] ]
gap> A4 := AutomorphismGroup(DirectProduct(D4,D4,D4,D4));
<group of size 1649267441664 with 40 generators>
gap> SmallGeneratingSet(A4);
[ [ (2,4)(5,6)(7,8)(9,11)(10,12)(13,16)(14,15),
(5,6)(7,8)(9,11)(13,16)(14,15), (1,2)(3,4)(6,8)(9,10)(11,12)(13,15)(14,
16), (1,3)(5,8)(6,7)(9,11)(10,12)(13,15), (2,4)(6,8)(10,12),
(1,3)(2,4)(5,6)(7,8)(9,12)(10,11)(14,16), (2,4)(5,8)(6,7)(9,10)(11,12),
(1,3)(5,7)(6,8)(10,12)(13,14)(15,16) ] ->
[ (2,4)(5,6)(7,8)(9,12)(10,11)(13,15)(14,16),
(5,6)(7,8)(9,12)(10,11)(13,15), (1,2)(3,4)(6,8)(9,11)(10,12)(13,14)(15,
16), (1,3)(5,8)(6,7)(9,11)(13,15)(14,16), (2,4)(6,8)(14,16),
(1,3)(2,4)(5,6)(7,8)(10,12)(13,16)(14,15),
(2,4)(5,8)(6,7)(13,14)(15,16), (1,3)(5,7)(6,8)(9,10)(11,12)(14,16) ],
[ (2,4)(5,6)(7,8)(9,11)(10,12)(13,16)(14,15),
(5,6)(7,8)(9,11)(13,16)(14,15), (1,2)(3,4)(6,8)(9,10)(11,12)(13,15)(14,
16), (1,3)(5,8)(6,7)(9,11)(10,12)(13,15), (2,4)(6,8)(10,12),
(1,3)(2,4)(5,6)(7,8)(9,12)(10,11)(14,16), (2,4)(5,8)(6,7)(9,10)(11,12),
(1,3)(5,7)(6,8)(10,12)(13,14)(15,16) ] ->
[ (1,3)(5,7)(6,8)(9,10)(11,12)(13,14)(15,16), (1,3)(5,7)(9,10)(11,12),
(1,3)(2,4)(5,6)(7,8)(10,12)(14,16),
(1,2)(3,4)(5,7)(6,8)(9,12)(10,11)(13,16)(14,15),
(6,8)(10,12)(13,14)(15,16), (1,4)(2,3)(5,8)(6,7)(9,10)(11,12)(13,15)(14,
16), (5,6)(7,8)(9,12)(10,11)(13,14)(15,16),
(2,4)(6,8)(9,11)(10,12)(13,16)(14,15) ],
[ (2,4)(5,6)(7,8)(9,11)(10,12)(13,16)(14,15),
(5,6)(7,8)(9,11)(13,16)(14,15), (1,2)(3,4)(6,8)(9,10)(11,12)(13,15)(14,
16), (1,3)(5,8)(6,7)(9,11)(10,12)(13,15), (2,4)(6,8)(10,12),
(1,3)(2,4)(5,6)(7,8)(9,12)(10,11)(14,16), (2,4)(5,8)(6,7)(9,10)(11,12),
(1,3)(5,7)(6,8)(10,12)(13,14)(15,16) ] ->
[ (1,4)(2,3)(5,6)(7,8)(9,11)(10,12)(13,14)(15,16),
(5,6)(7,8)(9,11)(13,14)(15,16), (2,4)(6,8)(9,10)(11,12)(13,15)(14,16),
(1,2)(3,4)(5,8)(6,7)(9,11)(10,12)(14,16), (1,4)(2,3)(6,8)(10,12),
(1,3)(2,4)(5,6)(7,8)(9,12)(10,11)(13,15),
(1,4)(2,3)(5,8)(6,7)(9,10)(11,12),
(1,2)(3,4)(5,7)(6,8)(10,12)(13,16)(14,15) ],
[ (2,4)(5,6)(7,8)(9,11)(10,12)(13,16)(14,15),
(5,6)(7,8)(9,11)(13,16)(14,15), (1,2)(3,4)(6,8)(9,10)(11,12)(13,15)(14,
16), (1,3)(5,8)(6,7)(9,11)(10,12)(13,15), (2,4)(6,8)(10,12),
(1,3)(2,4)(5,6)(7,8)(9,12)(10,11)(14,16), (2,4)(5,8)(6,7)(9,10)(11,12),
(1,3)(5,7)(6,8)(10,12)(13,14)(15,16) ] ->
[ (1,3)(2,4)(5,6)(7,8)(9,12)(10,11)(13,14)(15,16),
(1,2)(3,4)(5,8)(6,7)(9,10)(11,12), (1,3)(5,7)(9,11)(10,12)(14,16),
(1,3)(2,4)(5,8)(6,7)(9,11)(13,16)(14,15),
(1,2)(3,4)(5,7)(9,11)(10,12)(13,16)(14,15),
(1,3)(5,6)(7,8)(10,12)(13,15)(14,16), (2,4)(5,8)(6,7)(13,14)(15,16),
(1,4)(2,3)(9,12)(10,11)(13,16)(14,15) ] ]