Skip to main content
Version: 1.0.0

AI Overview

Dragble includes built-in AI features for generating text, headings, images, searching stock photos, and auto-generating alt text — all accessible from the editor toolbar.

AI Modes

ModeDescriptionConfiguration
dragbleUses Dragble's built-in AI backend. No setup required.ai: { mode: 'dragble' }
externalRoutes all AI requests to your own backend via callbacks.ai: { mode: 'external', callbacks: { ... } }
disabledHides all AI features from the editor UI.ai: { mode: 'disabled' }

Configuration

Pass the ai option when initializing the editor:

const config: DragbleConfig = {
ai: {
mode: "dragble", // 'dragble' | 'external' | 'disabled'

// Only required when mode is 'external'
callbacks: {
onSmartTextGenerate: async (params) => {
/* ... */
},
onSmartHeadingGenerate: async (params) => {
/* ... */
},
onSmartButtonGenerate: async (params) => {
/* ... */
},
onImageGenerate: async (params) => {
/* ... */
},
onImageSearch: async (params) => {
/* ... */
},
onAltTextGenerate: async (params) => {
/* ... */
},
},

// Optional: configure which AI features are enabled
features: {
smartText: true,
smartHeading: true,
smartButton: true,
imageGeneration: true,
imageSearch: true,
altText: true,
},
},
};

Feature Summary

FeatureDescriptionCallback
Smart TextGenerate body copy from a promptonSmartTextGenerate
Smart HeadingGenerate headings from a promptonSmartHeadingGenerate
Smart ButtonGenerate button labels from a promptonSmartButtonGenerate
Image GenerationCreate images from a text promptonImageGenerate
Image SearchSearch stock photo librariesonImageSearch
Alt TextAuto-generate alt text for imagesonAltTextGenerate
tip

Start with dragble mode to try AI features instantly. Switch to external when you need to use your own models or control costs.

info

When mode is 'disabled', all AI buttons and menus are hidden from the editor UI. No AI-related network requests are made.

Enabling Individual Features

You can selectively disable features even in dragble or external mode:

ai: {
mode: 'dragble',
features: {
smartText: true,
smartHeading: true,
smartButton: false, // hide smart button generation
imageGeneration: false, // hide AI image generation
imageSearch: true,
altText: true,
},
}

Next Steps