See Wagtail AI in action!

This video features Sage Abdullah and Tom Usher at Wagtail CMS 2025 .

See Wagtail AI in action!
0:14:43
Published October 31, 2025
2,721 views

At Wagtail Space 2025, Tom Usher and Sage Abdullah demoed the newest version of the Wagtail AI package and showed how you can use your favorite AI tools in Wagtail to generate title suggestions, image captions, al text, and more!

Watch this demo to get a feel for how Wagtail works for editors and see how you can incorporate these optional AI-powered features into your Wagtail CMS projects. The Wagtail AI package can be used with proprietary models like Open AI's GPT and Anthropic's Claude or open source models like Mistral or Llama.

Find more details in our docs: https://wagtail-ai.readthedocs.io/latest/

💻 Wagtail is the easiest open-source Python CMS to use:
Install the demo and start building your first site in 10 minutes: https://wagtail.org/get-started/

What will I learn from this video?

You'll learn about all the new features offered through the Wagtail AI package and see how they work in the Wagtail editor. You'll get a basic demo of how to incorporate these features into your page model code and how you can make them available to your editors. You'll see the different AI models and tools that you use in Wagtail and find out what some of your options are for adding AI to your Wagtail workflows.

📹 Related Videos To Watch Next:

â–¶ Quick Video Tour of Wagtail CMS 7.0 https://youtu.be/r5RbV7TveFU
â–¶ The Latest on Wagtail AI https://www.youtube.com/watch?v=4zfs1u4Vy5Y
▶ What’s New in Wagtail CMS 7.0 https://youtu.be/v92-6Dy4axI

Wagtail future proofs your CMS system, as it’s open source, continuously updated and built on Python, one of the most popular global programming languages, used widely in machine learning and big data. So you’re always ahead of the curve when it comes to CMS platforms.

Wagtail is the #1 choice for accessibility, is scalable and most importantly, secure.

👉 Get started with Wagtail CMS for free: https://wagtail.org/get-started/
and see how easy it is to build a website that works for you.

📊 Read why Google, NASA, and the British NHS, are powering their digital estates with Wagtail: https://wagtail.org/about-wagtail/

🎥 More Wagtail Videos: https://www.youtube.com/watch?v=cne2kxemMAQ&list=PLfwZ-fob20cPvSQ_v1hkjto8BAPN21tLJ

📣 Follow us on social:

#WagtailCMS #Django #python #ai #aicontent #aicontentcreation #opensource

Summary

Wagtail AI adds assisted editing features throughout the CMS: it can suggest page titles and meta descriptions, generate image titles and contextual alt text, provide content feedback, and recommend related pages. The suggestions remain under editorial control, so users can accept, regenerate, dismiss, or edit them, while prompts and writing guidelines can be configured. The package uses Django AI Core and any-llm to support different models, providers, custom API endpoints, and self-hosted options, with a focus on responsible and flexible use rather than dependence on a single vendor.

Key takeaways

  • AI-generated page titles and meta descriptions are presented as editable suggestions rather than automatically replacing existing content.
  • Image uploads can receive useful titles and detailed, context-aware descriptions suitable for accessibility alt text.
  • Content feedback provides both general review and field-specific rewrite suggestions, guided by configurable writing rules such as plain English and reading age.
  • Related-page suggestions use vector indexes built with Django AI Core and can be added through a replacement chooser panel.
  • Wagtail AI supports multiple providers, models, API endpoints, and self-hosted deployments through Django AI Core and any-llm.
  • The speaker emphasises experimentation and human review because AI results are variable and may still require manual corrections.

Summarised automatically from the transcript.

Transcript

1,966 words · auto-generated Show

Automatically transcribed, so expect mistakes in names and technical terms.

0:01

Today I'm going to start with our classic bakery demo. As a word of warning, this is very fresh from the oven, so I just released the new version this morning as Tom just showed you. So what you're about to see hasn't seen um production yet, but it's available to try. So right off the bat we have this new AI actions button that shows up on the page. title. If I click this, I have the option to generate a title based on the page content. This works by prompting the LLM to generate a title Using the page content that is displayed in the preview panel. And when it gives you the result, it doesn't just immediately replace the page title, but rather it gives you this suggestion

0:53

And you can either use it, regenerate it, or dismiss it. And if you so if you don't like what you are seeing, you can regenerate it. And And in this case, if we see the result, it's a bit biased to the existing title because I already filled it out. But if I clear it so that White Tail replaces it with the placeholder title, let's try it again. And now it gives me something that's completely new. Let's say I like the result so I used it, but I still want to tweak it a bit One thing I noticed is that LLMs tend to generate page titles with a subtitle

