Skip to main content

Documentation Index

Fetch the complete documentation index at: https://photocli.com/llms.txt

Use this file to discover all available pages before exploring further.

BigDataCloud, Google Maps, and LocationIq each require an API key before photo-cli can send reverse geocode requests. You can provide the key in three ways: as a command-line argument each time you run a command, as an environment variable for your current session or CI environment, or saved persistently in photo-cli settings so you never have to pass it again.
OpenStreetMap Foundation (Nominatim) does not require an API key. If you selected OpenStreetMap as your provider, you can skip this page.

Three ways to provide a key

1. Command-line argument

Pass the key directly each time you run a command. Use this approach for one-off runs or when you want to be explicit.
photo-cli copy \
  --input ~/Photos \
  --output ~/Organized \
  --reverse-geocode BigDataCloud \
  --bigdatacloud-key YOUR_BIGDATACLOUD_KEY \
  --bigdatacloud-levels 2 4 6 \
  --naming-style DateTimeWithSecondsAddress \
  --process-type FlattenAllSubFolders \
  --number-style AllNamesAreSameLength

2. Environment variable

Set the environment variable in your shell session or CI pipeline. photo-cli reads it automatically — no argument needed in the command.
export PHOTO_CLI_BIG_DATA_CLOUD_API_KEY=YOUR_BIGDATACLOUD_KEY

photo-cli copy \
  --input ~/Photos \
  --output ~/Organized \
  --reverse-geocode BigDataCloud \
  --bigdatacloud-levels 2 4 6 \
  --naming-style DateTimeWithSecondsAddress \
  --process-type FlattenAllSubFolders \
  --number-style AllNamesAreSameLength

3. Saved in settings

Save the key to photo-cli’s persistent settings. Once saved, you never need to pass the key on the command line or export an environment variable again.
photo-cli settings --key BigDataCloudApiKey --value YOUR_BIGDATACLOUD_KEY
After saving, run your command without any key argument:
photo-cli copy \
  --input ~/Photos \
  --output ~/Organized \
  --reverse-geocode BigDataCloud \
  --bigdatacloud-levels 2 4 6 \
  --naming-style DateTimeWithSecondsAddress \
  --process-type FlattenAllSubFolders \
  --number-style AllNamesAreSameLength
Saving your key in settings is the most convenient approach for regular use. You set it once and all future commands pick it up automatically.

Reference: arguments and environment variables

ProviderArgumentEnvironment variableSettings key
BigDataCloud-b / --bigdatacloud-keyPHOTO_CLI_BIG_DATA_CLOUD_API_KEYBigDataCloudApiKey
Google Maps-k / --googlemaps-keyPHOTO_CLI_GOOGLE_MAPS_API_KEYGoogleMapsApiKey
LocationIq-q / --locationiq-keyPHOTO_CLI_LOCATIONIQ_API_KEYLocationIqApiKey
OpenStreetMap Foundation