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.0.0-beta.104.

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.

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.
  1. 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 [email protected].

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