Skip to content

Media ​

Photos, video, audio, camera, and image processing.

import Media;

addFrameToGif ​

Adds an image to the existing animated GIF passed as input. If no GIF is passed as input, a new animated GIF is created.

addFrameToGif(image: Image, gif: Media, delayTime: Number, autoSize: Boolean, width: Number, height: Number) -> Media
ParameterTypeDefault
imageImage—
gifMedia—
delayTimeNumber0.25
autoSizeBooleantrue
widthNumber—
heightNumber—

Shortcuts action: is.workflow.actions.addframetogif

addToPlayingNext ​

Adds the music passed as input to your Playing Next queue.

addToPlayingNext(play: Enum, music: Media)
ParameterTypeDefault
playNext | Later"Next"
musicMedia—

Shortcuts action: is.workflow.actions.addmusictoupnext

addToPlaylist ​

Adds the items passed as input to the specified playlist.

addToPlaylist(playlist: Text, music: Any) -> Media
ParameterTypeDefault
playlistText—
musicAny—

Shortcuts action: is.workflow.actions.addtoplaylist

changePlaybackDestination ​

Changes the current playback destination. Use this action to route audio to AirPods, Bluetooth speakers, HomePod, or other AirPlay devices. Optionally, this action can add or remove devices from a group, so you can route audio to multiple devices at once.

changePlaybackDestination(operation: Enum, device: Text)
ParameterTypeDefault
operationSet | Add | Remove"Set"
deviceText"Local"

When attempting to add a device that does not support groups, all other devices are removed as playback destinations first.

Shortcuts action: is.workflow.actions.setplaybackdestination

clearPlayingNext ​

Clears all the music in your Playing Next queue.

clearPlayingNext()

Shortcuts action: is.workflow.actions.clearupnext

combineImages ​

Combines the images passed into the action horizontally, vertically, or in a grid.

combineImages(mode: Enum, spacing: Number, images: Image) -> Image
ParameterTypeDefault
modeHorizontally | Vertically | In a Grid"Horizontally"
spacingNumber0
imagesImage—

Shortcuts action: is.workflow.actions.image.combine

convertImage ​

Converts the images passed into the action to the specified image format.

convertImage(format: Text, quality: Number, preserveMetadata: Boolean, image: Image) -> Image
ParameterTypeDefault
formatText"JPEG"
qualityNumber0.75
preserveMetadataBooleantrue
imageImage—

Shortcuts action: is.workflow.actions.image.convert

createPhotoAlbum ​

Creates a new album in the Photos app, including the specified photos and videos.

createPhotoAlbum(albumName: Text, photos: Any) -> Image
ParameterTypeDefault
albumNameText—
photosAny—

Shortcuts action: is.workflow.actions.photos.createalbum

createPlaylist ​

Creates a new playlist in the Music app, adding any items passed as input to the new playlist.

createPlaylist(playlistName: Text, author: Text, description: Text, music: Media) -> Media
ParameterTypeDefault
playlistNameText—
authorText—
descriptionText—
musicMedia—

Shortcuts action: is.workflow.actions.createplaylist

cropImage ​

Crops images to a smaller rectangle.

cropImage(image: Image, position: Enum, xCoordinate: Number, yCoordinate: Number, width: Number, height: Number) -> Image
ParameterTypeDefault
imageImage—
positionCenter | Top Left | Top Right | Bottom Left | Bottom Right | Custom"Center"
xCoordinateNumber—
yCoordinateNumber—
widthNumber100
heightNumber100

Shortcuts action: is.workflow.actions.image.crop

deletePhotos ​

Deletes the photos passed as input from the device's photo library. This action asks for confirmation before performing the deletion.

deletePhotos(photos: Any)
ParameterTypeDefault
photosAny—

Shortcuts action: is.workflow.actions.deletephotos

encodeMedia ​

Re-encodes the media passed as input at the specified size, optionally converting to audio.

