Export directly from Adobe Lightroom to Instagram

Last month I wrote about a plug-in to export images to WordPress from Adobe Lightroom. This month, I am writing about exporting from Lightroom to Instagram.

In the early days, Instagram was all about mobile photography. You used the app to snap a photo, applied a filter, added a few hashtags and posted the image to the Internet. But eventually, people started posting DSLR images to Instagram. The process was not quite as instant. Most DSLRs don’t have Wi-Fi and even if your does, the posting process involves transferring the image to your smartphone and importing to the Instagram app. If you wanted to do more editing and post-processing before posting to Instagram, you have to transfer the image from the computer to your smartphone and then import to the Instagram app. But there is a faster way.

LR/Instagram is an unofficial publish plugin for Lightroom, allowing you to post photos directly to your Instagram account from Lightroom. There is no need to export to a folder and then transfer the photo onto your smartphone.

Screen Shot of Lightroom File MenuFirst, you need to install the plugin. If you are already familiar with plug-in installation follow the normal process for installing LR/Instagram. If you have never installed a Lightroom plug-in, plug-in author Jeffrey Friedl has written an excellent overview of the process.

Once the LR/Instagram plugin has been installed you’ll need to create a Lightroom publish service. The Publish Services connection allows LR/Instagram and Lightroom to communicate with your Instagram account. You can find the Publish Services panel in the lower left-hand corner of the Library module. Click the "+" and click "Go to Lightroom Publishing Manager."

The Lightroom Publishing Manager will display a list of existing Publish Services. Click "Add" to create a new publish connection and select LR/Instagram from the drop-down list. You can optionally enter a name for this connection. Click Create to create the connection. Once your connection entry has been created you can configure the connection.

Select the LR/Instagram connection in the left pane of the Lightroom Publishing Manager. Once you authenticate with your Instagram account information, the connection is ready, and you can start exporting images to Instagram. However, before you start doing that there are some additional preferences that will help make the best use of the plug-in.

To avoid having my post fill the timeline of my viewer, I normally post only one image at a time to Instagram. I control this via the Upload limit preference. This limits the number of photo upload per publishing action. Originally, Instagram only supported square cropped images. However, recent updates to Instagram allow the posting of images in landscape and portrait modes. I welcome this change but if you are nostalgic for the square format, you can enable that preference.

LR/Instagram provides a new metadata panel, where you can add captions and hashtags to be published along with your to image. I created a custom template using a set of template tags to customize how the metadata information appears when I publish my image.

My template looks like this:


{cameraMake} {cameraModel} + {lens}, {shutterSpeed}, {aperture}, {isoSpeedRating} @ {focalLength} (~ {focalLength35mm})

{Hashtag} {#keywordTags}`

Here's an example of what that looks like when posted to Instagram.

Once you have your template set up, save the changes to the Publish Service. Now you can drag photos to the publish collection, then click Publish to immediately upload your photos to Instagram. If you want to change the caption and hashtags after posting an image, you can edit the information and mark the image for re-publishing. When you click the publish button, LR/Instagram will update the information on Instagram. The original image, however, will remain unchanged.

Adobe Lightroom, Publish Services
Drag images from your catalog into the photostream area under the publish service. Click Publish to post to Instagram.

The LR/Instagram plugin is compatible with Adobe Lightroom CC, or LR 3.0 (or later), on Windows XP (or later) and Mac OS X 10.7 (or later).

If you modify photo after publishing, the photos go to "Modified Photos to Re-Publish" state. Since it is not possible to replace a photo in Instagram, the photo content is not actually updated from this state. However, the plugin does update captions and hashtags on republishing.

The LR/Instagram plugin is 100% free to download and try. The developer simply asks that you if you like it, show your support by registering it for $10 from Lightroom Plugin Manager.

One thought on “Export directly from Adobe Lightroom to Instagram”

  1. Camera : NIKON D5100, Focal length : 35mm, Aperture : ƒ/5, Shutter speed : 1/160s, ISO : 100, Credit : Khürt L. Williams, Captured : 25 July, 2014,
    Earlier this year I started using an Adobe Lightroom plugin to export my images directly to Instagram. I also use an Adobe Lightroom to WordPress plugin from Automattic to export images directly to my self-hosted Jetpack-powered WordPress.
    It’s a two-step manual process but made easier by the efficiency of getting the images online.
    However, neither post was connected to the other. Once I learned about syndication I started perusing the IndieWeb website to find ways to connect images I posted on my website with images I posted on Instagram (or elsewhere). I experimented with a few of these methods.
    As a minimum setup for some of these solutions I enabled and configured the following list of plugins:

    Semantic Linkbacks
    IndieWeb Plugin

    OwnYourGram is a web service that polls your Instagram account, converts your posts to a Micropub request and sends them along with photos to your Micropub endpoint.
    I installed the Micropub and IndieAuth plugins for WordPress. IndieAuth is a way to use my own domain name to sign in to websites by linking my website to one or more authentication providers. I setup my website to use IndieAuth, linked it to Twitter, and then I signed into OwnYourGram with my domain.
    Once logged into OwnYourGram, I configured the hashtag that would trigger the import and automatic syndication of my post back to my website.
    I posted a photo on Instagram and waited. And waited. I did not test how long it took but OwnYourGrown did not post to the website in real time. Growing impatient I manually triggered OwnYourGram. The resulting post had a randomly generated numeral permalink, a randomly generated post date of 31st December 1969, an image in the body instead of the featured image, and badly formatted text, and the post title was blank.
    I care about how stuff looks on my website. I care enough that OwnYourGram isn’t the solution for me. For OwnYourGram to be a viable solution for me, I would want the image to be attached to a featured image, Instagram hashtags as WordPress tags, and a URL that was more meaningful.
    Another web service that was mentioned on the IndieWeb website was freedom.io. However, when I visited the website I got the following:

    This was an app that copied your posts, pictures, and other content from Facebook, Twitter, and Google+ to a blog of your choice. It’s down now, but it’s open source. So long, and thanks for all the fish!

    A link to the source code was provided. I am will not explore this solution further.
    Single Photo Bookmarklet
    The Single Photo Bookmarklet by Tantek Çelik is a web browser bookmarklet that will extract the Instagram permalink, image URL, image caption and copy them into a text note. I can then create a WordPress post and paste that information into the appropriate fields. It’s a fully manual process.
    The bookmarklet works but provides a square formatted image only. This solution useful if you post Instagram infrequently and don’t mind the pain of using a mobile browser to create WordPress posts. If your posts to Instagram frequently this might not be the solution for you.
    I didn’t pursue this solution further since my process already involves manually re-creating Instagram posts after creating the original on my website.
    DsgnWrks Instagram Importer
    I think DsgnWrks Instagram Importer is the solution that Chris Aldrich uses. The plugin allows the user to import Instagram photos to a WordPress site with options to control the imported posts formatting including built-in support for WordPress custom post types, custom taxonomies, post-formats.
    But it doesn’t work with WordPress 4.9. and hasn’t been updated in 8 months. I usually don’t run untested code to reduce the likelihood of introducing security vulnerabilities. If a plugin has not been tested on the current (or at least the previous) release of WordPress or hasn’t been updated in a long time, I don’t use it.
    But I wanted to see if/how this plugin worked. It didn’t. After trying unsuccessfully for about an hour trying to get the plugin to connect to my Instagram account I visited the plugin support page. Another user has reported that Instagram tokens were being rejected and that the plugin no longer works.
    The UI allowed me to authenticate to Instagram. I was able to set the import options. However, once I clicked save, the user tab disappeared from the UI. Changing the import options from manual was not possible. The UI resets.
    Installed the DsgnWrks Instagram Importer Debug plugin to help with troubleshooting but was not able to get that to do anything useful and the plugin kept disabling itself after use.

    I gave up and moved on.
    SNAP Pro
    Social Networks Auto Poster {SNAP} from Nextscripts seemed the most promising. This basic WordPress plugin creates syndicated posts to various services including Twitter, Facebook, LinkedIn, Medium, Flickr, etc. and leverages the Bridgy Publishing plugin to link back to the original post on WordPress.
    There is a lot to like about SNAP. However, to take advantage of some of the features, including the ability to post to Google+, Pinterest, Instagram, YouTube, Flipboard, etc. a purchase of a ($49.95/year) Pro subscription is required. So I did.
    It has a number of advanced features including:

    Scheduled and Delayed posting
    Filters for posting to each service based on categories, tags, types, etc.
    Leverages Webmentions to auto-import comments from Facebook and replies and mentions from Twitter as WordPress Comments
    Post formatting, etc.

    It took some tweaking but for a while, I was very happy with the results. And then recently the SNAP Pro service starting having problems posting to Facebook. And then Instagram. Until the issues with Facebook and Instagram are resolved, this solution is dead to me. I have given someone money for a service which I can’t use. Which to put it bluntly, fucking pisses me off.
    Keyring Social Importers
    Xavier Roy suggested I try using the Keyring Social Importers plugin. This plugin supports a set of social importers that pull in content created on other sites and re-publishes it on your own WordPress site. After an initial import, the importers optionally check each hour and automatically download new content. New posts are created for each item imported with support for specific Post Formats, depending on the content type.
    At the time of writing this, the plugin had not been tested on WordPress 4.9. Untested code can be unstable code and unstable code can lead to security leaks etc. so I configured and tested everything on a test instance of WordPress.
    I had to also install the Keyring plugin to use with Keyring Social Importers which provides the authentication and API connections to each of the external services. I configured API access to Instagram and then from the “Tools->Import” section of the dashboard I clicked the link to start importing from Instagram.
    I’ve had my Instagram account for just over a year. The importer bombed after importing the most recent Instagram posts but I was able to restart the importer which continued in the background. Each photo on my Instagram account was downloaded and imported into myMedia Library. The imported image was attached to each post as a featured image, which is a feature I wanted, however, each image is only 640px × 479px. I would have preferred to import the 1080 version of the image. I know Instagram support this. The body of the post was set thusly:
    <p class="instagram-image"><a href="https://www.instagram.com/p/Bc0Hw30HlOS/" class="instagram-link"><img src="" width="640" height="479" alt="You know what? Sometimes you don’t even need the bandanna.

    @troonbrewing Crust Punk Dog is a New England style IPA.

    #troonbrewing #crustpunkdog #ale #beer #craftale #ipa" class="keyring-img" /></a></p>
    <p class='instagram-caption'>You know what? Sometimes you don’t even need the bandanna.

    @troonbrewing Crust Punk Dog is a New England style IPA.

    #troonbrewing #crustpunkdog #ale #beer #craftale #ipa</p>

    All of the Instagram hashtags were imported as WordPress tags. The importer leverage the Post Kinds and Simple Location IndieWeb plugins to set the Post Kind to Photo and set the geographic location for the post. However, syndication links were not set. That means setting it manually later. I am also disappointed that the entire content of the Instagram caption was used as the title of the post. It’s ugly.
    The original Instagram post is neat and tidy. The WordPress copy is not.

    My (mostly) Manual Solution
    My original workflow involved creating a separate post on my website and on Instagram. But since I started using the IndieWeb and Syndication Links plugins I have adjusted my workflow. For my new workflow, I still manually post the same photo to Instagram and my website, but now I copy the Instagram URL and add it as a syndication link on the original WordPress photo post.

    Original post:
    Instagram post: https://www.instagram.com/p/BcmgMfKnN1q/

    It’s not an ideal solution but for me, it works better than the other solutions I tried. Ideally, if Nextscripts could fix the problems with SNAP Pro I would switch to that but the cost of the annual subscription is also an issue.
    As I stated in an earlier post:

    I’m going to use what works and is easy but focus on my content. When it doesn’t work; when it’s not easy. I’ll move on. Try another time.

Got some feedback? Please leave a comment below.

This site uses Akismet to reduce spam. Learn how your comment data is processed.