open-index/open-npm huggingface dataset:
npm package: @rubixstudios/payload-images
Description: A Payload CMS plugin that integrates with stock image providers including Unsplash, Pexels and Pixabay.
Author: Rubix Studios
Latest version: 1.1.3

# PayloadCMS Image Search Plugin

PayloadCMS plugin for stock image search across Unsplash, Pexels, and Pixabay, with filterable results and instant import.

<img width="1899" height="907" alt="image" src="https://github.com/user-attachments/assets/1c19f977-d075-4dfc-9f52-8d9426bc1500" />

This project is an independent implementation derived [PayloadBites' Image Search](https://github.com/rilrom/payload-bites/tree/main/packages/image-search) extended with provider-specific image filtering and improved Windows OS compatibility.

## Installation

```sh
pnpm add @rubixstudios/payload-images
```

```typescript
// payload.config.ts
import { buildConfig } from 'payload/config'
import { imagePlugin } from '@rubixstudios/payload-images'

export default buildConfig({
  plugins: [
    imagePlugin({
      disabled: false, // Optional, defaults to false
      access: ({ req: { user } }) => Boolean(user), // Image search access control
      pexels: process.env.API_KEY_PEXELS!,
      pixabay: process.env.API_KEY_PIXABAY!,
      unsplash: process.env.API_KEY_UNSPLASH!,
    }),
  ],
})
```

## Notes

API key can be obtained from the respective provider's website.

- [Unsplash](https://unsplash.com/developers)
- [Pexels](https://www.pexels.com/api/)
- [Pixabay](https://pixabay.com/api/docs/)

When using Unplash, utilise your Access Key for the API Token.

## Features

- Stock image search inside Payload Admin
- Providers: Unsplash, Pexels, Pixabay
- Provider-specific filters (color, orientation, size, type)
- Featured and keyword search modes
- One-click image import
- Permission-based access control

## Liability

Rubix Studios, its developers, and contributors bear no responsibility for how images are used.
Before using any provider, ensure you have reviewed and agreed to their terms and usage policies.

## Support

For support or inquiries:

- LinkedIn: [rubixvi](https://www.linkedin.com/in/rubixvi/)
- Website: [Rubix Studios](https://rubixstudios.com.au)

## Author

Rubix Studios Pty. Ltd.  
[https://rubixstudios.com.au](https://rubixstudios.com.au)

## Acknowledgments

This project is based on the Image Search by Riley Langbein:

- [Riley Langbein](https://github.com/rilrom)
npm package: @rubixstudios/payload-unsend
Description: ⚠️ DEPRECATED: This package has been renamed to @rubixstudios/payload-usesend. Please migrate.
Author: Rubix Studios
Latest version: 1.11.7

# ⚠️ Deprecated: Migrated to Usesend

This package has been renamed to **[@rubixstudios/payload-usesend](https://www.npmjs.com/package/@rubixstudios/payload-usesend)**.  
No further development will occur here. Please update your dependency:

```sh
pnpm add @rubixstudios/payload-usesend
```

## PayloadCMS + Unsend.dev Email Adapter

This adapter allows [PayloadCMS](https://payloadcms.com) to send emails using the [Unsend](https://unsend.dev) REST API.

[![npm version](https://img.shields.io/npm/v/@rubixstudios/payload-unsend.svg)](https://www.npmjs.com/package/@rubixstudios/payload-unsend)

## Installation

```sh
pnpm add @rubixstudios/payload-unsend
```

## Usage

- Sign up for a [Unsend](https://unsend.dev) account
- Set up a domain
- Create an API key
- Set API key as UNSEND_API_KEY environment variable
- Set your Unsend base url as UNSEND_URL environment variable
- Configure your Payload config

```ts
// payload.config.js
import { unsendAdapter } from '@rubixstudios/payload-unsend'

export default buildConfig({
  email: unsendAdapter({
    defaultFromAddress: 'hello@rubixstudios.com.au',
    defaultFromName: 'Rubix Studios',
    apiKey: process.env.UNSEND_API_KEY || '',
    unsendurl: process.env.UNSEND_URL || 'https://rubixstudios.com.au'
    // Optional:
    // templateId: 'template-uuid',
    // scheduledAt: '2025-08-01T10:00:00Z',
    // variables: { firstName: 'Vincent' }
  }),
})
```

---

## Project Status

This repository is archived. Future development continues at [payload-usesend](https://github.com/rubix-studios-pty-ltd/payload-usesend).
npm package: @rubixstudios/payload-upstash
Description: Upstash KV adapter for Payload
Author: Rubix Studios
Latest version: 1.2.5

# PayloadCMS + Upstash KV Adapter

This package provides a way to use [Upstash](https://upstash.com) as a KV adapter with Payload.

## Installation

```sh
pnpm add @rubixstudios/payload-upstash
```

## Usage

```ts
import { upstashKVAdapter } from '@rubixstudios/payload-upstash'

export default buildConfig({
  collections: [Media],
  kv: upstashKVAdapter({
    // Upstash connection URL. Defaults to process.env.UPSTASH_URL
    url: process.env.UPSTASH_URL!,
    token: process.env.UPSTASH_TOKEN!,
    // Optional prefix for Upstash Redis keys to isolate the store. Defaults to 'payload-kv:'
    keyPrefix: 'kv-storage:',
    // Optional TTL configuration for automatic expiration by key prefix
    ttl: [
      { prefix: 'session:', ttl: 3600 },
      { prefix: 'cache:', ttl: 300 },
      { prefix: 'temp:', ttl: 60 },
    ],
  }),
})
```

Then you can access the KV storage using `payload.kv`:

```ts
await payload.kv.set('key', { value: 1 })
const data = await payload.kv.get('key')
payload.logger.info(data)
```