Skip to content

AI Plugin is a powerful extension for the Payload CMS, integrating advanced AI capabilities to enhance content creation and management.

License

Notifications You must be signed in to change notification settings

ashbuilds/payload-ai

Repository files navigation

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.2.1.

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


Want to dive deeper?

✨ Supported Fields and Features

Text and RichText Field

  • 📝 Text Generation
    • Compose masterpieces effortlessly
    • Proofread with precision (Beta)
    • Translate across languages
    • Expand your ideas
    • Summarize with clarity
    • Simplify complex concepts
    • Rephrase for maximum impact (Beta)

Upload Field

  • 🎙️ Voice Generation powered by ElevenLabs, OpenAI
  • 🖼️ Image Generation powered by OpenAI

Other Features

  • 🎛️ Field-level Prompt Customization
  • 🧠 Prompt Editor (Beta)
  • 📊 Document Analyzer (Coming Soon)
  • Fact Checking (Coming Soon)
  • 🔄 Automated Content Workflows (Coming Soon)
  • 🌍 Internationalization Support (Coming Soon)
  • 🌍 Editor AI suggestions (Coming Soon)
  • 💬 AI Chat Support (Coming Soon)

📚 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.