Only images and videos can be uploaded. If you attempt to upload non videos or images or formats that Google Photos doesn't understand, gphotos-uploader-cli will upload the file, then Google Photos will give an error when it is put turned into a media item.
All media items uploaded to Google Photos using the API are stored in full resolution at original quality. They count toward the user’s storage. The API does not offer a way to upload in "high quality" mode.
If you upload the same image (with the same binary data) twice then Google Photos will deduplicate it. However it will retain the filename from the first upload which may be confusing. In practise this shouldn't cause too many problems.
The date shown of media in Google Photos is the creation date as determined by the EXIF information, or the upload date if that is not known.
This is not changeable by gphotos-upload-cli and is not the modification date of the media on local disk. This means that this CLI cannot use the dates from Google Photos for syncing purposes.
The Google Photos API does not return the size of media. This means that when syncing to Google Photos, gphotos-uploader-cli can only do a file existence check.
It is possible to read the size of the media, but this needs an extra HTTP HEAD request per media item so is very slow and uses up a lot of transactions.
Google Photos imposes a rate limit on all API clients. The quota limit for requests to the Library API is 10,000 requests per project per day. The quota limit for requests to access media bytes (by loading a photo or video from a base URL) is 75,000 requests per project per day.