ashbuilds / payload-ai

AI Plugin is a powerful extension for the Payload CMS, integrating advanced AI capabilities to enhance content creation and management.
MIT License
36 stars 7 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

The plugin uses environment variables for configuration. Create a .env file in your project root and add 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 plugin is available under dual licensing: