Lightroom Classic
Install the ArtInStack publish service, OAuth-connect, pick a portfolio, and publish from Lightroom Classic on macOS or Windows.
This is the integration how-to for the official Lightroom Classic Publish Service. API reference: OAuth, Media, Portfolios.
Prerequisites
- Lightroom Classic (supported min version per Software release notes)
- ArtInStack account with at least one portfolio created in the dashboard
.zipfrom Software (unzips toArtInStack.lrplugin)
Install
- Download
ArtInStack-Lightroom-latest.zipfrom Software - Unzip. You should get a folder named
ArtInStack.lrplugin - Lightroom Classic → Plug-in Manager → Add. Select that folder (macOS and Windows use the same zip)
- Enable the ArtInStack publish service
Connect (OAuth PKCE)
- In Publishing Manager, open the ArtInStack service
- Click Connect. The browser opens
/oauth/authorize - Sign in if prompted, then approve scopes
- Browser redirects to loopback; plugin stores access + refresh tokens
- Connected apps in Settings → Developer lists ArtInStack after consent
Pick a portfolio
- Destination → Portfolio loads
GET /api/v1/portfolios - Choose the portfolio for this publish collection
- Create one publish collection per portfolio (Lightroom left rail)
Publish
- Drag photos into the publish collection
- Click Publish. Lightroom renders per export settings (the plugin uploads JPEG today)
- Plugin uploads via
POST /api/v1/mediawithIdempotency-Keyandportfolio_id - On success, plugin stores remote
media_idon the photo for re-publish support
Supported API types (JPEG, PNG, GIF, WebP, TIFF) are listed on Media.
Troubleshooting
| Symptom | Check |
|---|---|
| Connect fails | Loopback redirect URI registered on platform OAuth client; firewall blocking localhost |
| Empty portfolio list | portfolios:read granted; portfolio exists in same workspace as consent |
| Upload 403 | Missing media:write or portfolios:write |
| Duplicate uploads on retry | Stable Idempotency-Key per publish attempt |
Disconnect
Use Disconnect in the plugin or Revoke access under Connected apps in the dashboard.