1:40

separated by column like this. And in this case I don't really want that, so I can just remove the remaining parts and keep the remaining parts. And so yeah, this is an example of the human, which in this case myself in the loop of the feature. And the next thing that works similarly is the generation of meta descriptions, which are used by search engines like Google. It's also used by social media and other platforms to generate previews. So when you share links, sometimes it gives you a preview of that link. So it's very useful to have this built out. And a good meta

2:25

description gives you info on what to expect in the page. So a good way to write it is by summarizing the page content that you already have and that you the human have already written. Now rather than having to summarize the content myself, I can ask AI to do it. So again, it's the same interface and I can use it and make changes as needed Now to the developer side of things, so warning, I'm going to show you some code, but for those who don't code, you don't have to understand it. Um you can just say to your developers, hey, I want Marktel AI and they'll take it from there.

3:10

So the code. Yeah, to enable the feature you can import AI title field panel and AI description field panel from Whiteile AI. panels and then you can replace the existing panels in the page model. You can do this for all page models by doing it for the base page model, but if you want to only enable the feature on specific page types, you can do so with your own page models. All right. Next up, images So Debo mentioned yesterday that a common unfortunate problem with websites out there is missing alt text in images.

3:56

Alt text is the description of an image that can be read out loud by screen reader software to assist visually impaired users. With the latest release of Wirtail AI, you can generate image titles and descriptions as you upload an image. So I'll pick this image of a whole wheat bread. So by default, Warctel just takes the file name, which isn't great, but that's all the info it can get. But now that we have AI, I can have a better title for the image freshly baked whole grain bread and yeah I can use that and maybe I want to keep it short

4:42

Because it's just to name the image, but since Wagtail now also has a default description text for images, Wagtail AI can also help you to generate the description And this time it gives you a more descriptive text for the image, which can be suitable for an alt text. So yeah, freshly baked whole grain bread slices on a wooden cutting board. and so on. Yeah it's way more detailed um which is useful for alt text so yeah I'm going to use that and hit upload Okay, so that was default descriptions for images, but in some cases, like this one. Um

5:27

the same image can be used in different contexts, so it might be useful to use that context when describing the image. And this is an image of I think it's a type of bread call called knipe bread. I probably mispronounced it. But it is apparently the most popular bread in Norway. Can someone confirm that? And since this page is talking about Nordic red culture, it could be more useful to add that context into the image alt text or caption. So let's see what the AI comes up with. gives me slices of traditional Nordic rye bread on a wooden cutting board, showcasing the dense dark texture characteristic of historic Nordic baking.

6:13

traditions. So yeah, that sounds useful, although in this case for some reason it gives me the title with a quote around it. So let's see if it can remove that. Oh well, maybe I'll need to tweak the prompt later, but in this case I can use that and then remove it myself. So yeah, it's not perfect, but it is helpful. And now for developers, if you want to enable the feature, um there's this uh Wagtail images image form-based setting and you can use Wagtail AI's built-in image form to re to add the necessary

6:58

fields. So this is for the image upload and image edit feature, but for the contextual alt block , sorry, contextual alt text block. You need to enable the AI image block, which can be used as a replacement for White Tails built-in image block. But if you also if you already have custom struct blocks with images and custom field for the alt text, you can use this decorator. Alright, so next up, content feedback. If we go to the checks panel, we now have the option to get content feedback

7:47

So another thing that AI can be good at that's not generating AI slop is giving you feedback. So let's see what it comes up with. We have two types of feedback. One is feedback for the overall content, and the other are specific suggestions for improvement. and it gives me the option to show where the field is. And it also, if I hover on the suggestion, it gives me reason why it thinks it's an improvement. So if I want to use the suggestion, I can just copy over some of the results here. For example, in this case, it suggests breaking the sentence into two

8:32

shorter sentences. And yeah, if you don't like the feedback, you can just click dismiss or you can also clear everything and then get new feedback We understand that getting reproducible and consistent results with AI is practically impossible. So you might want to tweak the prompt and you can do so in the settings. So for example, um in here I already have my writing guidelines. This is not following any specific format, like I just

9:18

wrote whatever I want in here. But let's say I want to add another rule saying that I want to use plain English and target a reading age of nine. So I'm I'm going to clear the feedback and get new feedback. And let's see if that affects the results So yeah, breaks a long sentence into short, easy sentences. And Trying to see. Okay, so in this case, um simplifies the time phrase and uses present tense to match the reading level.

10:07

