You could extend the geometric progressions in each of the factors indefinitely without creating any new contributions to $x^{12}$ (since the added terms are all of too high degree for that). Your problem then is equivalent to finding the number of solutions $a,b,c,d,e,f\in\mathbf N$ (with $0\in\mathbf N$) to the equation
$$
2a+4b+6c+8d+10e+12f=12,
$$
as such a solution counts corresponds to picking terms $x^{2a}$, $x^{4b}$, $x^{6c}$, $x^{8d}$, $x^{10e}$, $x^{12f}$ from the respective factors and muliplying them to give $x^{12}$.
After dividing by $2$ this gives the equivalent $a+2b+3c+4d+5e+6f=6$. At this point (or earlier) you may recognise that you are counting the partitions of $6$ (with $a,b,c,d,e,f$ giving the multiplicities of $1,2,3,4,5,6$ as part, respectively), so the answer is going to be $11$.
If you consider looking-up to be cheating, you can do computations of this kind by maintaining an array with the coefficients of the current polynomial, and successively incorporating the factors by multiplication. Each factor being a geometric series $S=1+x^d+x^{2d}+\cdots$, there is a trick to doing this efficiently. Let $P$ be multiplied by $S$, then the (new) coefficient of $x^k$ in $PS$ will be equal to the (old) coefficient of $x^k$ in $P$ plus (if $k\geq d$) the (new) coefficient of $x^{k-d}$ in $PS$; this comes from writing $S=1+x^dS$. So to do the multiplication, traverse the array of coefficients from left to right, adding each coefficient to the one $d$ places to its
right, until running off the end of the array. Here is a piece of Python code that does it, just to show how easy it is. It prints $11$.
c = [1]*7 # start with c[0]=1, ... c[6]=1
for d in [2,3,4,5,6]: # process all factors except the first
for k in range (d,7): # process terms that need updating
c[k] += c[k-d] # add coefficient from d places to the left
c[6] # the value that interests us