Hey there! 👋 Welcome to my little project that helps you migrate your precious memories from Flickr to Google Photos.
So here's the deal - I used to be a big Flickr fan back in the day. It was THE place for photo storage and sharing. But times change, right? Now I'm juggling multiple cloud services, and my wallet isn't too happy about it.
With tons of storage already available on Google (thanks, Google One!), it made sense to consolidate everything there. Yeah, it's a bit sad to leave Flickr behind - it's like saying goodbye to an old friend. But hey, times are tough, and we gotta be practical! 💸
- 📸 Transfers complete albums with original quality
- 🔄 Supports both photos and videos transfer
- 🔄 Smart duplicate detection (no more double uploads!)
- 📁 Preserves album structure
- 🎯 Choose between single album or bulk transfer
- 💪 Handles API quotas like a champ
- 🔍 Detailed transfer logs
- Python 3.x
- A Flickr account (duh!)
- A Google account with Google Photos
- Some photos to transfer 😉
- Go to Flickr App Garden
- Choose "Apply for a Non-Commercial Key"
- Fill in the application details:
- Application Name: "Flickr to Google Photos Migration"
- Description: Brief description of your usage
- After submission, you'll receive:
- API Key (Consumer Key)
- API Secret (Consumer Secret)
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the Google Photos Library API:
- Go to "APIs & Services" > "Library"
- Search for "Photos Library API"
- Click "Enable"
- Set up OAuth consent screen:
- Go to "APIs & Services" > "OAuth consent screen"
- Choose "External" user type
- Fill in the application name and user support email
- Add your email as a test user
- Create credentials:
- Go to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "OAuth client ID"
- Choose "Desktop app" as application type
- Download the client configuration file
- Rename it to
client_secrets.jsonand place it in the project root
-
Clone this repository:
git clone git@github.com:benoitliard/flickr2google.git cd flickr2google -
Create and activate a virtual environment: ```bash
python -m venv venv .\venv\Scripts\activate
python3 -m venv venv source venv/bin/activate ```
-
Install dependencies:
bash pip install -r requirements.txt -
Set up your credentials:
- Create a
.envfile in the project root - Add your Flickr API keys:
FLICKR_API_KEY=YOUR_API_KEY FLICKR_API_SECRET=YOUR_API_SECRET - Ensure
client_secrets.jsonis in the project root directory
- Create a
-
Run the script:
bash python src/main.py -
Follow the terminal prompts:
- Option 1: Transfer a specific album
- Option 2: Transfer all albums
- q: Quit
For each transferred album, you'll see:
- Total media items found (photos and videos)
- Already existing items (skipped)
- Newly transferred items
- Failed transfers
- First-time usage requires Google Photos authorization through a browser
- The Google Photos API has a quota of 10,000 requests per day
- Flickr API has rate limits of 3,600 queries per hour
- Keep your API keys and client secrets secure and never commit them to version control
- Transfer duration depends on media count and size (videos may take longer)
- For Google Photos API, you'll remain in "Testing" status unless you verify your app, which limits to 100 users
- Video transfers might take longer due to file sizes
- Supports original quality for both photos and videos
Distributed under the MIT License. See LICENSE for more information.
- Flickr API
- Google Photos API
- All contributors making this project better