Skip to main content

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

  1. Drop any file (ZIP, PDF, APK, ISO, DOC, MP3, anything)
  2. gp_disguise wraps it as an MP4 video
  3. gpmc uploads via Pixel XL spoof API — zero quota charged
  4. 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:

  1. Your phone already has the Pixel XL spoof active
  2. 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
    
  3. Paste the token in GPhotoTool's web UI
  4. Upload from PC — unlimited, same as phone

No ReVanced yet? Install these on your Android:

  1. ReVanced GPhotos (patched APK) — revanced.app or Morphe
  2. ReVanced GMS (microG) — GitHub releases
  3. Log into your Google account in microG
  4. Open ReVanced Photos → tap profile → sign in

Then capture the auth token as above.

Requirements

  • Python 3.11+
  • gpd (gp_disguise) — file disguise tool
  • gpmc — 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)

Source distribution for gphototool 0.1.1
File Size Uploaded
gphototool-0.1.1.tar.gz 18.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gphototool 0.1.1
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page