# Googlephotos

```json
{
  "name": "Googlephotos",
  "slug": "googlephotos",
  "url": "https://composio.dev/toolkits/googlephotos",
  "markdown_url": "https://composio.dev/toolkits/googlephotos.md",
  "logo_url": "https://logos.composio.dev/api/googlephotos",
  "categories": [
    "document & file management"
  ],
  "is_composio_managed": true,
  "updated_at": "2026-05-12T10:14:01.025Z"
}
```

![Googlephotos logo](https://logos.composio.dev/api/googlephotos)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Googlephotos MCP or direct API to upload images, organize albums, search photos, and share media—all through natural language.

## Summary

Google Photos is a cloud-based photo storage and organization service by Google. It offers automatic backups, smart search, and seamless sharing for managing your media library.

## Categories

- document & file management

## Toolkit Details

- Tools: 13
- Managed auth: Managed by Composio

## Images

- Logo: https://logos.composio.dev/api/googlephotos

## Authentication

- **Oauth2**
  - Type: `oauth2`
  - Description: Oauth2 authentication for Google Photos.
  - Setup:
    - Configure Oauth2 credentials for Google Photos.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- Find all photos from my last vacation
- Create a new album for 2024 events
- Upload these images to my family album
- Download the latest shared photo from friends

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `GOOGLEPHOTOS_ADD_ENRICHMENT` | Add Enrichment | Adds an enrichment at a specified position in a defined album. |
| `GOOGLEPHOTOS_BATCH_ADD_MEDIA_ITEMS` | Batch Add Media Items | Adds one or more media items to an album in Google Photos. |
| `GOOGLEPHOTOS_BATCH_CREATE_MEDIA_ITEMS` | 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. |
| `GOOGLEPHOTOS_BATCH_GET_MEDIA_ITEMS` | Batch Get Media Items | Returns the list of media items for the specified media item identifiers. |
| `GOOGLEPHOTOS_CREATE_ALBUM` | Create Album | Creates a new album in Google Photos. |
| `GOOGLEPHOTOS_GET_ALBUM` | Get Album | Returns the album based on the specified albumId. |
| `GOOGLEPHOTOS_GET_MEDIA_ITEM_DOWNLOAD` | Download Photos Media Item | Downloads a media item from Google Photos and returns it as a file. |
| `GOOGLEPHOTOS_LIST_ALBUMS` | List Albums | Lists all albums shown to a user in the Albums tab of Google Photos. |
| `GOOGLEPHOTOS_LIST_MEDIA_ITEMS` | List Media Items (App-Created Only) | 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 |
| `GOOGLEPHOTOS_SEARCH_MEDIA_ITEMS` | Search Media Items | Searches for media items in a user's Google Photos library. |
| `GOOGLEPHOTOS_UPDATE_ALBUM` | Update Album | Updates an album's title or cover photo in Google Photos. |
| `GOOGLEPHOTOS_UPDATE_MEDIA_ITEM` | Update Media Item | Updates a media item's description in Google Photos. |
| `GOOGLEPHOTOS_UPLOAD_MEDIA` | Upload Media | Upload a media file to Google Photos. Supports images (up to 200MB) and videos (up to 20GB). |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Googlephotos Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Googlephotos actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'List all albums created last month in Google Photos'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'List all albums created last month in Google Photos'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK and Claude Agent SDK
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Create Tool Router Session

Initialize the Composio client and create a Tool Router session
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });

console.log("Creating Tool Router session...");
const { mcp } = await composio.create('your-user-id');
console.log(`Tool Router session created: ${mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Googlephotos tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('List all albums created in 2024')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText, stepCountIs } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: mcp.url,
    headers: { 'x-api-key': 'your-composio-api-key' }
  }
});

const tools = await client.tools();

const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{ role: 'user', content: 'List all albums created in 2024' }],
  stopWhen: stepCountIs(5)
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Googlephotos Integration

- Supports both Googlephotos MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for uploading, searching, and managing your Google Photos library

### 2. Managed Auth

- Built-in OAuth2 flows for Googlephotos with automatic token refresh
- Central dashboard to manage, scope, and revoke access to your photo library
- Per-user and per-environment credentials—no more hard-coded OAuth secrets

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what photos were touched, when, and by which agent

### 4. Enterprise Grade Security

- Fine-grained RBAC lets you control which agents and users can access Googlephotos
- Scoped, least privilege access to albums, photos, and sharing features
- Full audit trail of agent actions for review and compliance

## Use Googlephotos with any AI Agent Framework

Choose a framework you want to connect Googlephotos with:

- [ChatGPT](https://composio.dev/toolkits/googlephotos/framework/chatgpt)
- [OpenAI Agents SDK](https://composio.dev/toolkits/googlephotos/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/googlephotos/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/googlephotos/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/googlephotos/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/googlephotos/framework/codex)
- [Cursor](https://composio.dev/toolkits/googlephotos/framework/cursor)
- [VS Code](https://composio.dev/toolkits/googlephotos/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/googlephotos/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/googlephotos/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/googlephotos/framework/hermes-agent)
- [Google ADK](https://composio.dev/toolkits/googlephotos/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/googlephotos/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/googlephotos/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/googlephotos/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/googlephotos/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/googlephotos/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/googlephotos/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/googlephotos/framework/autogen)

## Related Toolkits

- [Google Drive](https://composio.dev/toolkits/googledrive) - Google Drive is a cloud storage platform for uploading, sharing, and collaborating on files. It's perfect for keeping your documents accessible and organized across devices.
- [Google Docs](https://composio.dev/toolkits/googledocs) - Google Docs is a cloud-based word processor that enables document creation and real-time collaboration. Its seamless sharing and version history make team editing and content management a breeze.
- [Google Super](https://composio.dev/toolkits/googlesuper) - Google Super is an all-in-one suite combining Gmail, Drive, Calendar, Sheets, Analytics, and more. It gives you a unified platform to manage your digital life, boosting productivity and organization.
- [Affinda](https://composio.dev/toolkits/affinda) - Affinda is an AI-powered document processing platform that automates data extraction from resumes, invoices, and more. It streamlines document-heavy workflows by turning files into structured, actionable data.
- [Agility cms](https://composio.dev/toolkits/agility_cms) - Agility CMS is a headless content management system for building and managing digital experiences across platforms. It lets teams update content quickly and deliver omnichannel experiences with ease.
- [Algodocs](https://composio.dev/toolkits/algodocs) - Algodocs is an AI-powered platform that automates data extraction from business documents. It delivers fast, secure, and accurate processing without templates or manual training.
- [Api2pdf](https://composio.dev/toolkits/api2pdf) - Api2Pdf is a REST API for generating PDFs from HTML, URLs, and documents using powerful engines like wkhtmltopdf and Headless Chrome. It streamlines document conversion and automation for developers and businesses.
- [Aryn](https://composio.dev/toolkits/aryn) - Aryn is an AI-powered platform for parsing, extracting, and analyzing data from unstructured documents. Use it to automate document processing and unlock actionable insights from your files.
- [Boldsign](https://composio.dev/toolkits/boldsign) - Boldsign is a digital eSignature platform for sending, signing, and tracking documents online. Organizations use it to automate agreements and manage legally binding workflows efficiently.
- [Boloforms](https://composio.dev/toolkits/boloforms) - BoloForms is an eSignature platform built for small businesses, offering unlimited signatures, templates, and forms. It simplifies digital document signing and team collaboration at a predictable, fixed price.
- [Box](https://composio.dev/toolkits/box) - Box is a cloud content management and file sharing platform for businesses. It helps teams securely store, organize, and collaborate on files from anywhere.
- [Carbone](https://composio.dev/toolkits/carbone) - Carbone is a blazing-fast report generator that turns JSON data into PDFs, Word docs, spreadsheets, and more using flexible templates. It lets you automate document creation at scale with minimal code.
- [Castingwords](https://composio.dev/toolkits/castingwords) - CastingWords is a transcription service specializing in human-powered, accurate transcripts via a simple API. Get seamless audio-to-text conversion for interviews, meetings, podcasts, and more.
- [Cloudconvert](https://composio.dev/toolkits/cloudconvert) - CloudConvert is a powerful file conversion service supporting over 200 file formats. It streamlines converting, compressing, and managing documents, media, and more, all in one place.
- [Cloudlayer](https://composio.dev/toolkits/cloudlayer) - Cloudlayer is a document and asset generation service for creating PDFs and images via API or SDKs. It lets you automate high-quality doc creation, saving dev time and reducing manual work.
- [Cloudpress](https://composio.dev/toolkits/cloudpress) - Cloudpress is a content export tool for Google Docs and Notion. It automates publishing to your favorite Content Management Systems.
- [Contentful graphql](https://composio.dev/toolkits/contentful_graphql) - Contentful graphql is a content delivery API that lets you access Contentful data using GraphQL queries. It gives you efficient, flexible ways to fetch and manage structured content for any digital project.
- [Conversion tools](https://composio.dev/toolkits/conversion_tools) - Conversion Tools is an online service for converting documents between formats such as PDF, Word, Excel, XML, and CSV. It lets you automate complex document workflows with just a few clicks.
- [Convertapi](https://composio.dev/toolkits/convertapi) - ConvertAPI is a robust file conversion service for documents, images, and spreadsheets. It streamlines programmatic format changes and lets developers automate complex workflows with a single API.
- [Craftmypdf](https://composio.dev/toolkits/craftmypdf) - CraftMyPDF is a web-based service for designing and generating PDFs with templates and live data. It streamlines document creation by automating personalized PDFs at scale.

## Frequently Asked Questions

### Do I need my own developer credentials to use Googlephotos with Composio?

No, you can get started immediately using Composio's built-in Googlephotos app. For production, we recommend configuring your own OAuth credentials.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
