If you didn't mind using a different extension, Cargo can do this pretty easily (and lots of other useful stuff as well).
In Template:Artwork
do something like:
<noinclude>
{{#cargo_declare: _table = artworks
| description = Wikitext
| artist = Page
}}
</noinclude><includeonly>
{{#cargo_store: _table = artworks
| description = {{{description|}}}
| artist = {{{artist|}}}
}}
</includeonly>
; Description
: {{{description}}}
; Artist
: [[{{{artist}}}]]
And then where you want the gallery (e.g. on a page for an artist), do something like:
{{#cargo_query: tables = artworks
|fields = _pageName, description, artist
|where = artist = '{{PAGENAME}}'
|format = gallery
|caption field = description
|show filename = 0
|show dimensions = 0
|show bytes = 0
}}
This assumes that the Artwork template is used on files' pages; if you wanted a mainspace page for each artwork, you could still do something similar but would have to introduce a separate image
field that points to the actual file.