AI Toolkit Demo
Runs in built-in demo mode - no API key required. Click a quick action below, or use the Ask AI toolbar button in the editor. Every suggestion is previewed before it commits.
Try every AI surface below
Pick a sample document, then click a quick action. Watch the editor react in real time.
Each sample exercises different AI behaviors. The editor updates immediately.
Launch-ready product update
RichTextEditor now supports in-editor AI actions that stay close to the document instead of opening a disconnected utility panel.
Use Ask AI to proofread, rewrite, justify an edit, add a paragraph, or open AI Chat for a multi-turn workflow. Suggestions stay reviewable before they are applied.
- Inline AI preview with accept and reject
- Docked AI Chat for multi-turn editing help
- AI Review drawer for pending, accepted, and rejected suggestions
What to try
Select the first paragraph and run Proofread, or open AI Chat and ask it to summarize the content and suggest a stronger heading.
Demo code
Everything between the BEGIN-DEMO-CODE / END-DEMO-CODE markers is the live code running on this page.
<div id="div_ai_editor"> ... </div>
<script>
var aiEditorConfig = {
toolbar: "full",
height: "560px",
showFloatTextToolBar: true,
showFloatParagraph: true,
showStatistics: true,
aiToolkitPersistenceKey: "tailwind-ai-toolkit-demo"
};
var aiEditor = new RichTextEditor("#div_ai_editor", aiEditorConfig);
var aiDemo = {
openDialog: function () {
aiEditor.aiToolkit.openDialog({ presetMode: "rewrite", useDocument: false, autoRun: false });
},
proofread: function () {
selectAiIntroParagraph();
aiEditor.aiToolkit.runQuickAction("proofread");
},
rewrite: function () {
selectAiIntroParagraph();
aiEditor.aiToolkit.runQuickAction("rewrite");
},
summarize: function () {
aiEditor.aiToolkit.runQuickAction("summarize");
},
chat: function () {
aiEditor.aiToolkit.openChatPanel({ focusComposer: true });
},
review: function () {
aiEditor.aiToolkit.openReviewPanel({ focusPanel: true });
},
loadSample: function (name) {
aiEditor.setHTMLCode(aiDemoSamples[name]);
}
};
</script>