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'

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

⚙️ Configuration

To get started, choose your preferred AI model by setting one or more of the following environment variables. Create a .env file in your project root and add any of the following keys:

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

For detailed guidance on personalizing and configuring the plugin to match your needs, check out the Complete Guide. It walks you through every step, from setting up fields to generating amazing content!

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 and hear fresh ideas. Whether you’re here to share feedback, suggest features, or contribute code, we’d love to have you on board.

Feel free to create a pull request with your ideas, improvements, or bug fixes. No contribution is too small, and every bit helps us grow!

Join the conversation on Payload's Discord and let’s build something amazing together! 🚀✨