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 redraws a video clip in one of 37 art styles, from claymation to watercolor. A form takes the clip and the style, Cloudinary hosts it, and WaveSpeedAI’s Wan 2.1 Ditto model renders it at 480p.
Video restyler with 37 art styles 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.
Video upload
It starts when someone sends the Video Style AI Agent form with:
Your clip redrawn in the style you picked, ready to save from the run
What you need before you start.
Media storage
Takes the clip through Cloudinary’s video upload API and returns the public address WaveSpeedAI reads it from.
NeedsCloud name and an unsigned upload preset
Video restyling
Runs Wan 2.1 Ditto on the clip with the style’s name as its prompt, then reports the job’s status and the new clip’s address.
NeedsWaveSpeedAI API key, typed into two node headers
Checked by Mindket on 13 Nov 2026
This n8n workflow gives you back a video clip redrawn in another art style. The list of 37 runs from claymation and watercolor to pixel art and bronze sculpture. You send the clip through a form and pick one. The clip goes up to Cloudinary for a public address, and the Wan 2.1 Ditto model on WaveSpeedAI repaints every frame of it at 480p. Then the workflow asks every 30 seconds whether the job is done, and downloads the result once it is. Seven nodes do the work.
People who post short videos and want a stylized cut of footage they already have, with no frame-by-frame editing. One run takes one clip and one style, so it fits trying looks on a clip more than a batch job. Skip it if the result must arrive somewhere by itself. The finished clip stays inside n8n.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Social video | Creators who post Reels and Shorts | Send one clip through a few styles and keep the one that works | A travel creator turns a street clip into watercolor and into pixel art, then posts the better one. |
| Online retail | Shop owners and social media managers | Restyle a product clip for a seasonal post | A toy shop redraws its product spin as claymation for a holiday post. |
| Education | Teachers and course makers | Give a plain demonstration clip a sketch or comic look | A teacher turns a short experiment into a pencil sketch for a lesson opener. |
| Events | Wedding and event videographers | Add a stylized version of a highlight to the delivery | A videographer sends a couple a watercolor cut of their first dance. |
You need a little n8n: importing a file, typing five values and testing a form. Its author puts setup at about 8 minutes, with the Cloudinary preset and the WaveSpeedAI key ready.
Any n8n that can reach Cloudinary and WaveSpeedAI will run it.
downloadVideo to send the clip onGet it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| Cloudinary | An account and an upload preset whose signing mode is Unsigned |
| WaveSpeedAI | An API key, and credit on the account |
workflow.json.Upload Video and put your cloud name in its address where it says <YOUR_CLOUD_NAME>.YOUR_PRESET_NAME with your preset and YOUR_FOLDER_NAME with a folder for the source clips.submitVideo and videoStatus, replace <YOUR_WAVESPEED_KEY> in the Authorization header with your key. The brackets go too.downloadVideo, press Publish.Open the form from On form submission, attach a clip and pick a style. The form confirms at once, and the work goes on behind it. Cloudinary takes the upload, WaveSpeedAI starts the job, and Wait holds 30 seconds between status checks. When the status reads completed, the new clip lands in the run’s execution data as a file. Open the run under Executions to watch or save it.
| To change | Where |
|---|---|
| The list of styles | The dropdown options in On form submission. Each label goes to WaveSpeedAI as the prompt |
| Sharpness | resolution in submitVideo, 480p or 720p |
| The same result twice | seed in submitVideo, a fixed number in place of -1 |
| Check interval | amount in Wait, in seconds |
You send a 10-second clip of a dog running on a beach and pick Claymation. submitVideo sends WaveSpeedAI this body, with the address Cloudinary returned:
{
"prompt": "Claymation",
"resolution": "480p",
"seed": "-1",
"video": "https://res.cloudinary.com/<your cloud name>/video/upload/…/beach-dog.mp4"
}WaveSpeedAI answers with a job id. The first check or two read processing. After that the status turns completed, and downloadVideo fetches the clay version of the beach from outputs. Billed at 480p, those 10 seconds cost twice the 5-second price under Good to know.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. The part to watch here is the loop at the end, where videoStatus, Switch and Wait go round until the job is done. Send a short clip first. Then open each node of the run to see what it sent and what came back.
For experts. The polling rests on a Switch in expression mode with three outputs, so read its expression before you trust it with new statuses.
| Node | Call | What to know |
|---|---|---|
Upload Video | POST to Cloudinary’s video upload endpoint, as form data | An unsigned preset needs no credential, and the clip becomes public |
submitVideo | POST to wan-2.1/ditto | Its header holds the key. The body holds the style, the resolution, a seed and the clip’s address |
videoStatus | GET on the prediction’s result | Runs once right after the submit, then after each Wait |
Switch | An expression that returns 0, 1 or 2 | A status it does not name returns 3, an output that does not exist, so the run errors |
Each run spends WaveSpeedAI credit, and once you publish, the form is open to anyone with its address.
IceScuIpture and RustedlronSculpture, with a capital I and a small L swapped. WaveSpeedAI lists IceSculpture and RustedIronSculpture, so correct both optionscancelled, timeout or deleted stops the run with an error at Switch. A failed job ends the run with no messageAn n8n workflow that redraws a video clip in an art style you pick from a list, such as claymation, watercolor or pixel
art. A form takes the clip, Cloudinary hosts it, and WaveSpeedAI's Wan 2.1 Ditto model renders the new version at 480p.
workflow.json: the workflow as n8n exports it, seven nodes and no sticky notes. It holds no credential.README.md: these notes.Bearer <token> in their Authorization header. They now readBearer <YOUR_WAVESPEED_KEY>, so the placeholder says which key belongs there.workflow.json.Upload Video and put your cloud name in its address where it says <YOUR_CLOUD_NAME>.YOUR_PRESET_NAME with your unsigned preset and YOUR_FOLDER_NAME with the folder thesubmitVideo and in videoStatus, replace <YOUR_WAVESPEED_KEY> in the Authorization header with your key. TheOn form submission and send a short clip through the form's test address.downloadVideo, press Publish.To keep the key out of the node fields, make a Header Auth credential named Authorization with Bearer and your key as
its value. Select it under Authentication in both WaveSpeedAI nodes, then delete the typed header.
On form submission shows a form titled Video Style AI Agent with two required fields. Upload your video takes oneSelect the style is a dropdown of 37 styles.Upload Video posts the clip to Cloudinary's video upload endpoint and gets its public url back.submitVideo sends that address to WaveSpeedAI's wan-2.1/ditto endpoint. The style's label is the whole prompt.resolution is 480p, and seed is -1, which WaveSpeedAI reads as a random seed.videoStatus asks for the job's result at once, and Switch reads its status. completed goes on todownloadVideo, processing goes to Wait, and failed ends the run.Wait pauses 30 seconds before videoStatus asks again, as often as it takes.downloadVideo fetches the first address in outputs. The new clip is a file in that node's output, under Executions.The form only confirms that it was sent. Nothing delivers the finished clip, so add a node after downloadVideo to save it
to a drive or send it on.
Select the style in On form submission. Each label is sent as the prompt, so keep toresolution in submitVideo takes 480p or 720p.seed in submitVideo a fixed number in place of -1.YOUR_FOLDER_NAME in Upload Video.amount in Wait, in seconds.IceScuIpture has a capital I where the l should be, andRustedlronSculpture a small L in place of the I. WaveSpeedAI lists them as IceSculpture and RustedIronSculpture,cancelled, timeout or deleted. Switch has no output for those,README.md 5 KB workflow.json 9 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…