How to add already uploaded photo to album

What is the problem you are having with rclone?

I'm unable to add already uploaded photos to an album in google photos. I tried different commands, but they either failed or made a duplicate photo instead of adding it to an album. I confirmed that the album already exists. For example the move command creates a duplicate because it can't delete the original from a non-album.

What is your rclone version (output from rclone version)

rclone v1.57.0

  • os/version: ubuntu 21.10 (64 bit)
  • os/kernel: 5.13.0-22-generic (x86_64)
  • os/type: linux
  • os/arch: amd64
  • go/version: go1.17.2
  • go/linking: static
  • go/tags: none

Which cloud storage system are you using? (eg Google Drive)

Google Photos

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone copy gphotos:media/all/IMG_0523.HEIC gphotos:album/my_album/
rclone move gphotos:media/all/IMG_0523.HEIC gphotos:album/my_album/
rclone sync gphotos:media/all/IMG_0523.HEIC gphotos:album/my_album/

The rclone config contents with secrets removed.

[gphotos]
type = google photos
read_only = true
token = {"removed"}

A log from the command with the -vv flag

https://pastebin.com/H87x3cKF

1 Like

hello and welcome to the forum,

to be clear, before you run that rclone command, the following file does not exist
gphotos:album/my_album/IMG_0523.HEIC
and despite that file not existing,
the attempt to move a single source file, results in the creation of two duplicate files in the dest?

that debug log is for rclone move, which we already might not work
same applies to rclone sync.

perhaps post a debug log for rclone copy and you can post the debug log direct into a post

Hello and thank you.

I can confirm that the album is completely empty on the google photos website and an

$ rclone ls gphotos:album/my_album/

shows it as empty. After executing the command it creates a duplicate that even says "Uploaded by rclone" in the more info section of google photos.

Here is the log of running the copy command. After running it I had the duplicate again

