Easy Guide: Turning Live Photos into GIFs with Jellycuts

Hey content creator, or turn your live photos into fun, eye-popping GIFs

Easy Guide: Turning Live Photos into GIFs with Jellycuts

From Live Photo to GIF in Seconds: How Jellycuts Simplifies the Process

Live Photos are a fantastic feature on iPhones that capture not just a single frame but a few seconds of movement and sound, bringing your photos to life. A few months ago, I graduated from college, capturing countless Live Photos on my iPhone. I wanted to share these animated snippets with everyone, especially those who couldn't be there. However, I quickly ran into a problem: not everyone in my family uses an iPhone, and most social media sites we use don’t support Live Photos.

Converting Live Photos to GIFs with Jellycuts is a game-changer. Your thankless task suddenly Becomes a fun way to share special moments with friends and family.

The Script Explained

Here’s the script we’ll be using:

import Shortcuts
#Color: navy, #Icon: picture

// Get the last live photo from the camera roll (only 1 photo)
getLastLivePhoto(count: 1) >> image


// Convert the live photo to a GIF
// - frameTime: 1 second per frame
// - loopOn: enable looping
// - loopCount: 5 times
// - autoSize: automatically adjust the size
// - width: 512 pixels
// - height: 512 pixels
makeGIF(content: image, frameTime: "1", loopOn: true, loopCount: 5, autoSize: true, width: "512", height: "512") >> gif


// Save the resulting GIF to the camera roll
saveToCameraRoll(image: gif)

Step-by-Step Guide

  1. Importing the Shortcuts Module:
import Shortcuts
# Import the Shortcuts module

This line tells the script to use the Shortcuts module, which has all the functions we need to work with photos and GIFs.

  1. Setting the Appearance:
// Set the color to navy and the icon to picture for this Jellycut
#Color: navy, #Icon: picture

These lines set the color and icon for the script. It makes it easier to find and recognize in your Jellycuts library.

  1. Fetching the Latest Live Photo:
// Get the last live photo from the camera roll (only 1 photo)
getLastLivePhoto(count: 1) >> image

This command grabs the most recent Live Photo from your camera roll. The count: 1 means it only gets one photo. The photo is stored in a variable called image.

  1. Creating the GIF:
// Convert the live photo to a GIF
// - frameTime: 1 second per frame
// - loopOn: enable looping
// - loopCount: 5 times
// - autoSize: automatically adjust the size
// - width: 512 pixels
// - height: 512 pixels
makeGIF(content: image, frameTime: "1", loopOn: true, loopCount: 5, autoSize: true, width: "512", height: "512") >> gif

This line converts the Live Photo into a GIF. Here’s what each part means:

  • content: image: Uses the Live Photo we got earlier.
  • frameTime: "1": Each frame in the GIF lasts 1 second.
  • loopOn: true: The GIF will loop.
  • loopCount: 5: The GIF will loop 5 times.
  • autoSize: true: Automatically adjusts the size.
  • width: "512" and height: "512": Sets the size of the GIF to 512x512 pixels. The resulting GIF is stored in a variable called gif.
  1. Saving the GIF to Camera Roll:
// Save the resulting GIF to the camera roll
saveToCameraRoll(image: gif)

This final command saves the GIF to your camera roll.

Conclusion

With this simple Jellycuts script, you can save yourself a lot of headache. I would love to see you share your work in the comments below.