Easy Guide: Turning Live Photos into GIFs with Jellycuts
Hey content creator, or turn your live photos into fun, eye-popping GIFs
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
- 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.
- 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.
- 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
.
- 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"
andheight: "512"
: Sets the size of the GIF to 512x512 pixels. The resulting GIF is stored in a variable calledgif
.
- 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.