encodeMedia(media: Media, audioOnly: Boolean, format: Enum, size: Enum, speed: Enum, preserveTransparency: Boolean, customSpeed: Number, metadata: Any, title: Text, artist: Text, album: Text, genre: Text, year: Text, artwork: Image) -> Media
ParameterTypeDefault
mediaMedia—
audioOnlyBooleanfalse
formatM4A | AIFF"M4A"
size640x480 | 960x540 | 1280x720 | 1920x1080 | 3840x2160 | HEVC 1920x1080 | HEVC 3840x2160 | ProRes 422 | Passthrough"Passthrough"
speed0.5X | Normal | 1.5X | 2X | Custom"Normal"
preserveTransparencyBooleanfalse
customSpeedNumber—
metadataAny—
titleText—
artistText—
albumText—
genreText—
yearText—
artworkImage—

Shortcuts action: is.workflow.actions.encodemedia

findGiphyGifs ​

Finds GIFs representing the provided text, using Giphy.

findGiphyGifs(search: Text, showGifPicker: Boolean, WFGiphyLimit: Number, selectMultiple: Boolean) -> Media
ParameterTypeDefault
searchText—
showGifPickerBooleantrue
WFGiphyLimitNumber1
selectMultipleBoolean—

Powered by Giphy (giphy.com)

Shortcuts action: is.workflow.actions.giphy

findImages ​

findImages(sortBy: Enum, order: Enum, WFContentItemLimit: Boolean, WFContentItemLimitNumber: Number) -> Image
ParameterTypeDefault
sortByWidth | Height | Date Taken | Camera Make | Camera Model | Is a Screenshot | Location | Duration | Frame Rate | File Size | File Extension | Name | Album | Media Type | Photo Type | Time Taken | Metadata Dictionary | Is Favorite | Is Hidden | Creation Date | Last Modified Date—
orderLatest First | Oldest First—
WFContentItemLimitBooleanfalse
WFContentItemLimitNumberNumber5

Shortcuts action: is.workflow.actions.filter.images

findMusic ​

findMusic(sortBy: Enum, order: Enum, WFContentItemLimit: Boolean, WFContentItemLimitNumber: Number) -> Media
ParameterTypeDefault
sortByTitle | Artist | Album Artist | Album | Genre | Composer | Date Added | Duration | Play Count | Has Album Artwork | Album Artwork | Skip Count | Rating | Comments | Is Explicit | Lyrics | Release Date | Last Played Date | Is Cloud Item | Album Track Number | Disc Number—
orderLatest First | Oldest First—
WFContentItemLimitBooleanfalse
WFContentItemLimitNumberNumber5

Shortcuts action: is.workflow.actions.filter.music

findPhotos ​

findPhotos(sortBy: Enum, order: Enum, WFContentItemLimit: Boolean, WFContentItemLimitNumber: Number) -> Image
ParameterTypeDefault
sortByWidth | Height | Date Taken | Camera Make | Camera Model | Is a Screenshot | Location | Duration | Frame Rate | File Size | File Extension | Name | Album | Media Type | Photo Type | Time Taken | Metadata Dictionary | Is Favorite | Is Hidden | Creation Date | Last Modified Date—
orderLatest First | Oldest First—
WFContentItemLimitBooleanfalse
WFContentItemLimitNumberNumber5

Shortcuts action: is.workflow.actions.filter.photos

findPodcasts ​

Finds podcasts in the Apple Podcasts catalog, returning the items that match the specified search terms.

findPodcasts(search: Text, searchBy: Text, results: Text, country: Text, WFItemLimit: Number) -> PodcastShow
ParameterTypeDefault
searchText—
searchByText—
resultsText—
countryText—
WFItemLimitNumber25

Shortcuts action: is.workflow.actions.searchpodcasts

flipImage ​

Reverses the direction of images either horizontally or vertically.

flipImage(direction: Enum, image: Image) -> Image
ParameterTypeDefault
directionHorizontal | Vertical"Horizontal"
imageImage—

Shortcuts action: is.workflow.actions.image.flip

followPodcast ​

Follows podcasts or podcast feed URLs passed into the action.

followPodcast(podcastUrl: Text)
ParameterTypeDefault
podcastUrlText—

Shortcuts action: is.workflow.actions.podcasts.subscribe

getCurrentSong ​

Returns the song that is currently playing in the Music app, if any.

getCurrentSong(get: Enum) -> Any
ParameterTypeDefault
getCurrent Song | Current Playback Time"Current Song"

Shortcuts action: is.workflow.actions.getcurrentsong

getDetailsOfImages ​

getDetailsOfImages(get: Enum) -> Any
ParameterTypeDefault
getWidth | Height | Date Taken | Camera Make | Camera Model | Is a Screenshot | Location | Duration | Frame Rate | File Size | File Extension | Name | Album | Media Type | Photo Type | Time Taken | Metadata Dictionary | Is Favorite | Is Hidden | Creation Date | Last Modified Date—

Shortcuts action: is.workflow.actions.properties.images

getDetailsOfItunesArtist ​

getDetailsOfItunesArtist(get: Enum) -> Any
ParameterTypeDefault
getName | Genre | Store URL | Store ID—

Shortcuts action: is.workflow.actions.properties.itunesartist

getDetailsOfItunesProduct ​

getDetailsOfItunesProduct(get: Enum) -> Any
ParameterTypeDefault
getName | Artist | Price | Genre | Description | Store URL | Store ID | Artwork | Release Date | Duration | Track Count | Is Explicit | Currency Code | Streamable—

Shortcuts action: is.workflow.actions.properties.itunesstore

getDetailsOfMusic ​

getDetailsOfMusic(get: Enum) -> Any
ParameterTypeDefault
getTitle | Artist | Album Artist | Album | Genre | Composer | Date Added | Duration | Play Count | Has Album Artwork | Album Artwork | Skip Count | Rating | Comments | Is Explicit | Lyrics | Release Date | Last Played Date | Is Cloud Item | Album Track Number | Disc Number—

Shortcuts action: is.workflow.actions.properties.music

getDetailsOfPodcast ​

getDetailsOfPodcast(get: Enum) -> Any
ParameterTypeDefault
getName | Artist | Feed URL | Genre | Store URL | Store ID | Artwork—

Shortcuts action: is.workflow.actions.properties.podcastshow

getDetailsOfPodcastEpisode ​

getDetailsOfPodcastEpisode(get: Enum) -> Any
ParameterTypeDefault
getName | Feed URL | Episode GUID | Duration | Date | Has Been Played | Is Playing | Artist | Album | Store URL—

Shortcuts action: is.workflow.actions.properties.podcast

getDetailsOfShazam ​

getDetailsOfShazam(get: Enum) -> Any
ParameterTypeDefault
getName | Artist | Is on Apple Music | Apple Music URL | Artwork | Video URL | Shazam URL | Lyrics Snippet—

Shortcuts action: is.workflow.actions.properties.shazam

getEpisodesOfPodcast ​

Returns a list of episodes from a podcast show.

getEpisodesOfPodcast(podcast: Text) -> PodcastEpisode
ParameterTypeDefault
podcastText—

Shortcuts action: is.workflow.actions.getepisodesforpodcast

getFramesFromImage ​

Splits an animated GIF or a photo burst into individual frames.

getFramesFromImage(image: Image) -> Image
ParameterTypeDefault
imageImage—

Shortcuts action: is.workflow.actions.getframesfromimage

getLastImport ​

Gets the most recent photo import from the Photos app.

getLastImport() -> Image

Shortcuts action: is.workflow.actions.getlatestphotoimport

getLatestBursts ​

Gets the most recent burst photos from the photo library.

getLatestBursts(WFGetLatestPhotoCount: Number) -> Image
ParameterTypeDefault
WFGetLatestPhotoCountNumber1

Shortcuts action: is.workflow.actions.getlatestbursts

getLatestLivePhotos ​

Gets the most recent Live Photos from the photo library.

getLatestLivePhotos(WFGetLatestPhotoCount: Number) -> Image
ParameterTypeDefault
WFGetLatestPhotoCountNumber1

Shortcuts action: is.workflow.actions.getlatestlivephotos