2021/12/15 15:04:06 DEBUG : rclone: Version "v1.57.0" starting with parameters ["rclone" "copy" "gphotos:media/all/IMG_0523.HEIC" "gphotos:album/my_album/" "-vv"]
2021/12/15 15:04:06 DEBUG : Creating backend with remote "gphotos:media/all/IMG_0523.HEIC"
2021/12/15 15:04:06 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2021/12/15 15:04:06 DEBUG : Google Photos path "media/all": NewObject: remote="IMG_0523.HEIC"
2021/12/15 15:04:06 DEBUG : Google Photos path "media/all": List: dir=""
2021/12/15 15:04:20 DEBUG : Google Photos path "media/all": >List: err=<nil>
2021/12/15 15:04:20 DEBUG : Google Photos path "media/all": >NewObject: 
2021/12/15 15:04:20 DEBUG : fs cache: adding new entry for parent of "gphotos:media/all/IMG_0523.HEIC", "gphotos:media/all"
2021/12/15 15:04:20 DEBUG : Creating backend with remote "gphotos:album/my_album/"
2021/12/15 15:04:20 DEBUG : fs cache: renaming cache item "gphotos:album/my_album/" to be canonical "gphotos:album/my_album"
2021/12/15 15:04:20 DEBUG : Google Photos path "media/all": NewObject: remote="IMG_0523.HEIC"
2021/12/15 15:04:20 DEBUG : Google Photos path "media/all": List: dir=""
2021/12/15 15:04:33 DEBUG : Google Photos path "media/all": >List: err=<nil>
2021/12/15 15:04:33 DEBUG : Google Photos path "media/all": >NewObject: 
2021/12/15 15:04:33 DEBUG : Google Photos path "album/my_album": NewObject: remote="IMG_0523.HEIC"
2021/12/15 15:04:33 DEBUG : Google Photos path "album/my_album": List: dir=""
2021/12/15 15:04:34 DEBUG : Google Photos path "album/my_album": >List: err=<nil>
2021/12/15 15:04:34 DEBUG : Google Photos path "album/my_album": >NewObject: 
2021/12/15 15:04:34 DEBUG : IMG_0523.HEIC: Need to transfer - File not found at Destination
2021/12/15 15:04:34 DEBUG : IMG_0523.HEIC: Size: 
2021/12/15 15:04:34 DEBUG : IMG_0523.HEIC: >Size: 
2021/12/15 15:04:34 DEBUG : IMG_0523.HEIC: Size: 
2021/12/15 15:04:34 DEBUG : IMG_0523.HEIC: >Size: 
2021/12/15 15:04:34 DEBUG : IMG_0523.HEIC: Open: 
2021/12/15 15:04:36 DEBUG : IMG_0523.HEIC: >Open: 
2021/12/15 15:04:36 DEBUG : IMG_0523.HEIC: Size: 
2021/12/15 15:04:36 DEBUG : IMG_0523.HEIC: >Size: 
2021/12/15 15:04:36 DEBUG : IMG_0523.HEIC: ModTime: 
2021/12/15 15:04:36 DEBUG : IMG_0523.HEIC: >ModTime: 
2021/12/15 15:04:36 DEBUG : Google Photos path "album/my_album": Target remote doesn't support streaming uploads, creating temporary local FS to spool file
2021/12/15 15:04:36 DEBUG : Creating backend with remote "/tmp/rclone-spool1694172142"
2021/12/15 15:04:36 DEBUG : IMG_0523.HEIC: Sizes identical
2021/12/15 15:04:36 DEBUG : Google Photos path "album/my_album": Put: src=IMG_0523.HEIC
2021/12/15 15:04:36 DEBUG : IMG_0523.HEIC: Update: src=IMG_0523.HEIC
2021/12/15 15:04:39 DEBUG : IMG_0523.HEIC: >Update: err=<nil>
2021/12/15 15:04:39 DEBUG : Google Photos path "album/my_album": >Put: 
2021/12/15 15:04:39 DEBUG : IMG_0523.HEIC: Size: 
2021/12/15 15:04:39 DEBUG : IMG_0523.HEIC: >Size: 
2021/12/15 15:04:39 INFO  : IMG_0523.HEIC: Copied (new)
2021/12/15 15:04:39 DEBUG : IMG_0523.HEIC: Size: 
2021/12/15 15:04:39 DEBUG : IMG_0523.HEIC: >Size: 
2021/12/15 15:04:39 INFO  : IMG_0523.HEIC: Copied (Rcat, new)
2021/12/15 15:04:39 INFO  :   
Transferred:        5.675 MiB / 5.675 MiB, 100%, 1.419 MiB/s, ETA 0s
Deleted:                0 (files), 1 (dirs)
Transferred:            3 / 3, 100%
Elapsed time:        33.3s

