Huashu Design
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
An n8n workflow that takes a blog post from Airtable, has OpenAI write a four-scene video script, and draws a 9:16 image for each scene and the thumbnail with Leonardo.ai. The image links go into an Assets table.
Blog post turned into 9:16 scene images and a thumbnail is an n8n workflow in the Marketing & SEO category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
Manual run
It starts when you press Execute workflow, and there is no form:
Five new rows in the Assets table, four scene pictures and a thumbnail, each with an image link
What you need before you start.
Language model
Writes the four-scene script, the image prompts and the thumbnail prompt as JSON, with a Wikipedia tool within reach.
NeedsOpenAI API key
Posts, keywords and assets
Supplies the brand rows, the keywords and the post, and stores each picture’s link in the Assets table.
NeedsAirtable credential and a base with four tables
Image maker
Improves each image prompt and draws the scene and thumbnail pictures through its API.
NeedsLeonardo.ai API key with API credits
Lookup tool
Lets the model look a topic up while it writes the script.
NeedsNothing: no account or key
Checked by Mindket on 13 Nov 2026
This n8n workflow turns one blog post into the pictures for a short vertical video. It reads a post from Airtable, and an OpenAI model writes a script of four scenes with an image prompt for each, plus a prompt for the thumbnail. Leonardo.ai improves each prompt and draws the picture, and the links land in an Assets table in Airtable. Twenty-seven nodes do the work, beside twelve sticky notes.
Content marketers and small video teams who keep posts in Airtable and want storyboard pictures without a designer for each one. Skip it if your posts do not live in Airtable, or if you need the finished video. This makes the script and the pictures only. It does not cut a video.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Marketing | Content marketers | Turn a post into scene art for a short video | A marketer picks a post by keyword and gets four scene images. |
| Media | Video producers | Get a first storyboard before a shoot | A producer reads the four scripts beside their images. |
| Agencies | Social media managers | Prepare vertical covers for a client’s posts | A manager gets a thumbnail and scenes in one run. |
| E-commerce | Brand teams | Illustrate a buying guide for a short clip | A brand team runs a product article through it. |
You need a little n8n, an Airtable base laid out as described below and two API keys. Budget for image credits too.
Any n8n that can reach Airtable, OpenAI and Leonardo.ai will run it. The pictures appear as links in your Assets table.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Setup is three credentials, five Airtable ids and one keyword.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| Airtable | A base with four tables, listed next |
| OpenAI | An API key |
| Leonardo.ai | An API key with API credits, which are sold apart from its website plans |
| Table | Fields the workflow reads or writes |
|---|---|
| Brand guidelines | Any rows. Only their record ids are read |
| SEO keywords | Keyword and RelatedContent, a link to the content table |
| Content | Title and Content |
| Assets | Asset Name, Asset Type with an Image choice, File Size and Asset URL |
workflow.json.Get Content takes the id of your content table.Script Prep. Its model, gpt-4o-mini, is due to shut down on 14 January 2027, so pick another before then.{"headers": {"authorization": "Bearer <YOUR_LEONARDO_API_KEY>"}} and select it in the six Leonardo.ai calls.Keyword Filter, replace ai automation with a word from your own keyword rows.Run it once for each post. The keyword filter picks which post, and Limit passes the first one on. A run ends with five rows in the Assets table. Each scene row carries the scene’s script in its name, and the thumbnail row carries the post’s title.
| To change | Where |
|---|---|
| The post | The text in Keyword Filter |
| The script | The prompt in Script Prep |
| The picture style | The presetStyle in the generate calls |
| The size | width and height in the generate calls |
| The pictures per scene | num_images in the generate calls |
A marketer runs a post about AI automation through it to get a storyboard for a vertical clip.
The model writes four scripts with image prompts and a thumbnail prompt. Leonardo.ai draws one 768 by 1376 picture for each scene and one for the thumbnail, and the Assets table gains five rows with image links. Look at the pictures before you use them, because a prompt can miss the point of the post.
If you are new. A script here is a few words of narration for each scene. An image prompt is a sentence that tells the picture maker what to draw. The workflow takes the scenes one at a time and waits between steps, so Leonardo.ai has time to finish each picture.
For experts. Script Prep is the OpenAI node in its message mode, with JSON output on and the Wikipedia tool attached. Loop Over Items runs the scene line at a batch size of one. The thumbnail has its own line of nodes beside the loop.
| Node | What it does | What to know |
|---|---|---|
Get SEO Keywords | Searches the keyword table once for each brand row | Remove Duplicates drops the repeats |
Script Prep | Writes the script and the image prompts as JSON | The prompt names no JSON keys, so a run can stop at Split Out Scenes |
| The scene generate call | Starts a 768 by 1376 picture with ultra on | It returns an id, not the picture |
Wait 30 Seconds1 | Waits before the fetch | A slow picture is not ready, and the next step fails |
Add Asset Info1 | Writes one Assets row for the scene | File Size is always 0 |
The script step uses a model that is due to shut down, and a few details are worth a look.
Script Prep uses gpt-4o-mini. OpenAI’s deprecations page, read on 12 November 2026, lists the snapshot gpt-4o-mini-2024-07-18 for shutdown on 14 January 2027, with gpt-6-luna as the replacement. Pick another model in the node before thenscenes list with script and image_prompt in each scene, and for thumbnail_prompt. If a run stops at a Split Out node, add those names to the promptmessage.content['Thumbnail Prompt'], while the split step before it uses message.content.thumbnail_prompt. If that prompt arrives empty, make the two names the sameadditional field is set and not usedultra and the thumbnail uses alchemy with high resolution, which cost more than a plain generationAn n8n workflow that takes one blog post from Airtable and has an OpenAI model write a four-scene script for a short vertical
video. Leonardo.ai then draws an image for every scene and one for the thumbnail, and the image links go into an Assets table.
The video itself is not made here. You get the script and the pictures to build it from.
workflow.json: the workflow as n8n exports it, 39 nodes, twelve of them sticky notes that label the stages on the canvas.README.md: these notes.<YOUR_AIRTABLE_BASE_ID>,<YOUR_BRAND_TABLE_ID>, <YOUR_SEO_KEYWORDS_TABLE_ID> and <YOUR_ASSETS_TABLE_ID>.Get Content pointed at the same table as the keyword search, but it reads a post by the record id the keyword row links to.<YOUR_CONTENT_TABLE_ID>. Put the id of the table that holds your posts there.The four tables, with the fields the workflow reads and writes:
Keyword (text) and RelatedContent (a link to a record in the content table).Title and Content (text).Asset Name (text), Asset Type (single select with Image), File Size (number) and Asset URL (text).workflow.json.Script Prep. Its model, gpt-4o-mini, is due to shut down on 14 January 2027, soLeo - Improve Prompt,Leo - Generate Image, Leo - Get imageId, Leo - Improve Prompt1, Leo - Generate Image1 and Leo - Get imageId1:{"headers": {"authorization": "Bearer <YOUR_LEONARDO_API_KEY>"}}Keyword Filter, replace ai automation with a word that appears in the Keyword of the post you want.When clicking ‘Test workflow’ starts the run by hand.Get Brand Guidelines reads every row of the brand table. Set Guidelines keeps each row's id.Get SEO Keywords searches the keyword table once for each brand row and returns Keyword and RelatedContent.Keyword Filter keeps the rows whose Keyword contains ai automation, ignoring case. Remove Duplicates drops repeats ofid, because the search ran once per brand row.Split Out Keywords makes one item for each linked post, and Get Content reads that post by record id. Split Out ContentLimit pass on a single post.Script Prep sends the post's title and content to OpenAI, with the Wikipedia tool attached. It asks for a script of fourSplit Out Scenes makes one item for each scene, and Loop Over Items takes them one at a time. Each scene goes throughPrompt Settings1, which adds a model id, and Leo - Improve Prompt, which asks Leonardo to improve the image prompt. ThenLeo - Generate Image makes a picture 768 by 1376 pixels with ultra on. Wait 30 Seconds1 waits, Leo - Get imageIdAdd Asset Info1 adds a row to the Assets table. The loop then takes the next scene.Split Out TN Prompt sends the thumbnail prompt down its own line, through Prompt Settings,Leo - Improve Prompt1, Leo - Generate Image1 (alchemy and high resolution on), Wait 30 Seconds, Leo - Get imageId1Add Asset Info.A run ends with five rows in the Assets table. The four scene rows have an Asset Name that starts with Scene and the scene's
script, and the thumbnail row starts with TN and the post's title. Every row has the image link in Asset URL, type Image
and a file size of 0.
Keyword Filter. Take away Limit's one-item cap to run more posts, and you pay for every one.Script Prep, which sets the scene count and the length.presetStyle in the generate calls, and the image prompt itself. The model id is in the two Promptwidth and height in the generate calls.num_images in the generate calls, which the two optional notes on the canvas point to. Only theScript Prep uses gpt-4o-mini. OpenAI's deprecations page, read on 12 November 2026, lists the gpt-4o-minigpt-4o-mini-2024-07-18 for shutdown on 14 January 2027, with gpt-6-luna as the replacement. Pick another model inscenes list with script andimage_prompt in each scene, and for thumbnail_prompt. If a run stops at a Split Out node, add those names to the prompt.message.content['Thumbnail Prompt'], while the split step before it is set tomessage.content.thumbnail_prompt. If the thumbnail prompt arrives empty, make the two names the same.additionalultra and the thumbnail uses alchemy with high resolution, which cost more than a plain generation. CheckLimit passes a single item.NOTICE.md 627 B README.md 7 KB workflow.json 37 KB
alchaincyf · Skill
Turns a one-line request in your AI agent into a finished design: a launch animation, a clickable app prototype, an editable slide deck, an infographic or a se…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
nerijs · Kit
A pixel art style add-on for Stable Diffusion XL that turns text prompts into pixel-style images, with an optional LCM LoRA for faster runs. For game makers, d…
LiconStudio · Kit
Keeps characters, clothing, objects and backgrounds consistent in generated video by feeding the model up to five reference images. A LoRA for LTX-2.5 in Comfy…
nhathoangfoto · Kit
A LoRA for FLUX.2 Klein 9B that puts a character into the pose shown by a mannequin reference while keeping the character's face and style. For artists and des…