# Google Photos

Google Photos is a cloud-based photo storage and organization service offering automatic backups, AI-assisted search, and shared albums for personal and collaborative media management

- **Category:** images & design
- **Auth:** OAUTH2
- **Composio Managed App Available?** Yes
- **Tools:** 14
- **Triggers:** 0
- **Slug:** `GOOGLEPHOTOS`
- **Version:** 20260307_00

## Tools

### Add Enrichment

**Slug:** `GOOGLEPHOTOS_ADD_ENRICHMENT`

Adds an enrichment at a specified position in a defined album.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `albumId` | string | Yes | Identifier of the album where the enrichment is to be added |
| `albumPosition` | object | Yes | Position in the album where the enrichment is to be inserted. Required field with valid position types: FIRST_IN_ALBUM, LAST_IN_ALBUM, AFTER_MEDIA_ITEM (requires relativeMediaItemId), AFTER_ENRICHMENT_ITEM (requires relativeEnrichmentItemId) |
| `newEnrichmentItem` | object | Yes | The enrichment to be added, can be a text, location, or map enrichment |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Batch Add Media Items

**Slug:** `GOOGLEPHOTOS_BATCH_ADD_MEDIA_ITEMS`

Adds one or more media items to an album in Google Photos.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `albumId` | string | Yes | Identifier of the Album that the media items are added to. Must be an album created by this application. |
| `mediaItemIds` | array | Yes | Identifiers of the MediaItems to be added. Maximum 50 items. Media items must be created by this application. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Batch Create Media Items

**Slug:** `GOOGLEPHOTOS_BATCH_CREATE_MEDIA_ITEMS`

Batch upload and create media items in Google Photos. Supports three input methods: 1. 'urls': Simple list of public URLs (file names extracted automatically) 2. 'media_files': List of objects with url/file, file_name, and description 3. 'files': List of FileUploadable objects for pre-uploaded files Media items can optionally be added to an album at a specific position. Maximum 50 items per request.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `urls` | array | No | Simplified input: List of public URLs of media files to upload. File names will be extracted from URLs automatically. Use 'media_files' for more control over file names and descriptions. |
| `files` | array | No | List of files to upload to Google Photos. |
| `albumId` | string | No | Optional identifier of the album where the media items are to be added. If not specified, media items are added to the user's library only. |
| `media_files` | array | No | List of media files to upload. Each item can specify either a 'url' (public URL) or a 'file' (FileUploadable object). Maximum 50 items per request. |
| `albumPosition` | object | No | Position in the album to add the media items. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Batch Get Media Items

**Slug:** `GOOGLEPHOTOS_BATCH_GET_MEDIA_ITEMS`

Returns the list of media items for the specified media item identifiers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `mediaItemIds` | array | Yes | Identifiers of the media items to be requested. Must not contain duplicates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Album

**Slug:** `GOOGLEPHOTOS_CREATE_ALBUM`

Creates a new album in Google Photos.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | Name of the album to be created in Google Photos. Maximum 500 characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Album

**Slug:** `GOOGLEPHOTOS_GET_ALBUM`

Returns the album based on the specified albumId.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `albumId` | string | Yes | Identifier of the album to be requested. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download Photos Media Item

**Slug:** `GOOGLEPHOTOS_GET_MEDIA_ITEM_DOWNLOAD`

Downloads a media item from Google Photos and returns it as a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `mediaItemId` | string | Yes | ID of the media item to download |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Albums

**Slug:** `GOOGLEPHOTOS_LIST_ALBUMS`

Lists all albums shown to a user in the Albums tab of Google Photos.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pageSize` | integer | No | Maximum number of albums to return. Default 20, maximum 50. |
| `pageToken` | string | No | Continuation token for getting the next page of results |
| `excludeNonAppCreatedData` | boolean | No | If true, excludes media items not created by this app |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Media Items (App-Created Only)

**Slug:** `GOOGLEPHOTOS_LIST_MEDIA_ITEMS`

Lists media items created by this application from Google Photos. DEPRECATION NOTICE: As of March 31, 2025, the Google Photos Library API ONLY returns media items that were uploaded/created by your application. This action CANNOT access the user's full photo library. Use cases this action SUPPORTS: - Listing photos/videos your app previously uploaded to the user's library - Managing app-created content in Google Photos Use cases this action DOES NOT SUPPORT: - Accessing photos taken by the user's camera - Viewing photos from other apps or web uploads - Listing the user's entire photo library For accessing a user's full library, use the Google Photos Picker API instead: https://developers.google.com/photos/picker

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pageSize` | integer | No | Maximum number of items to return. Default 25, maximum 100. |
| `pageToken` | string | No | Token for getting the next page of results |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Shared Albums (Deprecated)

**Slug:** `GOOGLEPHOTOS_LIST_SHARED_ALBUMS`

[DEPRECATED - sunset March 31, 2025] Lists all shared albums available in the Sharing tab of the user's Google Photos app. Use when you need to retrieve shared albums that are visible to the user in their Sharing tab.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pageSize` | integer | No | Maximum number of albums to return. Default 20, maximum 50. |
| `pageToken` | string | No | Continuation token for getting the next page of results. Use the value returned in nextPageToken from the previous response. |
| `excludeNonAppCreatedData` | boolean | No | If true, excludes media items not created by this app. Defaults to false (all albums are returned). This field is ignored if the photoslibrary.readonly.appcreateddata scope is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Media Items

**Slug:** `GOOGLEPHOTOS_SEARCH_MEDIA_ITEMS`

Searches for media items in a user's Google Photos library.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `albumId` | string | No | Album to search within |
| `filters` | object | No | Search filters |
| `orderBy` | string | No | Sort order for results, e.g. 'MediaMetadata.creation_time desc' |
| `pageSize` | integer | No | Maximum number of items to return. Default 25, maximum 100. |
| `pageToken` | string | No | Token for getting the next page |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Album

**Slug:** `GOOGLEPHOTOS_UPDATE_ALBUM`

Updates an album's title or cover photo in Google Photos.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | New title for the album. Maximum 500 characters. |
| `albumId` | string | Yes | Identifier of the album to update |
| `coverPhotoMediaItemId` | string | No | ID of the media item to use as album cover photo |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Media Item

**Slug:** `GOOGLEPHOTOS_UPDATE_MEDIA_ITEM`

Updates a media item's description in Google Photos.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `description` | string | No | New description for the media item. Must be shorter than 1000 characters. |
| `mediaItemId` | string | Yes | Identifier of the media item to update |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload Media

**Slug:** `GOOGLEPHOTOS_UPLOAD_MEDIA`

Upload a media file to Google Photos. Supports images (up to 200MB) and videos (up to 20GB).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | Public URL of the media file to upload (must be directly accessible). The action will download the file from this URL and upload it to Google Photos. Alternative to 'file_to_upload'. Supported formats: images (JPEG, PNG, GIF, HEIC, etc.) and videos (MP4, MOV, etc.). |
| `file_name` | string | No | File name for the uploaded media. Required when using 'url' parameter. Should include the file extension (e.g., 'photo.jpg', 'video.mp4'). |
| `description` | string | No | Optional description for the media item |
| `file_to_upload` | object | No | The media file to upload to Google Photos. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
