Existe uma chamada de procedimento do GIMP, destinada a ser usada em scripts e plug-ins, que podem ser chamados diretamente dos prompts interativos.
Aqui está um exemplo de sessão do Python que recupera uma referência à última imagem aberta no GIMP, e aplica [2, 0, 0, 0, 2, 0, 0, 0, 1] para transformá-lo.
Você pode acessar o console Python no GIMP em filters->python-fu->console
GIMP 2.8.14 Python Console
Python 2.7.5 (default, Jun 25 2014, 10:19:55)
[GCC 4.8.2 20131212 (Red Hat 4.8.2-7)]
>>> img = gimp.image_list()[0]
>>> img
<gimp.Image '[Untitled]'>
>>> matrix = [2,0,0, 0,2,0, 0,0,1]
>>> more_parms = [True, TRANSFORM_RESIZE_ADJUST]
>>> drawable = pdb.gimp_drawable_transform_matrix_default(img.layers[0], *(matrix + more_parms))
Eu pude encontrar o procedimento 'gimp_drawable_transform_matrix_default clicando no botão "browse" na parte inferior da caixa de diálogo com a sessão do Python, procurando por "matrix", e quando encontrei uma chamada adequada, clique em "apply": cole a chamada de função na sessão do Python com parâmetros simulados, eu quis substituir.
Eu então aproveitei o "syntax sugar" do Python para passar elementos de sequência como parâmetros individuais para uma chamada de função - é para isso que o "*" serve. Para que isso funcione, eu tive que acrescentar os dois parâmetros extras (interpolação e modo clip) aos coeficientes da matriz.
Esta é, na verdade, a mesma chamada que
pdb.gimp_drawable_transform_matrix_default(img.layers[0], matrix[0], matrix[1], matrix[2], ...., matrix[9], True, TRANSFORM_SIZE_ADJUST)
seria.