getLatestPhotos ​

Gets the most recent photos from the photo library.

getLatestPhotos(WFGetLatestPhotoCount: Number, includeScreenshots: Boolean) -> Image
ParameterTypeDefault
WFGetLatestPhotoCountNumber1
includeScreenshotsBooleantrue

Shortcuts action: is.workflow.actions.getlastphoto

getLatestScreenshots ​

Gets the most recent screenshots from the photo library.

getLatestScreenshots(WFGetLatestPhotoCount: Number) -> Image
ParameterTypeDefault
WFGetLatestPhotoCountNumber1

Shortcuts action: is.workflow.actions.getlastscreenshot

getLatestVideos ​

Gets the most recent videos from the photo library.

getLatestVideos(WFGetLatestPhotoCount: Number) -> Image
ParameterTypeDefault
WFGetLatestPhotoCountNumber1

Shortcuts action: is.workflow.actions.getlastvideo

getPlaylist ​

Gets every song in the specified playlist.

getPlaylist(playlist: Text) -> Media
ParameterTypeDefault
playlistText—

Shortcuts action: is.workflow.actions.get.playlist

getPodcastsFromLibrary ​

Gets a list of all shows in your Podcast library.

getPodcastsFromLibrary() -> PodcastShow

Shortcuts action: is.workflow.actions.getpodcastsfromlibrary

handOffPlayback ​

Hands off Music or Podcasts playback between two devices.

handOffPlayback(source: Text, destination: Text)
ParameterTypeDefault
sourceText—
destinationText—

Shortcuts action: is.workflow.actions.handoffplayback

importAudioFilesIntoMusic ​

Imports audio files into Music and compresses them with the chosen encoder.

importAudioFilesIntoMusic(audioFiles: File, reEncode: Boolean, encoder: Enum) -> Media
ParameterTypeDefault
audioFilesFile—
reEncodeBooleanfalse
encoderDefault | AAC | AIFF | Lossless | MP3 | WAV"Default"

Shortcuts action: is.workflow.actions.importaudiofiles

makeGif ​

Creates an animated GIF from the images or video passed into the action.

makeGif(secondsPerPhoto: Number, loopForever: Boolean, WFMakeGIFActionLoopCount: Number, autoSize: Boolean, width: Number, height: Number, content: Any) -> Media
ParameterTypeDefault
secondsPerPhotoNumber0.2
loopForeverBooleantrue
WFMakeGIFActionLoopCountNumber—
autoSizeBooleantrue
widthNumber—
heightNumber—
contentAny—

Shortcuts action: is.workflow.actions.makegif

makeVideoFromGif ​

Converts an animated GIF into a video.

makeVideoFromGif(WFMakeVideoFromGIFActionLoopCount: Number, image: Media) -> Media
ParameterTypeDefault
WFMakeVideoFromGIFActionLoopCountNumber1
imageMedia—

Shortcuts action: is.workflow.actions.makevideofromgif

markup ​

Edits an image or PDF with Markup.

markup(document: File) -> Image
ParameterTypeDefault
documentFile—

Shortcuts action: is.workflow.actions.avairyeditphoto

maskImage ​

Applies a mask to each image passed into the action. For example, you can cut images into a rounded rectangle, ellipse or icon shape, or provide a custom alpha mask.

maskImage(image: Image, type: Enum, cornerRadius: Number, customImage: Image) -> Image
ParameterTypeDefault
imageImage—
typeRounded Rectangle | Ellipse | Icon | Custom Image"Rounded Rectangle"
cornerRadiusNumber—
customImageImage—

Shortcuts action: is.workflow.actions.image.mask

overlayImage ​

Overlays an image on top of another image.

overlayImage(WFImage: Image, WFInput: Image, showImageEditor: Boolean, position: Enum, width: Number, height: Number, xCoordinate: Number, yCoordinate: Number, rotation(degrees): Number, opacity: Number) -> Image
ParameterTypeDefault
WFImageImage—
WFInputImage—
showImageEditorBooleantrue
positionCenter | Top Left | Top Right | Bottom Left | Bottom Right | Custom"Center"
widthNumber—
heightNumber—
xCoordinateNumber—
yCoordinateNumber—
rotation(degrees)Number0
opacityNumber100

Shortcuts action: is.workflow.actions.overlayimageonimage

overlayText ​

Overlays text onto the image passed as input.

overlayText(text: Text, image: Image, position: Enum, WFTextX: Number, WFPercentageTextX: Number, WFTextY: Number, WFPercentageTextY: Number, WFTextOffset: Number, WFPercentageTextOffset: Number, font: Text, WFFontSize: Number, WFPercentageFontSize: Number, textAlignment: Enum, fontColor: Text, rotation: Number, outlineText: Boolean, WFTextStrokeWidth: Number, WFPercentageTextStrokeWidth: Number, strokeColor: Text, WFTextBoxWidth: Number, WFPercentageTextBoxWidth: Number, sizing: Enum) -> Image
ParameterTypeDefault
textText—
imageImage—
positionTop Left | Top Center | Top Right | Middle Left | Center | Middle Right | Bottom Left | Bottom Center | Bottom Right | Custom Position"Center"
WFTextXNumber—
WFPercentageTextXNumber—
WFTextYNumber—
WFPercentageTextYNumber—
WFTextOffsetNumber0
WFPercentageTextOffsetNumber0.1
fontText—
WFFontSizeNumber36
WFPercentageFontSizeNumber0.1
textAlignmentLeft | Center | Right"Center"
fontColorText—
rotationNumber0
outlineTextBooleanfalse
WFTextStrokeWidthNumber0
WFPercentageTextStrokeWidthNumber0.1
strokeColorText—
WFTextBoxWidthNumber—
WFPercentageTextBoxWidthNumber0.8
sizingProportional | Absolute"Proportional"

Shortcuts action: is.workflow.actions.overlaytext

playMusic ​

Plays music using the Music app.

playMusic(music: Media, shuffle: Enum, repeat: Enum)
ParameterTypeDefault
musicMedia—
shuffleOff | Songs—
repeatNone | One | All—

Shortcuts action: is.workflow.actions.playmusic

playPause ​

Plays or pauses the currently playing media.

playPause(playPause: Enum, device: Text)
ParameterTypeDefault
playPausePlay/Pause | Play | Pause"Play/Pause"
deviceText"Local"

Shortcuts action: is.workflow.actions.pausemusic

playPodcast ​

Plays a podcast using the Podcasts app. If no podcast is selected, resumes playback.

playPodcast(podcast: Text, playbackOrder: Enum)
ParameterTypeDefault
podcastText—
playbackOrderDefault | Newest First | Oldest First—

Shortcuts action: is.workflow.actions.playpodcast

playSound ​

Plays the audio file passed as input, or a default notification sound if no audio file was passed.

playSound(soundFile: Media)
ParameterTypeDefault
soundFileMedia—

Shortcuts action: is.workflow.actions.playsound

quickConvertImage ​

quickConvertImage(preserveMetadata: Boolean, image: Image, fileFormat: Enum, imageSize: Enum) -> Image
ParameterTypeDefault
preserveMetadataBoolean—
imageImage—
fileFormatJPEG | PNG | HEIF"JPEG"
imageSizeSmall | Medium | Large | Original"Small"

Shortcuts action: is.workflow.actions.image.convert.finder

recognizeMusic ​

Uses the microphone to listen to and identify nearby media.

recognizeMusic(showWhenRun: Boolean, errorIfNotRecognized: Boolean) -> ShazamMedia
ParameterTypeDefault
showWhenRunBooleantrue
errorIfNotRecognizedBooleantrue

Shortcuts action: com.apple.musicrecognition.RecognizeMusicIntent

recordAudio ​

Uses the microphone to record audio.

recordAudio(audioQuality: Enum, startRecording: Enum, finishRecording: Enum, duration: Number) -> Media
ParameterTypeDefault
audioQualityNormal | Very High"Normal"
startRecordingOn Tap | Immediately"On Tap"
finishRecordingOn Tap | After Time"On Tap"
durationNumber—

