How can I extract the first frame of a GIF and save it as a PNG using GraphicsMagick on NodeJS?

Here are the steps in which I want to do this:

  1. The user gives the server a link to an animated gif
  2. The server uses "request(url)" to retrieve the file
  3. The server generates a thumbnail of the gif's first frame
  4. The server uploads the thumbnail to Amazon S3

The problem exists in Step 3. I can't figure out a way to extract the gif's first frame. I would prefer to use GraphicsMagick but if there is another way you know of that works, I would be most grateful!

NodeJS is being used.

Since I couldn't get it working on the server-side, I ended up just drawing the .gif to a <canvas> element to "simulate" extracting a .gif's first frame. This gave me the paused gif that I was going for.