ashbuilds / payload-ai

AI Plugin is a powerful extension for the Payload CMS, integrating advanced AI capabilities to enhance content creation and management.
Other
66 stars 10 forks source link
ai ai-translate ai-writing ai-writing-tool content-generation payloadcms plugin smart-generation text-generation text-to-image text-to-speech

Payload AI Plugin

Payload AI Plugin

🌟 Supercharge Your Payload CMS with AI-Powered Content Creation

The Payload AI Plugin is an advanced extension that integrates modern AI capabilities into your Payload CMS, streamlining content creation and management.

⚠️ Important: This plugin is in active development. We're doing our best to improve its features and functionality. Please be prepared for regular updates; at the moment, the plugin has only been tested with Payload version v3.0.0-beta.104.

To give it a try, we recommend using Payload's website template.


πŸŽ₯ Watch the Magic in Action

Want to dive deeper?

πŸŽ₯ Explore More in Our Extended Demo

✨ Supported Fields and Features

Text and RichText Field

Upload Field

Other Features

πŸ“š Table of Contents

πŸ“¦ Installation

Rock your Payload project with a single command:

pnpm add @ai-stack/payloadcms

πŸ›  Usage

Config with ease:


// Add below in payload.config.ts
import { buildConfig } from 'payload/config';
import { payloadAiPlugin } from '@ai-stack/payloadcms';

export default buildConfig({
  plugins: [
    payloadAiPlugin({
      collections: {
        [Posts.slug]: true,
      },
      debugging: false,
    }),
  ],
  // ... your existing Payload configuration
});

// Add below in Lexical Editor field config
import { PayloadAiPluginLexicalEditorFeature } from '@ai-stack/payloadcms'

fields: [
  {
    name: 'content',
    type: 'richText',
    editor: lexicalEditor({
      features: ({ rootFeatures }) => {
        return [
          // ... your existing features
          PayloadAiPluginLexicalEditorFeature()
        ]
      },
    }),
  },
]

βš™οΈ Configuration

Choose your AI model by providing one or more of the following environment variables. Create a .env file in your project root and add any of the following variables:

OPENAI_API_KEY=your-openai-api-key
ANTHROPIC_API_KEY=your-anthropic-api-key
ELEVENLABS_API_KEY=your-elevenlabs-api-key

Enabling AI for Custom Components

⚠️ Note: Custom fields don't fully adhere to the Payload schema, making it difficult to determine which components support injecting ComposeField as a Description. If AI enabled fields don't display Compose settings, please manually add the following component path:

@ai-stack/payloadcms/fields#ComposeField

To view AI enabled fields, enable the debugging flag in your plugin config or check your server startup logs.

πŸ‘₯ Contributing

Innovators: welcome! We're always excited to expand our community. Connect with us on Discord to get started.

Licensing

This project is dual-licensed under the MIT License and a Commercial License. Please read carefully to determine which license applies to you:

  1. MIT License (For open-source projects, individual use, and organizations with revenue under $1 million):

    • This license allows free use, modification, and distribution as long as the original copyright notice is included.
    • This license does not apply to companies or organizations that generate revenue above $1 million annually.
  2. Commercial License (For commercial organizations or companies with revenue over $1 million):

    • If you are using this project in a commercial context or your organization’s annual revenue exceeds $1 million, you must obtain a commercial license.
    • The commercial license includes additional rights for enterprise-level use, support, and feature requests.
    • To inquire about a commercial license, contact ashish.mishra41191@gmail.com.

For any questions or concerns about licensing, feel free to reach out!