2021/12/15 15:04:39 DEBUG : 6 go routines active```

ok, that is a somewhat confusing log.

if you copy that same file from local to that same empty album, what happens?

Seems to work no problem. No duplicates and it's listed in the album.

rclone move IMG_0523.heic gphotos:album/my_album/

well, this is all kinds of strange, your log file has strange text

Target remote doesn't support streaming uploads, creating temporary local FS to spool file
Copied (Rcat, new)
Transferred:            3 / 3, 100%

here is my log

DEBUG : rclone: Version "v1.57.0" starting with parameters ["c:\\data\\rclone\\scripts\\rclone.exe" "copy" "gphotos01:media/all/01.jpg" "gphotos01:album/my_album" "-vv"]
DEBUG : Creating backend with remote "gphotos01:media/all/01.jpg"
DEBUG : Using config file from "C:\\data\\rclone\\scripts\\rclone.conf"
DEBUG : Google Photos path "media/all": NewObject: remote="01.jpg"
DEBUG : Google Photos path "media/all": List: dir=""
DEBUG : Google Photos path "media/all": >List: err=<nil>
DEBUG : Google Photos path "media/all": >NewObject: 
DEBUG : fs cache: adding new entry for parent of "gphotos01:media/all/01.jpg", "gphotos01:media/all"
DEBUG : Creating backend with remote "gphotos01:album/my_album"
DEBUG : Google Photos path "media/all": NewObject: remote="01.jpg"
DEBUG : Google Photos path "media/all": List: dir=""
DEBUG : Google Photos path "media/all": >List: err=<nil>
DEBUG : Google Photos path "media/all": >NewObject: 
DEBUG : Google Photos path "album/my_album": NewObject: remote="01.jpg"
DEBUG : Google Photos path "album/my_album": List: dir=""
DEBUG : Google Photos path "album/my_album": >List: err=directory not found
DEBUG : Google Photos path "album/my_album": >NewObject: 
DEBUG : 01.jpg: Need to transfer - File not found at Destination
DEBUG : 01.jpg: Size: 
DEBUG : 01.jpg: >Size: 
DEBUG : 01.jpg: Size: 
DEBUG : 01.jpg: >Size: 
DEBUG : 01.jpg: Open: 
DEBUG : 01.jpg: >Open: 
DEBUG : 01.jpg: Size: 
DEBUG : 01.jpg: >Size: 
DEBUG : Google Photos path "album/my_album": Put: src=01.jpg
DEBUG : 01.jpg: Update: src=01.jpg
DEBUG : 01.jpg: >Update: err=<nil>
DEBUG : Google Photos path "album/my_album": >Put: 
DEBUG : 01.jpg: Size: 
DEBUG : 01.jpg: >Size: 
DEBUG : 01.jpg: Size: 
DEBUG : Google Photos path "album/my_album": List: dir=""
DEBUG : Google Photos path "album/my_album": >List: err=<nil>
DEBUG : 01.jpg: >Size: 
DEBUG : 01.jpg: Size: 
DEBUG : 01.jpg: >Size: 
DEBUG : 01.jpg: Size: 
DEBUG : 01.jpg: >Size: 
INFO  : 01.jpg: Copied (new)
INFO  : 
Transferred:   	   12.960 KiB / 12.960 KiB, 100%, 4.298 KiB/s, ETA 0s
Transferred:            1 / 1, 100%
Elapsed time:         4.9s

Yeah I'm not really sure what's going on here. Is my rclone config similar to yours?

no, mine is differernt, but the client_id/secret should not matter but perhaps
read_size makes a difference.

[gphotos01]
type = google photos
client_id = 
client_secret = 
read_size = true
token = 

I wonder if the read_only = true is problematic. Not quite sure how that got there.

well, i put that there intentionally.

try adding --gphotos-read-size to your command and see what happens.

also, notice that your log file has this, but mine does not.
IMG_0523.HEIC: ModTime:

Still results in a duplicate

2021/12/15 16:04:18 DEBUG : rclone: Version "v1.57.0" starting with parameters ["rclone" "copy" "gphotos:media/all/IMG_0523.HEIC" "gphotos:album/my_album/" "--gphotos-read-size" "-vv"]
2021/12/15 16:04:18 DEBUG : Creating backend with remote "gphotos:media/all/IMG_0523.HEIC"
2021/12/15 16:04:18 DEBUG : Using config file from "/home/user/.config/rclone/rclone.conf"
2021/12/15 16:04:18 DEBUG : gphotos: detected overridden config - adding "{kLu1M}" suffix to name
2021/12/15 16:04:18 DEBUG : Google Photos path "media/all": NewObject: remote="IMG_0523.HEIC"
2021/12/15 16:04:18 DEBUG : Google Photos path "media/all": List: dir=""
2021/12/15 16:04:30 DEBUG : Google Photos path "media/all": >List: err=<nil>
2021/12/15 16:04:30 DEBUG : Google Photos path "media/all": >NewObject: 
2021/12/15 16:04:30 DEBUG : fs cache: adding new entry for parent of "gphotos:media/all/IMG_0523.HEIC", "gphotos{kLu1M}:media/all"
2021/12/15 16:04:30 DEBUG : Creating backend with remote "gphotos:album/my_album/"
2021/12/15 16:04:30 DEBUG : gphotos: detected overridden config - adding "{kLu1M}" suffix to name
2021/12/15 16:04:30 DEBUG : fs cache: renaming cache item "gphotos:album/my_album/" to be canonical "gphotos{kLu1M}:album/my_album"
2021/12/15 16:04:30 DEBUG : Google Photos path "media/all": NewObject: remote="IMG_0523.HEIC"
2021/12/15 16:04:30 DEBUG : Google Photos path "media/all": List: dir=""
2021/12/15 16:04:42 DEBUG : Google Photos path "media/all": >List: err=<nil>
2021/12/15 16:04:42 DEBUG : Google Photos path "media/all": >NewObject: 
2021/12/15 16:04:42 DEBUG : Google Photos path "album/my_album": NewObject: remote="IMG_0523.HEIC"
2021/12/15 16:04:42 DEBUG : Google Photos path "album/my_album": List: dir=""
2021/12/15 16:04:43 DEBUG : Google Photos path "album/my_album": >List: err=<nil>
2021/12/15 16:04:43 DEBUG : Google Photos path "album/my_album": >NewObject: 
2021/12/15 16:04:43 DEBUG : IMG_0523.HEIC: Need to transfer - File not found at Destination
2021/12/15 16:04:43 DEBUG : IMG_0523.HEIC: Size: 
2021/12/15 16:04:45 DEBUG : IMG_0523.HEIC: >Size: 
2021/12/15 16:04:45 DEBUG : IMG_0523.HEIC: Size: 
2021/12/15 16:04:45 DEBUG : IMG_0523.HEIC: >Size: 
2021/12/15 16:04:45 DEBUG : IMG_0523.HEIC: Open: 
2021/12/15 16:04:47 DEBUG : IMG_0523.HEIC: >Open: 
2021/12/15 16:04:47 DEBUG : IMG_0523.HEIC: Size: 
2021/12/15 16:04:47 DEBUG : IMG_0523.HEIC: >Size: 
2021/12/15 16:04:47 DEBUG : Google Photos path "album/my_album": Put: src=IMG_0523.HEIC
2021/12/15 16:04:47 DEBUG : IMG_0523.HEIC: Update: src=IMG_0523.HEIC
2021/12/15 16:04:50 DEBUG : IMG_0523.HEIC: >Update: err=<nil>
2021/12/15 16:04:50 DEBUG : Google Photos path "album/my_album": >Put: 
2021/12/15 16:04:50 DEBUG : IMG_0523.HEIC: Size: 
2021/12/15 16:04:50 DEBUG : IMG_0523.HEIC: >Size: 
2021/12/15 16:04:50 DEBUG : IMG_0523.HEIC: Size: 
2021/12/15 16:04:50 DEBUG : Google Photos path "album/my_album": List: dir=""
2021/12/15 16:04:51 DEBUG : Google Photos path "album/my_album": >List: err=<nil>
2021/12/15 16:04:51 DEBUG : IMG_0523.HEIC: >Size: 
2021/12/15 16:04:51 DEBUG : IMG_0523.HEIC: Size: 
2021/12/15 16:04:51 DEBUG : IMG_0523.HEIC: >Size: 
2021/12/15 16:04:51 DEBUG : IMG_0523.HEIC: Size: 
2021/12/15 16:04:51 DEBUG : IMG_0523.HEIC: >Size: 
2021/12/15 16:04:51 INFO  : IMG_0523.HEIC: Copied (new)
2021/12/15 16:04:51 INFO  :   
Transferred:        2.837 MiB / 2.837 MiB, 100%, 580.956 KiB/s, ETA 0s
Transferred:            1 / 1, 100%
Elapsed time:        32.6s

2021/12/15 16:04:51 DEBUG : 6 go routines active```

that log is different, are you 100% sure, the dest dir was empty before copy?

  • rcat is missing
  • only one flie transferred

things to try:

  • differente source folder
  • different dest folder
  • different file extension, such as .jpg

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.