+ // use Imagick if available to keep GIF animation
+ if (class_exists('\\Imagick')) {
+ try {
+ $imagick = new \Imagick();
+ $imagick->readImageBlob($res->getBody());
+ $imagick->setImageFormat('gif');
+ $imagick->writeImages($localPath, true);
+ } catch (\Exception $e) {
+ // if Imagick fail, fallback to the default solution
+ imagegif($im, $localPath);
+ }
+ } else {
+ imagegif($im, $localPath);
+ }
+