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 turns a product photo or a logo into a short cinematic ad. OpenAI reads the picture and writes a VFX-style video brief, and Veo 3 Fast on Kie.ai renders it, all from one form.
Cinematic VFX video ad from a product photo 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.
Ad video form
It starts when someone sends the VFX Ad Video Generator form with:
A short cinematic video ad made from one picture, with your business name sent as its watermark
What you need before you start.
Image analysis and writing
Judges whether the picture shows a product or a logo, describes it and writes the video brief as JSON.
NeedsOpenAI API key
Media storage
Takes the upload through Cloudinary’s API and returns a public address for the picture.
NeedsCloud name and an unsigned upload preset
Video generation
Renders the clip from the brief and the picture with Veo 3 Fast, and returns its address.
NeedsKie.ai API key
Checked by Mindket on 13 Nov 2026
This n8n workflow turns one picture of a product or a logo into a short cinematic ad. Eleven nodes run in a line. A form takes the picture, a business name, a description and an optional video idea. Cloudinary stores the picture at a public address, and OpenAI judges whether it shows a product or a logo and describes it. An agent, briefed as a Hollywood VFX director, writes the video brief as JSON. Two code nodes shape that brief for Kie.ai, which renders it with Veo 3 Fast. After a three-minute wait the workflow asks for the result and downloads the clip.
Small brands and shops that want a dramatic motion ad from a single picture, and the marketers who make those ads for them. The director’s brief leans toward food and drink, with ingredients assembling in slow motion. Other products work, but you may want to rewrite the brief.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Food and drink | Small brands and cafés | Send a pack shot and let the brief build an ingredient-assembly scene around it | A biscuit maker sends a photo of a pack and gets a clip where flour and sugar swirl into the product. |
| Online retail | Shop owners | Send each new product photo through the form for a short ad | A shop turns a new item’s photo into a clip for its social channels. |
| Local businesses with a logo | Owners without footage | Send the logo and describe the story in the video idea field | A bakery sends its logo and asks for a warm morning scene, and gets a brand clip with no footage shot. |
| Marketing agencies | Creative leads | Send a client’s picture and use the clip as a first draft | An agency shows a client a draft clip before any shoot is booked. |
Skip it if you want a calm, true-to-life product clip. The brief asks for particles, volumetric light and bold camera moves, which makes a loud result.
Any n8n that can reach Cloudinary, OpenAI and Kie.ai.
HTTP Request2 to save the clip or send it onGet it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. The file holds no credential, and it calls no sub-workflow.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| Cloudinary | An account with an upload preset whose signing mode is Unsigned |
| OpenAI | An API key, for the picture analysis and the director agent |
| Kie.ai | An API key for its Veo endpoints |
workflow.json.Upload Photo1. In its address, put your cloud name where it says <YOUR_CLOUD_NAME>. Swap YOUR_PRESET_NAME for your preset and YOUR_FOLDER_NAME for a folder.Analyze image and OpenAI Chat Model.HTTP Request and HTTP Request1, replace <YOUR_KIE_API_KEY> after Bearer with your Kie.ai key.Open the form from VFX Ad Video, attach a product photo or a logo and fill in the fields. The form confirms at once. The run goes on behind it: upload, analysis, brief, render, download. The clip lands in the run’s execution data as a file, so open the run under Executions to see it.
| Field | Needed | What it does |
|---|---|---|
| product_image | Yes | The photo or logo. It is uploaded and analyzed |
| business_name | Yes | Goes into the brief, and is sent to Kie.ai as the clip’s watermark |
| business_description | Yes | What you sell and what sets it apart. It goes into the brief |
| video_idea | No | How you want the ad to look. Left empty, the brief asks for a professional video with strong camera movement |
To change the look, edit the system message in AI Agent. The extra product wording sits in Code in JavaScript1, the frame in aspectRatio in HTTP Request, and the render wait in Wait.
A photo of a pack of oat biscuits, with the description “small-batch oat biscuits” and no video idea. OpenAI is asked to label the picture a product or a logo and to describe its colors, packaging and mood. The agent answers with a JSON brief of this shape:
{
"description": "…",
"style": "…",
"camera": "…",
"lighting": "…",
"environment": "…",
"elements": ["…"],
"motion": "…",
"ending": "…",
"text": "none",
"keywords": ["16:9", "…"]
}The description and the camera line are joined, with extra effects wording added when the analysis reads as a product, and sent to Kie.ai with the photo’s address.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. A credential is a key n8n keeps for you and hands to the node you pick it in. Run the form from its test address first. Every node then shows what it received and what it sent, which is where a wrong preset or key turns up.
For experts. One OpenAI model does both AI jobs, and Kie.ai does the render.
| Step | Model | What to know |
|---|---|---|
| Analyze image | OpenAI chatgpt-4o-latest, 500 tokens at most | Asked to open with Type: PRODUCT or Type: LOGO, then describe colors, brand feel and video ideas |
| AI Agent | The same model, through the OpenAI Chat Model node | It answers with the JSON brief. Code in JavaScript tries to parse it and falls back to the raw text |
| Video | Kie.ai Veo 3 Fast (veo3_fast), 16:9, fallback off, translation on | The prompt is the brief’s description plus its camera line |
| Wait | One fixed pause of 3 minutes | Then one status check and one download, with no retry |
The product test in Code in JavaScript1 is a keyword search of the analysis for words such as product, food, packaging, ingredients, cookie and snack. A logo whose analysis mentions a product gets product effects. The first code node’s output is not used by the second, which reads the agent and the analysis itself.
Each run costs money, and the render time is a guess.
JSON.stringify wraps the prompt and the watermark in quotation marks, so the marks may show up in the text Kie.ai receivesAn n8n workflow. Send a product photo or a logo through its form, with the business name and what it sells, and it returns a
short cinematic ad clip made by Veo 3 Fast.
workflow.json: the workflow as n8n exports it, eleven nodes in one line. It holds no credential and calls no sub-workflow.README.md: these notes.workflow.json.Upload Photo1. In its address, put your cloud name where it says <YOUR_CLOUD_NAME>. Then swapYOUR_PRESET_NAME for your preset and YOUR_FOLDER_NAME for the folder the pictures should land in.Analyze image and OpenAI Chat Model.HTTP Request and HTTP Request1. In each one's Authorization header, replace <YOUR_KIE_API_KEY> afterBearer with your Kie.ai key.| Field | Needed | What it does |
|---|---|---|
| product_image | Yes | The photo or logo. It is uploaded to Cloudinary and analyzed |
| business_name | Yes | Goes into the brief, and is sent to Kie.ai as the clip's watermark |
| business_description | Yes | What you sell and what sets it apart. It goes into the brief |
| video_idea | No | How you want the ad to look. Left empty, the brief asks for a professional video with strong camera movement |
Upload Photo1 sends the picture to Cloudinary and gets its secure_url.Analyze image asks OpenAI whether the picture is a product or a logo and for a description, up to 500 tokens.AI Agent writes the video brief as JSON from that analysis, the business name and description, and the video idea.Code in JavaScript takes the brief's description. Code in JavaScript1 reads the brief and the analysis again. If theHTTP Request posts to Kie.ai's veo/generate endpoint with the prompt, the picture's address, veo3_fast, a 16:9 frame,Wait pauses for 3 minutes. HTTP Request1 asks veo/record-info for the task, and HTTP Request2 downloads the firstThe clip lands in the run's execution data as a file, so add a node after HTTP Request2 to save it to a drive or send it on.
AI Agent. It lists the effects, camera moves and lighting it asks for.Code in JavaScript1.aspectRatio in HTTP Request, for example to 9:16 for Reels and Shorts.Wait for longer clips.chatgpt-4o-latest, and any vision-capable model can take its place in each.HTTP Request2 has no address to download and theJSON.stringify wraps the prompt and the watermark in quotation marks, so the marks may show up in the text Kie.ai receives.chatgpt-4o-latest is a moving alias that OpenAI may retire, and a node that reports it gone needs a different model.README.md 4 KB workflow.json 16 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…