GPhotoTool
Convert any file to video → upload unlimited to Google Photos.
No storage quota. No server. Runs 100% locally on your machine.
Install
pip install gphototool
pip install gp_disguise@git+https://github.com/xob0t/gp_disguise.git
Or one-liner:
pip install gphototool && pip install gp_disguise@git+https://github.com/xob0t/gp_disguise.git
Usage
gphototool
Opens browser to http://localhost:8800. Drag, drop, done.
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
Auth token (one-time setup)
Easiest: Open the expandable help in the web UI — it has step-by-step instructions.
Or: Copy the AI-agent prompt from docs/AUTH_TOKEN.md and paste it to Claude/ChatGPT. It will guide you through capturing the token.
Manual:
adb logcat -c && adb logcat | grep auth%2Fphotos
# Open Morphe 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.
Requirements
- Python 3.11+
gpd(gp_disguise) — installed automaticallygpmc— installed automatically
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.0
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.0.tar.gz | 13.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gphototool-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.8 kB
Release files / gphototool-0.1.0.tar.gz
| Download URL | gphototool-0.1.0.tar.gz |
|---|---|
| Size | 13.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
63e6b0c7455225c6ca7d63650a611aa2af5a769286888a4f545d1ac1f9a1afef
|
|
BLAKE2b-256 checksum How to use checksums |
4890b84262d3f4320f455733928875e74e61eadf23575ac23ad464f3d4b43e6e
|
| 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.0-py3-none-any.whl
| Download URL | gphototool-0.1.0-py3-none-any.whl |
|---|---|
| Size | 12.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c6268db2749a227e9fa6a53af63e953826c85b0905da895e3a2fa68188f708e8
|
|
BLAKE2b-256 checksum How to use checksums |
69ccbcd2057b016ec5390979829fd935e1b0e9ed166e96a78fc94ab1738e8cd1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|