immich-go(1)
π immich-go-upload-from-folder β aka immich-go upload from-folder π
okay bestie, gather round, because this is the page you're gonna want open in a second terminal while you're yeeting an entire folder of photos at your Immich server π«Ά. This lives inside the immich-go manual, and it's the "I have a folder, I have a server, let's make it happen" command. No cap.
πΈ NAME πΈ
immich-go-upload-from-folder β upload photos from a folder. that's it. that's the vibe. β¨
π¦ SYNOPSIS π¦
immich-go upload from-folder [flags] ...
yes the ... is real, she takes flags and she takes args, and she will not be stopped π
π DESCRIPTION π
Upload photos from a folder. fr fr that's the whole description, the real tea is all down in the options, so keep scrolling, bestie π
β¨ OPTIONS β¨
like... a LOT of options. but we're going through every single one because I refuse to gatekeep π₯
--album-path-joiner=" / "β the little string she uses to glue multiple folder names together when she's building an album name. like, examples in the wild:' 'and' - '. so you can haveSummer - 2024or whatever cute thing you want π--ban-file='@eaDir/', '@__thumb/', 'SYNOFILETHUMB.', 'Lightroom Catalog/', 'thumbnails/', '.DSStore', '/.*', '.Spotlight-V100/', '.photostructure/', 'Recently Deleted/'β the block list, the "not you" list. it excludes a file based on a pattern, and the matching is case-insensitive. you can drop this flag multiple times to ban multiple things π«--date-from-name[=true]β if the date is just... not in the metadata (crying), she'll steal it from the filename instead. and it only works for these file types, no exceptions bestie:jpg,mp4,heic,dng,cr2,cr3,arw,raf,nef,movποΈ--date-range=unsetβ only import photos taken inside the date range you specify. keep it tight, keep it curated π--exclude-extensions=β a comma-separated list of extensions you want OUT. example:.gif,.PM. default isnone, so by default nothing gets excluded π--folder-as-album=NONEβ this one is iconic. it imports all files into albums defined by your folder structure. set it to'FOLDER'and the folder name becomes the album name, set it to'PATH'and the whole full path becomes the album name. main character behavior, honestly π--folder-as-tags[=false]β flip your folder structure into tags instead. example straight from the source: the fileholiday/summer 2024/file.jpgwill have the tagholiday/summer 2024π·οΈ-h,--help[=false]β help forfrom-folder. classic.--ignore-sidecar-files[=false]β don't upload the sidecar with the photo. sidecar said not today π«--include-extensions=β a comma-separated list of extensions you want IN. example:.jpg,.heic. default isallbecause she is generous π--include-type=β one single file type to include. your options areVIDEOorIMAGE. default isallπ--into-album=""β name an album and every single file goes in there. the group chat of albums π«Ά--recursive[=true]β explore the folder and all its sub-folders. it's on by default because she's thorough like that π§
π OPTIONS INHERITED FROM PARENT COMMANDS π
these come from the parent, so they work here too. yes, all of them. no skipping π
--admin-api-key=""β the admin's API key, for managing the server's jobs π-k,--api-key=""β the regular API key π--api-trace[=false]β turn on tracing of api calls. for when you need to see everything π--client-timeout=20m0sβ sets the timeout for server calls β³--concurrent-tasks=16β how many concurrent tasks she runs. legal range is1β20, and she defaults to a very confident16π₯--config=""β the config file. default is./immich-go.yamlπ--device-uuid="framework"β set a device UUID π--dry-run[=false]β simulate ALL the actions. nothing actually happens, it's just a rehearsal, it's giving dress rehearsal π-l,--log-file=""β write log messages into the file π--log-level="INFO"β log level, pick fromDEBUG,INFO,WARN,ERROR. default isINFOβ and honestly same, INFO is the balanced queen πΈ--log-type="text"β log formatted as text or a JSON file. default istextπͺ--manage-burst=NoStackβ manages burst photos. possible values:NoStack,Stack,StackKeepRaw,StackKeepJPEGπΈ--manage-epson-fastfoto[=false]β manages Epson FastFoto files. default isfalseπ¨οΈ--manage-heic-jpeg=NoStackβ manages coupled HEIC and JPEG files. possible values:NoStack,KeepHeic,KeepJPG,StackCoverHeic,StackCoverJPGπΌοΈ--manage-raw-jpeg=NoStackβ manages coupled RAW and JPEG files. possible values:NoStack,KeepRaw,KeepJPG,StackCoverRaw,StackCoverJPGποΈ--no-ui[=false]β disables the user interface. bye bye pretty screen π--on-errors=stopβ what she does when an error shows up. your options:stop,continue, oraccept N errors at max. default isstop, she does not play π--overwrite[=false]β always overwrite the files on the server with your local versions. careful bestie, this one does exactly what it says β οΈ--pause-immich-jobs[=true]β pause Immich background jobs while upload operations are running. on by default, she's polite β--save-config[=false]β saves the configuration toimmich-go.yamlπΎ-s,--server=""β your Immich server address. examples from the source, verbatim:http://your-ip:2283orhttps://your-domainπ--session-tag[=false]β tags every uploaded photo with a tag formatted like"{immich-go}/YYYY-MM-DD HH-MM-SS"π·οΈ--skip-verify-ssl[=false]β skips SSL verification π--tag=[]β add tags to the imported assets. can be specified multiple times. hierarchy is supported with a/separator, example:'tag1/subtag1'π--time-zone=""β override the system time zone. you're the boss of time now π°οΈ
π SEE ALSO π
immich-go-upload(1)β the sibling page, go say hi π«Ά
π HISTORY π
28-Mar-2026 β Auto generated by spf13/cobra. yep, a robot did it. and she ate π€β¨
okay that's the whole page, bestie, you're fully caught up π
this doc came to you from the immich-go manual page, auto generated by spf13/cobra, dated Mar 2026 β so if anything's weird, blame the cobra, not me ππ. now go upload those photos, you absolute icon ππ
π¦ where this page comes from
- ubuntu stonking: immich-go 0.32.0-1 Β· AGPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms