Upload a video or image file to memories.ai with capture time and location metadata. User can also download LUCI AI app to manually upload as well.
Requires MEMORIES_AI_KEY — same key as luci-memory. If not found, create {baseDir}/.env:
text
MEMORIES_AI_KEY=sk-your-key-here
Also requires ffprobe (from ffmpeg) for auto-extracting video metadata. Images can be uploaded without ffprobe finding anything — in that case the agent must supply time and location explicitly.
The script tries to auto-extract capture time and GPS coordinates from the file metadata (via ffprobe). Videos from phones and JPEGs with EXIF usually work; PNGs and screenshots rarely have this info. If metadata is missing, the agent should ask the user for:
--datetime with --timezone--location (geocoded automatically) or --lat/ --lonThe multipart Content-Type is chosen by file extension ( .mp4 → video/mp4, .png → image/png, .jpg → image/jpeg, etc.).
bash
# Probe metadata only (no upload) — do this first to check what info is available
bash {baseDir}/run.sh --probe --file /path/to/file
# Upload a video with auto-detected metadata
bash {baseDir}/run.sh --file /path/to/video.mp4
# Upload a video with explicit time and location name (geocoded to lat/lon)
bash {baseDir}/run.sh --file /path/to/video.mp4 --datetime "2025-06-22 14:00:00" --timezone Asia/Shanghai --location "Suzhou, China"
# Upload an image — usually needs explicit time/location since EXIF is often missing
bash {baseDir}/run.sh --file /path/to/photo.png --datetime "2025-09-01 00:00:00" --timezone Asia/Shanghai --location "Shunde, China"
# Upload with explicit coordinates and epoch timestamp
bash {baseDir}/run.sh --file /path/to/video.mp4 --time 1769097600000 --lat 31.3 --lon 120.59
FlagShortDescription--file``-fPath to video or image file (required)--probeOnly show extracted metadata, don't upload--timeStart time as epoch milliseconds--datetimeStart time as readable datetime (e.g. 2025-06-22 14:00:00)--timezoneTimezone for --datetime (e.g. Asia/Shanghai, UTC, +8)--latLatitude--lonLongitude--locationLocation name to geocode (e.g. Suzhou, China)
--probe to see what metadata the file has