{
  "name": "immich",
  "kind": "registry",
  "title": "Immich",
  "description": "Search your Immich photo library by what is in the picture and browse the results as a grid. Albums, people and today's memories are one keystroke away, and a photo opens, copies or downloads from the list.",
  "version": "0.1.0",
  "icon": {
    "tile": {
      "svg": "M11.9863.2695c-2.409 0-5.207 1.091-5.207 3.8946v.1523c1.3428.597 2.9347 1.6629 4.4121 2.9707 1.5713 1.3912 2.8374 2.8821 3.6524 4.2871 1.3997-2.5034 2.3358-5.4784 2.3476-7.373V4.164c0-2.8035-2.796-3.8946-5.205-3.8946m7.5117 4.4903c-.3778-.0081-.7747.0502-1.1914.1855-.0366.0118-.086.0278-.1445.0469-.1525 1.4611-.6756 3.304-1.4629 5.1133-.8373 1.9243-1.8627 3.5898-2.9472 4.7988 2.8132.558 5.9307.5273 7.7363-.0469.0126-.004.0246-.0065.0351-.0097 2.6665-.8666 2.84-3.8636 2.0957-6.1543-.6279-1.9332-2.081-3.89-4.121-3.9336m-14.996.039C2.4618 4.8424 1.0088 6.7973.3809 8.7305c-.7442 2.291-.5708 5.288 2.0957 6.1543l.1445.0468c.982-1.0926 2.4873-2.2761 4.1875-3.2773 1.8088-1.0646 3.619-1.808 5.207-2.1484-1.9483-2.1049-4.4884-3.9132-6.287-4.5098l-.0352-.0117c-.4167-.1354-.8136-.1936-1.1914-.1856m4.6718 6.7578c-2.6038 1.2025-5.1088 3.0598-6.2324 4.586l-.0215.0293c-1.6478 2.2683-.0272 4.7953 1.9219 6.211 1.9487 1.4159 4.8518 2.1765 6.5-.0919.0228-.0309.0536-.071.0898-.121-.7356-1.2717-1.396-3.0718-1.8222-4.9981-.4534-2.0492-.6023-4-.4356-5.6153m1.0723 3.338c.3387 2.8478 1.3315 5.8037 2.4355 7.3437l.0215.0293c1.6478 2.2683 4.551 1.5078 6.5.0918 1.9487-1.416 3.5697-3.943 1.9219-6.211-.0228-.0309-.0517-.073-.0879-.123-1.4367.3066-3.3522.3794-5.3164.1894-2.089-.2017-3.9895-.6623-5.4746-1.3203",
      "box": 24,
      "bg": "#4250AF"
    }
  },
  "author": "pal",
  "spec": "github:zcag/pal/extensions/immich@v0.9.1",
  "source": "https://github.com/zcag/pal/tree/HEAD/extensions/immich",
  "commit": "63287e180ce349dac3aa87c68ce4c80bc42ad409",
  "manifest": {
    "name": "immich",
    "title": "Immich",
    "description": "Search your Immich photo library by what is in the picture and browse the results as a grid. Albums, people and today's memories are one keystroke away, and a photo opens, copies or downloads from the list.",
    "version": "0.1.0",
    "keywords": [
      "photos",
      "pictures",
      "immich"
    ],
    "icon": {
      "tile": {
        "svg": "M11.9863.2695c-2.409 0-5.207 1.091-5.207 3.8946v.1523c1.3428.597 2.9347 1.6629 4.4121 2.9707 1.5713 1.3912 2.8374 2.8821 3.6524 4.2871 1.3997-2.5034 2.3358-5.4784 2.3476-7.373V4.164c0-2.8035-2.796-3.8946-5.205-3.8946m7.5117 4.4903c-.3778-.0081-.7747.0502-1.1914.1855-.0366.0118-.086.0278-.1445.0469-.1525 1.4611-.6756 3.304-1.4629 5.1133-.8373 1.9243-1.8627 3.5898-2.9472 4.7988 2.8132.558 5.9307.5273 7.7363-.0469.0126-.004.0246-.0065.0351-.0097 2.6665-.8666 2.84-3.8636 2.0957-6.1543-.6279-1.9332-2.081-3.89-4.121-3.9336m-14.996.039C2.4618 4.8424 1.0088 6.7973.3809 8.7305c-.7442 2.291-.5708 5.288 2.0957 6.1543l.1445.0468c.982-1.0926 2.4873-2.2761 4.1875-3.2773 1.8088-1.0646 3.619-1.808 5.207-2.1484-1.9483-2.1049-4.4884-3.9132-6.287-4.5098l-.0352-.0117c-.4167-.1354-.8136-.1936-1.1914-.1856m4.6718 6.7578c-2.6038 1.2025-5.1088 3.0598-6.2324 4.586l-.0215.0293c-1.6478 2.2683-.0272 4.7953 1.9219 6.211 1.9487 1.4159 4.8518 2.1765 6.5-.0919.0228-.0309.0536-.071.0898-.121-.7356-1.2717-1.396-3.0718-1.8222-4.9981-.4534-2.0492-.6023-4-.4356-5.6153m1.0723 3.338c.3387 2.8478 1.3315 5.8037 2.4355 7.3437l.0215.0293c1.6478 2.2683 4.551 1.5078 6.5.0918 1.9487-1.416 3.5697-3.943 1.9219-6.211-.0228-.0309-.0517-.073-.0879-.123-1.4367.3066-3.3522.3794-5.3164.1894-2.089-.2017-3.9895-.6623-5.4746-1.3203",
        "box": 24,
        "bg": "#4250AF"
      }
    },
    "author": "pal",
    "repo": "bundled",
    "license": "MIT",
    "settings": [
      {
        "kind": "text",
        "id": "url",
        "required": true,
        "label": "URL",
        "placeholder": "https://immich.example.com",
        "description": "Where the Immich API answers, scheme included; no trailing slash needed.",
        "default": ""
      },
      {
        "kind": "secret",
        "id": "api_key",
        "required": true,
        "label": "API key",
        "placeholder": "keychain:pal/immich-api_key",
        "description": "From Immich › Account Settings › API Keys. Reading needs asset.read, album.read, person.read, memory.read and asset.download; favouriting asset.update and adding to albums albumAsset.create. Stored as a keychain: or env: reference.",
        "default": ""
      },
      {
        "kind": "text",
        "id": "web_url",
        "label": "Web address",
        "placeholder": "https://photos.example.com",
        "description": "Where Open in Immich and Copy link point when the site has another name than the API (a tailnet API behind a public site). Empty: the URL above.",
        "default": ""
      },
      {
        "kind": "path",
        "id": "download_to",
        "label": "Download to",
        "pick": "folder",
        "placeholder": "~/Downloads",
        "description": "Where Download preview and Download original write, named `\u003cdate\u003e_\u003cfile\u003e`.",
        "default": "~/Downloads"
      }
    ],
    "store": {
      "tagline": "Search your Immich photos by what is in them",
      "category": "media",
      "features": [
        "Search by what is in the photo (\"a receipt\", \"dog on the beach\"), or by file name",
        "Narrow by date and place with `since:2025`, `in:2023` or `in:Ataşehir`; filter to videos or favourites",
        "A side pane with the photo large, when and where it was taken, the camera, the people and the albums",
        "`enter` opens it in Immich; copy the link or the picture, download it, favourite it or add it to an album",
        "Albums, people and On this day as lists of their own",
        "Thumbnails are cached, so a second look is instant"
      ],
      "permissions": [
        "network"
      ],
      "platforms": [
        "macos",
        "linux"
      ],
      "screenshots": [
        {
          "file": "1-recent.png",
          "caption": "Nothing typed: the newest uploads, the pane open on the first"
        },
        {
          "file": "2-search.png",
          "caption": "A CLIP search: what is in the picture, the place and date on every tile"
        },
        {
          "file": "3-actions.png",
          "caption": "What a photo can do: open, copy, download, favourite, add to an album, Quick Look"
        },
        {
          "file": "4-albums.png",
          "caption": "Albums: the cover, the count, the dates, the library's numbers on top"
        },
        {
          "file": "5-people.png",
          "caption": "People by face, favourites first"
        },
        {
          "file": "6-memories.png",
          "caption": "On this day: a row per year, Enter opens that year's photos"
        }
      ],
      "actions": [
        {
          "title": "Open in Immich",
          "description": "The photo's page on the web address.",
          "keys": "enter"
        },
        {
          "title": "Copy link",
          "keys": "cmd+enter"
        },
        {
          "title": "Copy image",
          "description": "The preview onto the clipboard as a picture.",
          "keys": "cmd+shift+c"
        },
        {
          "title": "Download preview",
          "description": "The 1440 px JPEG into `download_to`.",
          "keys": "cmd+s"
        },
        {
          "title": "Download original",
          "description": "The file as uploaded (a HEIC, an ARW, a video).",
          "keys": "cmd+shift+s"
        },
        {
          "title": "Favourite / Unfavourite",
          "keys": "cmd+f"
        },
        {
          "title": "Add to album…",
          "description": "A picker of your albums, or a new one.",
          "keys": "cmd+shift+a"
        },
        {
          "title": "Quick Look",
          "description": "The preview in Quick Look (macOS).",
          "keys": "cmd+y"
        }
      ]
    },
    "palettes": {
      "immich": {
        "title": "Immich",
        "kind": "grid",
        "fallback": "Search Immich for “{query}”",
        "description": "Type what is in the picture and Immich's CLIP search answers as a grid; a file name searches by name; nothing typed lists the newest uploads. since:, before:, in: narrow it; the dropdown picks photos, videos, favourites or the archive.",
        "keys": [
          {
            "keys": "enter",
            "title": "Open in Immich"
          },
          {
            "keys": "cmd+enter",
            "title": "Copy link"
          },
          {
            "keys": "cmd+shift+c",
            "title": "Copy image"
          },
          {
            "keys": "cmd+s",
            "title": "Download preview"
          },
          {
            "keys": "cmd+shift+s",
            "title": "Download original"
          },
          {
            "keys": "cmd+f",
            "title": "Favourite or unfavourite"
          },
          {
            "keys": "cmd+shift+a",
            "title": "Add to album…"
          },
          {
            "keys": "cmd+y",
            "title": "Quick Look"
          },
          {
            "keys": "cmd+i",
            "title": "The detail pane"
          },
          {
            "keys": "tab",
            "title": "Photos, videos, favourites, archive"
          }
        ],
        "settings": [
          {
            "kind": "number",
            "id": "columns",
            "label": "Columns",
            "description": "Tiles per row in every grid.",
            "min": 3,
            "max": 10,
            "default": 6
          }
        ]
      },
      "albums": {
        "title": "Immich Albums",
        "kind": "list",
        "lazy": true,
        "ttl": 300,
        "description": "Every album with its cover, count and dates; Enter opens the album as a grid, cmd+enter opens it in Immich. The library's numbers lead the list.",
        "keys": [
          {
            "keys": "enter",
            "title": "Open the album"
          },
          {
            "keys": "cmd+enter",
            "title": "Open in Immich"
          },
          {
            "keys": "cmd+c",
            "title": "Copy link"
          }
        ]
      },
      "people": {
        "title": "Immich People",
        "kind": "list",
        "lazy": true,
        "ttl": 600,
        "description": "The people Immich has named, favourites first, each with their face; Enter lists a person's photos as a grid.",
        "keys": [
          {
            "keys": "enter",
            "title": "The person's photos"
          },
          {
            "keys": "cmd+enter",
            "title": "Open in Immich"
          },
          {
            "keys": "cmd+c",
            "title": "Copy link"
          }
        ]
      },
      "memories": {
        "title": "On This Day",
        "kind": "live",
        "lazy": true,
        "ttl": 1800,
        "description": "Immich's memories for today: a row per past year with the count and the places; Enter opens that year's photos as a grid.",
        "keys": [
          {
            "keys": "enter",
            "title": "That year's photos"
          },
          {
            "keys": "cmd+enter",
            "title": "Open in Immich"
          }
        ]
      }
    },
    "links": {
      "search": {
        "description": "Open the Immich grid on a search",
        "params": {
          "q": {
            "description": "What to search for; empty lists the newest uploads. since:, before: and in: work here too"
          },
          "filter": {
            "description": "photos, videos, favourites or archived"
          }
        }
      },
      "album": {
        "description": "Open an album as a grid",
        "params": {
          "name": {
            "description": "The album's name (case does not matter)"
          },
          "id": {
            "description": "Or its id"
          }
        }
      },
      "person": {
        "description": "Open a person's photos as a grid",
        "params": {
          "name": {
            "description": "The person's name as Immich has it (case does not matter)"
          },
          "id": {
            "description": "Or their id"
          }
        }
      }
    }
  },
  "playable": false,
  "updated_at": "2026-09-30T01:45:08Z",
  "url": "https://pal.cagdas.io/extensions/immich",
  "tagline": "Search your Immich photos by what is in them",
  "category": "media",
  "screenshots": [
    "https://pal.cagdas.io/extensions/immich/screenshots/1-recent-dark.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/1-recent.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/2-search-dark.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/2-search.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/3-actions-dark.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/3-actions.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/4-albums-dark.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/4-albums.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/5-people-dark.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/5-people.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/6-memories-dark.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/6-memories.png"
  ],
  "panel_screenshots": [
    "https://pal.cagdas.io/extensions/immich/screenshots/1-recent.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/2-search.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/3-actions.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/4-albums.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/5-people.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/6-memories.png"
  ],
  "bar_screenshots": [],
  "panel_screenshots_dark": [
    "https://pal.cagdas.io/extensions/immich/screenshots/1-recent-dark.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/2-search-dark.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/3-actions-dark.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/4-albums-dark.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/5-people-dark.png",
    "https://pal.cagdas.io/extensions/immich/screenshots/6-memories-dark.png"
  ],
  "bar_screenshots_dark": [],
  "has_bar": false,
  "bar_items": [],
  "has_links": true,
  "links": [
    {
      "route": "search",
      "url": "pal://immich/search",
      "cli": "pal call immich/search",
      "description": "Open the Immich grid on a search",
      "params": [
        {
          "name": "q",
          "description": "What to search for; empty lists the newest uploads. since:, before: and in: work here too"
        },
        {
          "name": "filter",
          "description": "photos, videos, favourites or archived"
        }
      ]
    },
    {
      "route": "album",
      "url": "pal://immich/album",
      "cli": "pal call immich/album",
      "description": "Open an album as a grid",
      "params": [
        {
          "name": "name",
          "description": "The album's name (case does not matter)"
        },
        {
          "name": "id",
          "description": "Or its id"
        }
      ]
    },
    {
      "route": "person",
      "url": "pal://immich/person",
      "cli": "pal call immich/person",
      "description": "Open a person's photos as a grid",
      "params": [
        {
          "name": "name",
          "description": "The person's name as Immich has it (case does not matter)"
        },
        {
          "name": "id",
          "description": "Or their id"
        }
      ]
    }
  ],
  "multi": false,
  "has_readme": true
}
