Title: Shilpi Image Kit
Author: Mojibur Rahman
Published: <strong>October 30, 2026</strong>
Last modified: October 30, 2026

---

Search plugins

![](https://ps.w.org/shilpi-image-kit/assets/banner-772x250.png?rev=3775284)

![](https://ps.w.org/shilpi-image-kit/assets/icon-256x256.png?rev=3775284)

# Shilpi Image Kit

 By [Mojibur Rahman](https://profiles.wordpress.org/fmojibur/)

[Download](https://downloads.wordpress.org/plugin/shilpi-image-kit.1.0.2.zip)

 * [Details](https://wordpress.org/plugins/shilpi-image-kit/#description)
 * [Reviews](https://wordpress.org/plugins/shilpi-image-kit/#reviews)
 *  [Installation](https://wordpress.org/plugins/shilpi-image-kit/#installation)
 * [Development](https://wordpress.org/plugins/shilpi-image-kit/#developers)

 [Support](https://wordpress.org/support/plugin/shilpi-image-kit/)

## Description

Generating an image with AI takes a minute or more per picture. A landing page needs
a dozen. Shilpi Image Kit fills those slots from the free stock libraries instead,
in about a second each.

One call to `auto_image` searches Pexels, Pixabay, Openverse and Wikimedia Commons
together, ranks the results against the slot the image has to fill, downloads the
winner, resizes it, converts it to WebP, sets the alt text and returns a URL.

**Ranking that knows about the slot.** Aspect ratio, minimum width and the site’s
brand colour all feed the score, so a 16:9 hero gets a wide photograph in the right
palette rather than whatever matched the keyword first.

**Ranking that knows about the licence.** A CC0 photograph outranks one that requires
a credit, which outranks one that adds share-alike terms. What lands on a client
site is the picture with the fewest obligations attached to it.

**One round trip.** All four sources are queried together, not one after another,
and results are cached for 24 hours.

**No duplicates.** The same source URL always resolves to the same attachment, so
rebuilding a page does not fill the library with copies.

**Credits kept.** The photographer, the source and the licence are stored on every
attachment, shown in a Credit column in the media library and available through 
the `[shilpi_image_credits]` shortcode.

#### Sources

 * **Pexels** and **Pixabay** need a free API key. Both allow, and Pixabay requires,
   copying the file to your own server.
 * **The WordPress Photo Directory** is WordPress.org’s own community photo library.
   No key, and everything in it is CC0, so no attribution is required.
 * **Openverse**, WordPress.org’s own media search, works with no key at all.
 * **Wikimedia Commons** works with no key and covers real places, food, plants 
   and local life far better than the curated libraries.

Shutterstock, Adobe Stock, Envato Elements and Canva are deliberately not supported:
their terms do not allow a plugin to license and redistribute their images on your
behalf.

#### Using it by hand

Wherever WordPress opens “Choose an image”, a **Free stock photos** tab sits
 beside“
Upload files” and “Media Library”. Search, pick, and the photograph is downloaded,
resized, credited and selected, without leaving the dialog.

#### REST API

For integrations, authenticated WordPress REST endpoints are available at `/wp-json/
shilpi-image-kit/v1/`. They support searching free images and importing a selected
result into the Media Library.

### External services

This plugin searches external image services and downloads selected image files.
A search is sent only when an authenticated WordPress user with permission to upload
files uses the Free stock photos tab or an authenticated integration calls the plugin’s
REST API. An image is downloaded only after that user chooses it or requests automatic
import. The site server’s IP address and HTTP user agent are necessarily visible
to each contacted service.

The plugin does not send WordPress usernames, email addresses, post content, analytics,
or tracking identifiers to these services. It does not contact them on ordinary 
public page views. Search responses are cached on the WordPress site for the configured
period.

#### WordPress Photo Directory

Used to search WordPress.org’s CC0 photo collection and download a selected photo.
The plugin sends the search phrase, requested orientation, colour, pagination parameters,
and result limit to WordPress.org when a search is performed. No account or API 
key is required.

 * Service: https://wordpress.org/photos/
 * Terms of Service: https://wordpress.org/about/terms-of-service/
 * Privacy Policy: https://wordpress.org/about/privacy/

#### Openverse

Used to search openly licensed images. The plugin sends the search phrase, requested
image type, orientation, licence filters, page, and result limit to the Openverse
API when a search is performed. If the site owner configures an optional Openverse
access token, that token is sent in the request authorization header. When an image
is imported, its image host receives a download request.

 * Service: https://openverse.org/
 * Terms of Use: https://docs.openverse.org/terms_of_service
 * Privacy Policy: https://openverse.org/privacy

#### Wikimedia Commons

Used to search freely licensed media. The plugin sends the search phrase, file-type
restriction, pagination parameters, and result limit to the Wikimedia Commons API
when a search is performed. No account or API key is required. When an image is 
imported, Wikimedia’s image server receives the download request.

 * Service: https://commons.wikimedia.org/
 * Terms of Use: https://foundation.wikimedia.org/wiki/Policy:Terms_of_Use
 * Privacy Policy: https://foundation.wikimedia.org/wiki/Policy:Privacy_policy

#### Pexels

Used to search and import stock photographs when the site owner enables Pexels and
supplies a Pexels API key. The plugin sends that API key in the authorization header
together with the search phrase, requested orientation, page, and result limit when
a search is performed. When an image is imported, Pexels’ image server receives 
the download request and the source page is sent as the HTTP referrer.

 * Service and API: https://www.pexels.com/api/
 * Terms of Service: https://www.pexels.com/terms-of-service/
 * Privacy Policy: https://www.pexels.com/privacy-policy/

#### Pixabay

Used to search and import stock photographs and illustrations when the site owner
enables Pixabay and supplies a Pixabay API key. The plugin sends that API key, the
search phrase, image type, orientation, safe-search choice, colour, page, and result
limit to the Pixabay API when a search is performed. When an image is imported, 
Pixabay’s image server receives the download request and the source page is sent
as the HTTP referrer.

 * Service and API: https://pixabay.com/api/docs/
 * Terms of Service: https://pixabay.com/service/terms/
 * Privacy Policy: https://pixabay.com/service/privacy/

## Screenshots

[⌊The Free stock photos tab in the WordPress Media Library lets you search multiple
free sources and add a selected image directly to your site.⌉⌊The Free stock photos
tab in the WordPress Media Library lets you search multiple free sources and add
a selected image directly to your site.⌉[

The Free stock photos tab in the WordPress Media Library lets you search multiple
free sources and add a selected image directly to your site.

## Installation

 1. Install and activate the plugin.
 2. Go to Settings, Image Kit.
 3. Add a Pexels or Pixabay key, or just leave Openverse and Wikimedia Commons enabled,
    which need none.

Keys can also be defined in `wp-config.php` as `SHILPI_IK_PEXELS_KEY`, `SHILPI_IK_PIXABAY_KEY`
and `SHILPI_IK_OPENVERSE_TOKEN`, which then take precedence over the settings screen.

## FAQ

### Why is Unsplash not included?

Unsplash’s API guidelines require their image URLs to be hotlinked rather than copied
to your own server, which is the opposite of what this plugin does.

### Do I have to credit the photographer?

Pexels and Pixabay ask for it without requiring it. Several Openverse and Wikimedia
Commons licences do require it. The credit is stored on every attachment either 
way, so `[shilpi_image_credits]` in the footer covers you.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Shilpi Image Kit” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Mojibur Rahman ](https://profiles.wordpress.org/fmojibur/)

[Translate “Shilpi Image Kit” into your language.](https://translate.wordpress.org/projects/wp-plugins/shilpi-image-kit)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/shilpi-image-kit/),
check out the [SVN repository](https://plugins.svn.wordpress.org/shilpi-image-kit/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/shilpi-image-kit/)
by [RSS](https://plugins.trac.wordpress.org/log/shilpi-image-kit/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.2

 * Changed: every class, constant, function, hook, transient, meta key, script handle
   and CSS class now uses the unique “shilpi_ik” prefix (Shilpi_IK_ for classes,
   SHILPI_IK_ for constants) instead of the short “sik” prefix.
 * Changed: the optional wp-config.php keys are now SHILPI_IK_PEXELS_KEY, SHILPI_IK_PIXABAY_KEY
   and SHILPI_IK_OPENVERSE_TOKEN.

#### 1.0.1

 * Fixed: moved settings-page CSS to a properly enqueued local stylesheet.
 * Changed: uniquely prefixed the credit shortcode as `[shilpi_image_credits]`.
 * Added: full disclosure of every external image service, the data sent, when it
   is sent, and links to terms and privacy policies.
 * Changed: removed WordPress.org directory artwork from the installable plugin 
   package.

#### 1.0.0

 * Added: a “Free stock photos” tab in the WordPress media modal. Search every source
   by hand wherever WordPress opens “Choose an image”, pick one, and it is imported,
   selected and handed straight back to whatever opened the dialog.
 * The tab honours the same ranking, licence gate and credit storage as the agent
   tools, and says why a search came back empty rather than leaving you guessing.

#### 1.3.0

 * Added: a licence gate. The site chooses which licences it will accept, and search
   enforces it. The default allows only images that oblige nothing, so a placeholder
   nobody replaces cannot become a licence problem after delivery.
 * Added: when a search is emptied by that gate, the response says how many images
   were refused and why, instead of looking like a library with nothing to offer.

#### 1.2.0

 * Changed: results are now ranked by what the licence obliges the site owner to
   do. A CC0 image outranks a CC BY one, which outranks CC BY-SA, so the picture
   that reaches a client site is the one least likely to cause trouble later.
 * Changed: sources are listed and weighted with the fewest strings attached first,
   led by the CC0 WordPress Photo Directory.
 * Added: every search result reports an obligation of none, attribution or share-
   alike.
 * Changed: the settings screen is rebuilt as source cards showing each source’s
   licence, what it is good for, whether it is ready, and its key field in place,
   with storage options separated out.

#### 1.1.0

 * Added: the WordPress Photo Directory as a fifth source. Community-contributed,
   CC0, no key and no attribution required, with real orientation and colour filtering
   through its taxonomies.
 * Added: a source introduced by an update is switched on automatically on sites
   that already have saved settings, unless the owner had previously unticked it.

#### 1.0.4

 * Added: the plugin now registers its own Shilpi skill. The instructions appear
   under Skills the moment the plugin is activated and disappear when it is deactivated,
   with no Markdown file to upload by hand.
 * Added: an agent routing rule, so an agent building a page is told to read the
   skill before writing any markup that shows an image.

#### 1.0.3

 * Fixed: cached searches survived a plugin update, so rows parsed by the previous
   version kept being served for up to 24 hours after a parser fix.
 * Fixed: a rate-limited or failing source had its failure cached for the full window,
   turning a momentary refusal into a source that stayed dark all day.

#### 1.0.2

 * Fixed: Wikimedia Commons reported the requested thumbnail width even when it 
   returned a smaller unscaled original, so images below the requested min_width
   slipped through.
 * Fixed: auto_image did not report when it had relaxed the search to find a result.
 * Fixed: a relaxed retry still applied the original minimum width, which defeated
   the retry.
 * Fixed: a rate-limited Openverse or Wikimedia request reported a rejected API 
   key, for sources that use no key.
 * Changed: dropped the load_plugin_textdomain() call. WordPress has loaded translations
   by itself since 4.6 and the plugin ships no bundled catalogue.
 * Changed: readme now documents WordPress 7.1 as tested.

#### 1.0.1

 * Fixed: Wikimedia Commons returned nothing usable, because scaled thumbnails are
   served from thumb.wikimedia.org and only upload.wikimedia.org was trusted.
 * Fixed: Openverse creator names could arrive percent-encoded and rendered as gibberish
   in the credit line.
 * Fixed: some content delivery networks refused the download with a 403; requests
   now carry a normal browser user agent and the source page as referer.
 * Added: a search that finds nothing now retries automatically with the orientation
   and size filters dropped, then with a shorter phrase, instead of returning empty.

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.2**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 8.0 or higher **
 * Tags
 * [free images](https://wordpress.org/plugins/tags/free-images/)[image search](https://wordpress.org/plugins/tags/image-search/)
   [media library](https://wordpress.org/plugins/tags/media-library/)[stock images](https://wordpress.org/plugins/tags/stock-images/)
   [webp](https://wordpress.org/plugins/tags/webp/)
 *  [Advanced View](https://wordpress.org/plugins/shilpi-image-kit/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/shilpi-image-kit/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/shilpi-image-kit/reviews/)

## Contributors

 *   [ Mojibur Rahman ](https://profiles.wordpress.org/fmojibur/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/shilpi-image-kit/)