But again, you get different results every time. So yeah, it's it's good to experiment with the prompts to see to see if you can get what you want. And this feature is enabled by default, so you don't have to configure anything in the code, although we tried really hard to strike the balance between controlling the prompts directly from the admin versus in the code because we want you to fine-tune the prompts to get the desired result , the results. But also we don't want the features to easily break if you misconfigure the prompts in the admin. And in the case of content feedback, we write the initial prompts in code along with

10:52

telling the LLM to use a structured response format and then we add the prompt that you put in the settings just before we pass the page content. We're still experimenting better ways to do this, especially for the other features that you can also configure in the settings. But yeah, so if you have any feedback, please do let us know And final feature we have related pages suggestions. You can now get suggestions for related pages in a multiple chooser panel. So in this example, it gives me the pages that are similar using Django AI cores factor. indexes and

11:37

um I can also get different suggestions and if it cannot find any more results I can restart from the beginning beginning. And to enable this feature, let's go to the code. You can replace Wagtail's multiple chooser panel with the one from Wagtail AI and then you point it to the vector index that you built with Django AI core. The UI could still use some improvements, but we had to work within the limits of what's reasonable to override and extend from WhiteLitz. itself. So as we're building the package, we're also improving WhiteClock Core itself by adding

12:24

extension points, UI components, and documentation that can be useful for building custom features. So even if you don't want to use Whiteel AI, the development of the package can still benefit you, especially since I've been seeing a lot of talks from the other speakers showing the amazing stuff that they've built using Whiteel AI. As an admin framework. Alright, so in the talk title and our U AI guidelines, we mentioned our responsible approach to AI and also being model and provider. As Tom mentioned, we use Django AI Core with the any LLM package to allow different models and providers. And in the case of Wagtail AI, you can configure the providers in the settings.

13:22

So along with the provider model and API key, you can also change the base URL for the API. This means you can use any cloud platform. For example, you can use Scaleway. They provide open source models and they have also produced extensive research in sustainability which is clearly in line with our goals. So yeah, you can use them or you can even host your own model. Um so this definitely gives you a lot of flexibility and not uh just sticking with the big names like OpenAI And in the case of the content feedback feature in particular, we also explored other options

14:11

such as the built-in prompt API in Chrome. which runs directly in your browser. And we saw that it was indeed possible to run the model locally with reasonably good results. However, given that the API is still experimental and it's currently only in Chrome, we decided to disable it for now. So if you're if you like what you're seeing, please check out Marco AI version 3 and let us know what you think.

Questions this talk answers

How does Wagtail AI generate page titles?

It uses the page content shown in the preview panel to generate a title suggestion. Editors can accept, regenerate, dismiss, or manually edit the suggestion rather than having it automatically replace the existing title.

Discussed at 0:01

Can Wagtail AI generate meta descriptions?

Yes. It summarizes existing page content into a meta description that can be used by search engines and social platforms for link previews, and the editor can revise the result.

Discussed at 1:40

How do you enable AI-generated titles and meta descriptions in Wagtail?

Import `AITitleFieldPanel` and `AIDescriptionFieldPanel` from Wagtail AI and use them in the relevant page model panels. They can be added to a base page model for all page types or only to selected page models.

Discussed at 3:10

Can Wagtail AI generate image titles and alt text?

Yes. During image upload, it can replace an unhelpful filename with an image title and generate a more descriptive default description suitable for alt text.

Discussed at 3:56

Can Wagtail AI write contextual alt text for images?

Yes. The contextual image feature can use the page’s subject matter when describing an image, producing alt text or captions that reflect how the image is being used on that page. The result remains editable by the human author.

Discussed at 5:27

How do you enable AI image descriptions in Wagtail?

Use Wagtail AI’s image form for image upload and editing, enable the AI image block for contextual alt text, or apply the provided decorator to custom image struct blocks with custom alt-text fields.

Discussed at 6:13

How does Wagtail AI provide content feedback?

The Checks panel can provide feedback on the overall content as well as specific improvement suggestions, including where a field appears and why a change is recommended. Editors can apply, dismiss, clear, or regenerate the suggestions.

Discussed at 7:47

Can you customize Wagtail AI content feedback with writing guidelines?

Yes. Writing guidelines can be added in the settings—for example, asking for plain English aimed at a particular reading age—and the feedback can then be regenerated using those instructions. Results are not fully reproducible, so experimentation may be needed.

Discussed at 8:32

Which AI models and providers can Wagtail AI use?

Wagtail AI uses Django AI Core with the `any-llm` package, so the provider, model, API key, and API base URL can be configured. This supports cloud platforms such as Scaleway as well as self-hosted models, rather than restricting users to providers such as OpenAI.

Discussed at 12:24

Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.

More videos by Sage Abdullah and Tom Usher

More videos from Wagtail CMS