# Workflows of AI > Marcus adventures in AI and code Articles, videos and interactive pages about the highs and lows of AI. Maybe with a splash of humour, code and Drupal. By Marcus Johansson. - Every page has a Markdown version: append `.md` to its URL (or send `Accept: text/markdown`). - Every page carries schema.org JSON-LD (BlogPosting, VideoObject, Person, WebSite). - AI involvement: posts start as an AI draft and are rewritten by a human; each post carries an EU AI Act style disclosure. - Sitemap: https://marcus-blog.ddev.site/sitemap.xml ยท RSS: https://marcus-blog.ddev.site/rss.xml ## Posts - [How I vibe-configed this website in under 10 hours](https://marcus-blog.ddev.site/blog/how-i-vibe-configed-this-website.md): I built this site with AI agents by configuring Drupal modules: only 0.14% of the PHP is custom code. How it was done, and how it compares to Express.js. (Drupal AI, Agents, Canvas, 12 min read) - [Drupal AI 1.5.0 is out](https://marcus-blog.ddev.site/blog/drupal-ai-1-5.md): Drupal AI 1.5.0: ChatProcessor and ChatMemory, batch embeddings, streaming guardrails, an AI reranker, and the deprecations to act on before 1.6.0. (Release notes, Drupal AI, 11 min read, video with transcript) - [Decision models and Drupal: a match made in heaven](https://marcus-blog.ddev.site/blog/decision-models-and-drupal.md): AI Validations turns a field rule into a yes or no question for an AI model. A decision model, Jev, against GPT-5.6 Sol on 1,500 brand checks: accuracy, speed and cost. (Evals, Drupal AI, 15 min read) - [AI Observability with Grafana](https://marcus-blog.ddev.site/blog/ai-observability-grafana.md): Send Drupal AI calls over OpenTelemetry to Grafana, Tempo, Mimir and Loki to see latency, tokens, cost and agent traces. Set up in one command. (Workflows, Drupal AI, Agents, 2 min read, video with transcript) - [Find your images](https://marcus-blog.ddev.site/blog/find-your-images.md): Two Drupal recipes add an image search agent: AI describes and tags your media, then a database or vector search finds images by what they show. (Workflows, Drupal AI, Agents, 1 min read, video with transcript) - [AI 1.4.0 Released](https://marcus-blog.ddev.site/blog/drupal-140-released.md): Drupal AI 1.4.0: global, input length and streaming guardrails, ECA rerouting and failover, agent skills, chat processors and automator actions. (Workflows, Drupal AI, Release notes, 1 min read, video with transcript) - [AI 1.3.0 is released](https://marcus-blog.ddev.site/blog/ai-130-released.md): Drupal AI 1.3.0: guardrails, OpenTelemetry, a Markdown prompt editor, new form elements, re-ranking, object detection and field widget actions. (Workflows, Drupal AI, Release notes, 1 min read, video with transcript) - [Free Translation](https://marcus-blog.ddev.site/blog/free-translation.md): Free, private AI translations in Drupal: use Chrome's built-in Translator API with the Browser Provider and AI Translate modules. (Workflows, Drupal AI, 1 min read, video with transcript) - [AI Agent Debugger](https://marcus-blog.ddev.site/blog/ai-agent-debugger.md): AI Agents Debugger for Drupal: inspect ReACT agent loops, tool calls and sub-agents, spoof tokens, and export or import runs. (Workflows, Drupal AI, Agents, 2 min read, video with transcript) - [Chrome Browser as your AI](https://marcus-blog.ddev.site/blog/chrome-browser-your-ai.md): The Browser Provider runs Drupal AI calls on Chrome's built-in model: CKEditor help, validation and Automators, with nothing sent to the cloud. (Workflows, Drupal AI, 1 min read, video with transcript) - [Generate Newsletter Draft](https://marcus-blog.ddev.site/blog/generate-newsletter-draft.md): Use the Views Automator from Drupal AI 1.2 to load last week's reviews into the AI's context and generate an HTML newsletter draft for email. (Workflows, Drupal AI, 2 min read, video with transcript) - [Content Create Agent](https://marcus-blog.ddev.site/blog/content-create-agent.md): Create a Drupal AI agent that reads a PDF with AI Simple PDF to Text and creates restaurant content through constrained Tool API tools. (Workflows, Drupal AI, Agents, 2 min read, video with transcript) - [1.2.0-alpha1 is out](https://marcus-blog.ddev.site/blog/120-alpha1-out.md): Drupal AI 1.2.0-alpha1: set up Form Widget Actions to add AI buttons for alt text, file names, summaries, ratings and tags. (Workflows, Drupal AI, Release notes, 1 min read, video with transcript) - [Mockingbird](https://marcus-blog.ddev.site/blog/mockingbird.md): Mock OpenAI responses with the AI Test module in Drupal AI: record a real answer, replay it while developing and export it for automated tests. (Workflows, Drupal AI, 2 min read, video with transcript) - [Terminal Haxxor](https://marcus-blog.ddev.site/blog/terminal-haxxor.md): AI Drush Agents: run Drupal AI agents with Drush and chat history, explain a config export in plain text and ask which Drush command to use. (Workflows, Agents, Drupal AI, 1 min read, video with transcript) - [Slack + MCP](https://marcus-blog.ddev.site/blog/slack-mcp.md): Chat with your Drupal content from Slack: an ECA webhook triggers an AI agent that answers through the Slack MCP server, without writing code. (Workflows, Agents, Drupal AI, 1 min read, video with transcript) - [AI Agents 1.1.0](https://marcus-blog.ddev.site/blog/ai-agents-110.md): Developer preview of Drupal AI Agents 1.1: no-code agents as config, function calling, MCP, a RAG chatbot, writing a tool and a multi-agent swarm. (Workflows, Drupal AI, Agents, 2 min read, video with transcript) - [Video Extraction on Steroids](https://marcus-blog.ddev.site/blog/video-extraction-steroids.md): Use AI Automators, ffmpeg and a video downloader to turn a YouTube cooking video into a full Drupal recipe with ingredients, steps and an image. (Workflows, Drupal AI, 1 min read, video with transcript) - [Let the robots talk](https://marcus-blog.ddev.site/blog/let-robots-talk.md): Build an AI talk show in Drupal: scrape keynotes with AI Automators, search them in Milvus and voice the script with ElevenLabs. (Workflows, Drupal AI, 1 min read, video with transcript) - [AI Automators as tools for AI](https://marcus-blog.ddev.site/blog/ai-automators-tools-ai.md): Use an AI Automators chain as a tool for AI agents in Drupal AI 1.1.0, shown with an agent that summarizes Google reviews of a place. (Workflows, Agents, Drupal AI, 1 min read, video with transcript) - [Automagical Metatags](https://marcus-blog.ddev.site/blog/automagical-metatags.md): Fill Metatag fields with AI in Drupal: the Metatag automator from AI 1.0.4 writes a page title and picks the share image from the body. (Workflows, Drupal AI, 1 min read, video with transcript) - [Setup complex CKEditor AI Assistants](https://marcus-blog.ddev.site/blog/setup-complex-ckeditor-ai-assistants.md): Turn AI Automator chains into CKEditor assistants in Drupal: alt text, Google Places addresses, scraped summaries and audio players, no code. (Workflows, Drupal AI, 1 min read, video with transcript) - [Pre-moderate content](https://marcus-blog.ddev.site/blog/pre-moderate-content.md): Use AI Automators and Content Moderation in Drupal to flag or pre-publish content, store the AI's reasoning and run the check on a local model. (Workflows, Drupal AI, 1 min read, video with transcript) - [NSFW protection](https://marcus-blog.ddev.site/blog/nsfw-protection.md): Stop NSFW image uploads in Drupal with AI Validations, Field Validation and the free Falconsai NSFW detection model on Hugging Face. (Workflows, Drupal AI, 1 min read, video with transcript) - [Unleash your editors](https://marcus-blog.ddev.site/blog/unleash-your-editors.md): Add AI to CKEditor in Drupal: generate text, rewrite it in a tone and translate it, with tones and languages kept as taxonomy terms. (Workflows, Drupal AI, 1 min read, video with transcript) - [AI Module #2](https://marcus-blog.ddev.site/blog/ai-module-2.md): A Drupal AI hello world: run Gemma 2B locally with Ollama, test it in the AI API Explorer and use its code to summarize articles. (Workflows, Drupal AI, 1 min read, video with transcript) - [AI module #1](https://marcus-blog.ddev.site/blog/ai-module-1.md): Developer intro to the Drupal AI module: call any provider through one service, swap OpenAI for Groq or DreamStudio, get keys and events. (Workflows, Drupal AI, 1 min read, video with transcript) - [Deep Crawling](https://marcus-blog.ddev.site/blog/deep-crawling.md): Crawl a full website with the Simple Crawler depth crawler in Drupal and use every page as context for answers from OpenAI. (Workflows, Drupal AI, 1 min read, video with transcript) - [Normalize Audio Levels](https://marcus-blog.ddev.site/blog/normalize-audio-levels.md): Normalize audio levels in Drupal with the Auphonic module and AI Interpolator: upload an MP3 and get a normalized MP3 back. (Workflows, Drupal AI, 1 min read, video with transcript) - [Automize Fact Checking](https://marcus-blog.ddev.site/blog/automize-fact-checking.md): Automate fact checking in Drupal: OpenAI writes questions, Tavily finds context, and ECA publishes only the articles judged truthful. (Workflows, Drupal AI, 1 min read, video with transcript) - [Contextualize using files](https://marcus-blog.ddev.site/blog/contextualize-using-files.md): Use the Unstructured module and AI Interpolator to turn PDF, Excel and image files into HTML, table fields or Markdown in Drupal. (Workflows, Drupal AI, 1 min read, video with transcript) - [Finetune Stable Diffusion](https://marcus-blog.ddev.site/blog/finetune-stable-diffusion.md): Fine-tune Stable Diffusion from Drupal with Dreambooth on Runpod, host the model on Hugging Face and generate images with the AI Interpolator. (Workflows, Drupal AI, 2 min read, video with transcript) - [Remove image background](https://marcus-blog.ddev.site/blog/remove-image-background.md): Remove image backgrounds in Drupal with the AI Interpolator DreamStudio module, then hand the same job to a Mini Kanban AI agent. (Workflows, Drupal AI, Agents, 1 min read, video with transcript) - [Video](https://marcus-blog.ddev.site/blog/video.md): Chain Simple Crawler, OpenAI, ElevenLabs, DALL-E and D-ID with the AI Interpolator to make a talking avatar video from a link and a photo. (Workflows, Drupal AI, 1 min read, video with transcript) - [Consistent Tags](https://marcus-blog.ddev.site/blog/consistent-tags.md): Use the AI Interpolator OpenAI taxonomy rule with find similar tags to tag Drupal articles from text and image without duplicate synonym terms. (Workflows, Drupal AI, 1 min read, video with transcript) - [Automatic Podcast](https://marcus-blog.ddev.site/blog/automatic-podcast.md): Build an automatic weekly Drupal news podcast with AI Interpolator, Feeds, ScrapingBot, OpenAI, ElevenLabs and ECA, without custom code. (Workflows, Drupal AI, 2 min read, video with transcript) - [Video to CKEditor](https://marcus-blog.ddev.site/blog/video-ckeditor.md): Turn a video into a full article in Drupal with the AI Interpolator OpenAI video to HTML rule: cropped screenshots, a quote and links. (Workflows, Drupal AI, 2 min read, video with transcript) - [Automatic video editor](https://marcus-blog.ddev.site/blog/automatic-video-editor.md): Cut video clips by prompt in Drupal: AI Interpolator OpenAI uses FFmpeg, OpenAI Vision and Whisper to find scenes by what is seen or said. (Workflows, Drupal AI, 2 min read, video with transcript) - [Migrate without code](https://marcus-blog.ddev.site/blog/migrate-without-code.md): Migrate a WordPress site to Drupal without code: crawl the old pages and let AI Interpolator fill addresses, opening hours, charts and galleries. (Workflows, Drupal AI, 1 min read, video with transcript) - [Wikipedia + Huggingface](https://marcus-blog.ddev.site/blog/wikipedia-huggingface.md): Use the AI Interpolator MediaWiki plugin to fetch Wikipedia text and a free Hugging Face model to answer questions from it in Drupal. (Workflows, Drupal AI, 1 min read, video with transcript) - [Improve Media #3](https://marcus-blog.ddev.site/blog/improve-media-3.md): Describe or summarize videos in the Drupal Media module with the AI Interpolator OpenAI video text rule, FFmpeg keyframes and Whisper. (Workflows, Drupal AI, 2 min read, video with transcript) - [Improve Media #2](https://marcus-blog.ddev.site/blog/improve-media-2.md): Transcribe audio media with Deepgram and describe image media with GPT-4 Vision, so Drupal fills summaries and search words for you. (Workflows, Drupal AI, 1 min read, video with transcript) - [Improve Media #1](https://marcus-blog.ddev.site/blog/improve-media-1.md): Extract the text of a PDF with ConvertAPI, then let OpenAI write summaries, search words and a preview image for Drupal document media. (Workflows, Drupal AI, 2 min read, video with transcript) - [Generate a gallery using Dall-E 3](https://marcus-blog.ddev.site/blog/generate-gallery-using-dall-e-3.md): Generate a DALL-E 3 image gallery from article text in Drupal, with GPT-4 and Prompt Perfect writing prompts and Slick Carousel showing it. (Workflows, Drupal AI, 1 min read, video with transcript) - [Create a meta review site](https://marcus-blog.ddev.site/blog/create-meta-review-site.md): Build a Metacritic-style restaurant site in Drupal: the AI Interpolator finds addresses, writes descriptions, rates reviews and takes screenshots. (Workflows, Drupal AI, 1 min read, video with transcript) - [Find real locations from text](https://marcus-blog.ddev.site/blog/find-real-locations-text.md): Find real places in free text with AI Interpolator OpenAI, verify them with the Google Places API and plot them with Address and Geolocation. (Workflows, Drupal AI, 1 min read, video with transcript) - [Image Categorization](https://marcus-blog.ddev.site/blog/image-categorization.md): Categorize images in Drupal with AI Interpolator and OpenAI Vision: media images get terms for body type, color and doors. (Workflows, Drupal AI, 1 min read, video with transcript) - [Let me Google that for you](https://marcus-blog.ddev.site/blog/let-me-google-you.md): Chain OpenAI, the AI Interpolator SERP plugin and ScrapingBot in Drupal to search Google, scrape the results and answer from real content. (Workflows, Drupal AI, 1 min read, video with transcript) - [API First](https://marcus-blog.ddev.site/blog/api-first.md): Use the AI Interpolator Post OB Processor and JSON:API to run Drupal AI chains from any app, answer at once and poll until the work is done. (Workflows, Drupal AI, 1 min read, video with transcript) - [Auto-Tagging](https://marcus-blog.ddev.site/blog/auto-tagging.md): Auto-tag Drupal articles with AI Interpolator and OpenAI: a tags field that creates three to five new terms from the body text. (Workflows, Drupal AI, 1 min read, video with transcript) - [Custom Complex Fields](https://marcus-blog.ddev.site/blog/custom-complex-fields.md): Use AI Interpolator and the Custom Field module to split a Beef Wellington recipe into amount, unit, ingredient and instructions. (Workflows, Drupal AI, 2 min read, video with transcript) - [Transcribe audio and summarize](https://marcus-blog.ddev.site/blog/transcribe-audio-and-summarize.md): Transcribe MP3 files with the AI Interpolator Deepgram module and summarize the transcript with OpenAI in Drupal, without writing code. (Workflows, Drupal AI, 2 min read, video with transcript) - [Upscale Images](https://marcus-blog.ddev.site/blog/upscale-images.md): Upscale small AI-generated images in Drupal with the AI Interpolator DreamStudio image upscaler, from 512 to 2048 pixels. (Workflows, Drupal AI, 2 min read, video with transcript) - [Perfect Prompting](https://marcus-blog.ddev.site/blog/perfect-prompting.md): Better AI images in Drupal: PromptPerfect expands a short title into a Stable Diffusion prompt and DreamStudio turns it into a header image. (Workflows, Drupal AI, 2 min read, video with transcript) - [Article text from Image](https://marcus-blog.ddev.site/blog/article-text-image.md): Generate article text from an image in Drupal: SceneX describes the header image and AI Interpolator OpenAI expands it into an article. (Workflows, Drupal AI, 2 min read, video with transcript) - [Header Image Generation](https://marcus-blog.ddev.site/blog/header-image-generation.md): Generate a header image for a Drupal article: OpenAI writes an image description from the text and DreamStudio creates the picture. (Workflows, Drupal AI, 1 min read, video with transcript) - [Dialogue from PDF](https://marcus-blog.ddev.site/blog/dialogue-pdf.md): Turn a PDF into a two-person audio dialogue in Drupal: extract the text, write the dialogue with OpenAI, voice it with ElevenLabs, join it with FFmpeg. (Workflows, Drupal AI, 2 min read, video with transcript) - [Categorize Content](https://marcus-blog.ddev.site/blog/categorize-content.md): Use the AI Interpolator OpenAI taxonomy rule to have GPT-3.5 tag Drupal articles with terms from an existing vocabulary, like phone brands. (Workflows, Drupal AI, 1 min read, video with transcript) - [Speech to text](https://marcus-blog.ddev.site/blog/speech-text.md): Create an audio version of a Drupal article with the ElevenLabs field: add the field, pick a voice, preview and save a human-voiced MP3. (Workflows, Drupal AI, 2 min read, video with transcript) - [FAQ](https://marcus-blog.ddev.site/blog/faq.md): Turn a PDF into an FAQ in Drupal: ConvertAPI extracts the text and OpenAI writes questions and answers into an FAQ Field. (Workflows, Drupal AI, 2 min read, video with transcript) - [Summarize](https://marcus-blog.ddev.site/blog/summarize.md): Summarize articles in Drupal with the AI Interpolator and OpenAI: a long text field becomes a two-sentence summary when you save. (Workflows, Drupal AI, 1 min read, video with transcript) - [Compare News Sources](https://marcus-blog.ddev.site/blog/compare-news-sources.md): Scrape a CNN and a Fox News article with the AI Interpolator ScrapingBot rule and have OpenAI compare their tone and sentiment in Drupal. (Workflows, Drupal AI, 2 min read, video with transcript) - [Stock Image Finder](https://marcus-blog.ddev.site/blog/stock-image-finder.md): Chain two AI Interpolator fields in Drupal: OpenAI writes a stock photo search word, then Pixabay fills the header image. (Workflows, Drupal AI, 2 min read, video with transcript) - [Less Complex Text](https://marcus-blog.ddev.site/blog/less-complex-text.md): Rewrite complex articles into easy-to-read text with headers in Drupal, using the AI Interpolator OpenAI module and GPT-4. (Workflows, Drupal AI, 1 min read, video with transcript) - [Foster Inclusive Language](https://marcus-blog.ddev.site/blog/foster-inclusive-language.md): Use the AI Interpolator OpenAI module in Drupal to check articles for non-inclusive language and list the reasons in a field. (Workflows, Drupal AI, 2 min read, video with transcript) - [Sentiment Analysis](https://marcus-blog.ddev.site/blog/sentiment-analysis.md): Rate the sentiment of reviews on a 1 to 5 scale in Drupal with a list field and the AI Interpolator OpenAI module. (Workflows, Drupal AI, 2 min read, video with transcript) ## Topics - [Agents](https://marcus-blog.ddev.site/blog?category=5) - [Canvas](https://marcus-blog.ddev.site/blog?category=4) - [Drupal AI](https://marcus-blog.ddev.site/blog?category=2) - [Evals](https://marcus-blog.ddev.site/blog?category=7) - [Release notes](https://marcus-blog.ddev.site/blog?category=3) - [Workflows](https://marcus-blog.ddev.site/blog?category=6) ## Writers - [Marcus Johansson](https://marcus-blog.ddev.site/about/marcus-johansson.md) ## Pages - [Home](https://marcus-blog.ddev.site/home.md): Articles, videos and interactive pages about the highs and lows of AI. Maybe with a splash of humour, code and Drupal. ## Optional - [All posts](https://marcus-blog.ddev.site/blog) - [Video posts](https://marcus-blog.ddev.site/blog?video=1) - [Sitemap](https://marcus-blog.ddev.site/sitemap.xml) - [RSS feed](https://marcus-blog.ddev.site/rss.xml) - [Workflows of AI Podcast](https://marcus-blog.ddev.site/podcast.xml): two hosts talk through each post - [Articles read out](https://marcus-blog.ddev.site/articles-read-out.xml): podcast feed of the articles, read aloud