GPhotoTool
Convert any file to video → upload unlimited to Google Photos.
No storage quota. No server. Runs 100% locally on your machine.
What is this for?
Google Photos gives unlimited storage to Pixel phones. This tool spoofs that — any file disguised as a video gets unlimited upload via the Pixel XL API.
Two ways to use unlimited GPhotos:
| ReVanced Google Photos | GPhotoTool | |
|---|---|---|
| Platform | Android phone | PC (Linux/macOS/Windows) |
| Install | Patched APK + microG | pip install gphototool |
| Upload from | Phone gallery | Any file on your PC |
| Auth | Login in-app | One-time token from logcat |
| Best for | Phone photos/videos | Backups, archives, large files |
Have ReVanced/Morphe GPhotos already? You're 80% there — your phone already has the Pixel spoof. GPhotoTool lets you upload from PC too, using the same auth. See ReVanced users below.
Install
pip install gphototool
pip install gp_disguise@git+https://github.com/xob0t/gp_disguise.git
Usage
gphototool
Opens browser to http://localhost:8800. Three modes:
- Convert + Upload — wraps file as video, uploads unlimited
- Convert Only — get the disguised MP4, do what you want
- Upload Only — for pre-disguised files, skips conversion
Any file or folder. Files over 9 GiB (and folders) are split automatically.
Big game folder — no browser copy:
gphototool --file "/run/media/panther/D/Applications/Port Proton/ELDEN RING" --album Games
Restore a split folder: download parts from Photos, gpd extract each, then cat name.part* | tar xf -.
How it works
- Drop any file (ZIP, PDF, APK, ISO, DOC, MP3, anything)
gp_disguisewraps it as an MP4 videogpmcuploads via Pixel XL spoof API — zero quota charged- File stays on your machine the whole time
Already-disguised MP4? Auto-detected — skips conversion.
Auth token (one-time setup)
Easiest: Open the expandable help in the web UI — step-by-step instructions.
Or: Copy the AI-agent prompt from docs/AUTH_TOKEN.md and paste to Claude/ChatGPT.
Manual:
adb logcat -c && adb logcat | grep auth%2Fphotos
# Open Morphe/ReVanced Photos → tap profile → sign in
# Copy the androidId=...&Token=... line
# Save: echo "TOKEN" > ~/.config/gphototool/auth_data && chmod 600 ~/.config/gphototool/auth_data
Token expires in ~24 hours. Re-capture when upload fails with auth error.
ReVanced users
If you already have ReVanced Google Photos or Morphe installed on your Android:
- Your phone already has the Pixel XL spoof active
- You can get the auth token in seconds:
adb logcat -c && adb logcat | grep auth%2Fphotos # Open ReVanced/Morphe Photos → tap profile → sign in # Copy the androidId=...&Token=... line
- Paste the token in GPhotoTool's web UI
- Upload from PC — unlimited, same as phone
No ReVanced yet? Install these on your Android:
- ReVanced GPhotos (patched APK) — revanced.app or Morphe
- ReVanced GMS (microG) — GitHub releases
- Log into your Google account in microG
- Open ReVanced Photos → tap profile → sign in
Then capture the auth token as above.
Requirements
- Python 3.11+
gpd(gp_disguise) — file disguise toolgpmc— unlimited GPhotos uploader
Architecture
Browser (localhost:8800)
↕ HTTP
FastAPI server (local)
→ gpd: file → MP4
→ gpmc: MP4 → Google Photos (unlimited)
Files never leave your machine. Zero server costs.
License
MIT
Metadata
Release files for gphototool 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gphototool-0.1.1.tar.gz | 18.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gphototool-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 35.1 kB
Release files / gphototool-0.1.1.tar.gz
| Download URL | gphototool-0.1.1.tar.gz |
|---|---|
| Size | 18.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2091c3c557034b2fda40c976c57bdf7cccb12957b8f6724abf627cc00e377f87
|
|
BLAKE2b-256 checksum How to use checksums |
0828cbaf3917ab9d39dd861576156e780463a1f3acaf8478c200fab1cb1d60c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / gphototool-0.1.1-py3-none-any.whl
| Download URL | gphototool-0.1.1-py3-none-any.whl |
|---|---|
| Size | 16.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
39710c6c38e693d681ea0835d709b5f9d5aac752efdee3f0ed412afd207f2f03
|
|
BLAKE2b-256 checksum How to use checksums |
6d582901259911bdb0791c63636deac63e374d01179bf7d6a9084a1942d38d19
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|