Shortcuts action: is.workflow.actions.recordaudio

removeFromPhotoAlbum ​

Removes the photos or videos passed as input from the specified photo album.

removeFromPhotoAlbum(album: Text, input: Image) -> Image
ParameterTypeDefault
albumText—
inputImage—

Shortcuts action: is.workflow.actions.removefromalbum

removeImageBackground ​

Removes the background from an image, keeping the subjects.

removeImageBackground(crop: Boolean, image: Image) -> Image
ParameterTypeDefault
cropBooleanfalse
imageImage—

Shortcuts action: is.workflow.actions.image.removebackground

resizeImage ​

Scales images to a particular width and height.

resizeImage(by: Enum, width: Number, height: Number, percentage: Number, longestEdgeSize: Number, image: Image) -> Image
ParameterTypeDefault
bySize | Percentage | Longest Edge"Size"
widthNumber640
heightNumber—
percentageNumber—
longestEdgeSizeNumber—
imageImage—

If the width or height is not set, that dimension is automatically calculated to maintain the original image's aspect ratio.

Shortcuts action: is.workflow.actions.image.resize

rotateImageVideo ​

Turns an image or video clockwise by a particular number of degrees.

rotateImageVideo(degrees: Number, image: Image) -> Image
ParameterTypeDefault
degreesNumber90
imageImage—

Shortcuts action: is.workflow.actions.image.rotate

saveToPhotos ​

Adds the photos and videos passed as input to the specified photo album.

saveToPhotos(album: Text, input: Any) -> Image
ParameterTypeDefault
albumText—
inputAny—

If a photo passed as input is already in the specified album, the photo will be duplicated.

Shortcuts action: is.workflow.actions.savetocameraroll

seek ​

Seek to a specific time, or forward and backward by some duration, in the currently playing media.

seek(seekType: Enum, timeInterval: Number, device: Text)
ParameterTypeDefault
seekTypeTo Time | Forward By | Backward By"To Time"
timeIntervalNumber—
deviceText"Local"

Shortcuts action: is.workflow.actions.seek

selectMusic ​

Prompts to select music from your local music library.

selectMusic(selectMultipleSongs: Boolean) -> Media
ParameterTypeDefault
selectMultipleSongsBoolean—

Shortcuts action: is.workflow.actions.exportsong

selectPhotos ​

Prompts to choose photos and videos from your photo library.

selectPhotos(include: Enum, selectMultiple: Boolean) -> Image
ParameterTypeDefault
includeImages | Live Photos | VideosImages,Live Photos,Videos
selectMultipleBoolean—

Shortcuts action: is.workflow.actions.selectphoto

skipBack ​

Skips to the previous song in the current music queue.

skipBack(skipTo: Enum, device: Text)
ParameterTypeDefault
skipToBeginning | Previous Song"Beginning"
deviceText"Local"

Shortcuts action: is.workflow.actions.skipback

skipForward ​

Skips to the next song in the current music queue.

skipForward(device: Text)
ParameterTypeDefault
deviceText"Local"

Shortcuts action: is.workflow.actions.skipforward

takePhoto ​

Uses the camera to take photos.

takePhoto(showCameraPreview: Boolean, WFPhotoCount: Number, camera: Enum) -> Image
ParameterTypeDefault
showCameraPreviewBooleantrue
WFPhotoCountNumber1
cameraFront | Back"Back"

Shortcuts action: is.workflow.actions.takephoto

takeVideo ​

Uses the camera to take a video clip.

takeVideo(camera: Enum, quality: Enum, startRecording: Enum) -> Media
ParameterTypeDefault
cameraFront | Back"Back"
qualityLow | Medium | High"High"
startRecordingOn Tap | Immediately"Immediately"

Shortcuts action: is.workflow.actions.takevideo

trimMedia ​

Presents a view allowing you to trim the media passed into the action.

trimMedia(media: Media) -> Media
ParameterTypeDefault
mediaMedia—

Shortcuts action: is.workflow.actions.trimvideo