---
title: "Motion graphic video from a concept image"
kind: "Kit"
category: "Marketing & SEO"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/6123a67f-d517-4c5e-842b-1bcba4f22558"
updated: "2026-11-09"
---

# Motion graphic video from a concept image

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow that turns one concept image into a short motion graphics clip. It treats your image as the end frame, has an AI write and apply an edit that gives the start frame, then asks Hailuo 02 on WaveSpeedAI to animate between the two.

Motion graphic video from a concept image is an n8n workflow in the Marketing \& SEO category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-09. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow turns one concept image into a short motion graphics clip. A form takes the image, an optional description and an aspect ratio. The image becomes the end frame. Two lines run side by side. One stores the image in Dropbox and upscales it to 4K, the other has an agent on GPT-4.1 mini write an edit that would give an earlier start frame. Seedream applies the edit, GPT-4o compares the two frames and describes the motion, and Hailuo 02 on WaveSpeedAI renders the video between them.

### Who it suits

Art directors, motion designers and content teams who have a finished still and want to see how it could build up into movement, before anyone opens an animation tool.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Advertising | Art directors | Upload a key visual as the end frame and describe the motion in a line | An art director sends a poster and sees the lettering assemble into place. |
| E-commerce | Brand marketers | Turn a hero product shot into a short reveal | A marketer sends a packshot and gets a clip where the product arrives in frame. |
| Social video | Content teams | Prepare motion ideas from existing artwork | A team sends a cover image and picks the clips worth polishing. |
| Presentations | Designers | Animate a title or a diagram that is already drawn | A designer sends a diagram and gets a short build-up for a keynote. |

You need real comfort with n8n and with API calls: four accounts, five tokens typed into node headers by hand, and two things in the file to check before you rely on it. Skip it if you want a one-click tool. Its author puts setup at about 12 minutes, which assumes the accounts already exist.

### Where to use it

Any n8n you run will do, as long as it can reach OpenAI, Dropbox and WaveSpeedAI.

- n8n Cloud: import the file into a new workflow there
- Your own n8n server: the same file, the same steps
- A drive or a channel: add a node after \`Hailuo-i2v-pro-result\` to download the clip and save or send it
- Another video model: change the address and body of \`Hailuo-i2v-pro\` to call a different WaveSpeedAI model

### How to set it up

Get it saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. Have these ready before you import it.

What you need first

| Need | Detail |
| --- | --- |
| n8n | On n8n Cloud or on a server of your own |
| OpenAI | A key that can use \`gpt-4.1-mini\` and \`gpt-4o\` |
| Dropbox | An account, a credential for the upload and a token that can create shared links |
| WaveSpeedAI | An API key and credit |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. Add an OpenAI credential and select it in `OpenAI Chat Model` and `Analyze image`.
3. Add a Dropbox credential and select it in `Upload a file`.
4. In `HTTP Request`, replace `<token>` in the `Authorization` header with a Dropbox token that may create shared links.
5. In `image-upscaler`, `Seedream-v4-edit`, `Hailuo-i2v-pro` and `Hailuo-i2v-pro-result`, replace `<token>` with your WaveSpeedAI key.
6. Save, send a test image through the form’s test address and check each node’s output, then press Publish.

A Header Auth credential for WaveSpeedAI does the same job as the four headers in one place. If the shared-link call is refused, check that the Dropbox token also has the `sharing.write` permission. One expression differs from the source: in `Upload a file`, the file name was cleaned with `/s+/g`, which hits the letter s, and it now reads `/\s+/g`.

### How to use it

Open the form from `On form submission`, upload a concept image (`.jpg`, `.jpeg`, `.png` or `.webp`), describe the motion if you like and pick an aspect ratio. The run goes on behind the form. When it ends, open it under Executions and read the clip’s address in `data.outputs` of the last node. The file does not download the clip.

What to change for a different result

| To change | Where |
| --- | --- |
| Motion and style | The prompt in \`AI Agent\`, which shapes the start frame, and the text in \`Analyze image\`, which shapes the motion |
| Sharpness | \`target\_resolution\` and \`creativity\` in the body of \`image-upscaler\` |
| Frame shape | The form’s options, \`Aspect Ratio Conversion\` and \`size\` in \`Seedream-v4-edit\` |
| Waiting time | \`Wait\`, before the result is asked for |

### Example

A poster as the concept image, with this in Video Description:

```text
The lettering assembles from scattered pieces while the background brightens
```

The agent describes an earlier state of the poster, with the pieces scattered and the background dim, and Seedream edits the upscaled poster into that start frame. GPT-4o compares the start and end frames and writes one paragraph of motion directions that includes your sentence. Hailuo renders the video from them.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. Here the form feeds two lines at once, and a Merge node waits until both are done. Run the form from its test address first. Every node then shows what it received and what it sent, which is where a wrong token turns up.

**For experts.** Five services share the work, and the table names each.

What runs each step

| Step | Model or service | What to know |
| --- | --- | --- |
| Start-frame prompt | \`AI Agent\` on \`gpt-4.1-mini\`, with the image passed as binary | It returns only the edit prompt, and your description is added when the field is filled |
| Upscale | WaveSpeedAI \`image-upscaler\`, 4k, creativity 2, JPEG | It reads the image from Dropbox through a link that ends in \`raw=1\` |
| Start frame | Seedream v4 edit, sync mode, size fixed at \`2880\*2160\` | WaveSpeedAI’s page, read on 2 November 2026, prices it at $0.027 an image |
| Motion prompt | \`Analyze image\` on \`gpt-4o\`, given both frame addresses | One paragraph for the video tool |
| Video | Hailuo 02 i2v-pro, prompt expansion off | WaveSpeedAI’s page for it lists $0.49 a clip, five seconds at 1080p |

### Good to know

Each run costs money, and two details in the file need a check.

- Aspect ratio: the choice is converted and carried along, but no later node reads it, and \`Seedream-v4-edit\` always asks for \`2880\*2160\`
- Final frame: WaveSpeedAI’s page for the Hailuo model, read on 2 November 2026, names the final-frame field \`last\_image\`, and the file sends \`end\_image\`, so check that the clip ends on your image
- The wait: \`Wait\` pauses once, for five minutes, as the file sets minutes and leaves the amount at n8n’s default. The page gives a typical time of 30 to 90 seconds. If the result is not \`completed\`, run \`Hailuo-i2v-pro-result\` again later
- Billing: OpenAI and WaveSpeedAI bill each call. WaveSpeedAI’s pages list $0.027 for a start frame and $0.49 for a clip, and the upscaler is billed on top
- Public link: the image stays in your Dropbox with a link anyone can open
- Open form: once the workflow is published, anyone with the form’s address can start a run on your keys, so turn on the form trigger’s basic authentication or keep the address to yourself
- Tokens in nodes: five headers keep a token in the node, which saves it in the workflow and any export, so move them into credentials before you share it

To make the aspect ratio count, set the `size` in the body of `Seedream-v4-edit` to this expression, inside its quotes:

```text
{{ $('Aspect Ratio Conversion').item.json.resolution }}
```

## README

```markdown
# Motion graphic video from a concept image

An n8n workflow. Upload one concept image through its form and it treats the image as the end frame of a short clip. An
AI writes an edit that gives the start frame, Seedream applies it, GPT-4o compares the two frames and writes the motion,
and Hailuo 02 on WaveSpeedAI renders the video between them.

## What is inside

- `workflow.json`: the workflow as n8n exports it, seventeen nodes. It holds no credential. The five `Authorization`
  headers still read `Bearer <token>`, as in the source, for you to fill in.
- `README.md`: these notes.

One expression differs from the source. In `Upload a file`, the file name was cleaned with `/s+/g` and `(.[^.]+)$`, which
replace runs of the letter s and treat any character as the dot. They now read `/\s+/g` and `(\.[^.]+)$`, which
replace spaces and put a timestamp before the extension.

## Before you start

- An n8n instance, on n8n Cloud or your own server.
- An OpenAI API key that can use `gpt-4.1-mini` and `gpt-4o`.
- A Dropbox account, a credential for `Upload a file` and a Dropbox token that can create shared links.
- A WaveSpeedAI API key and credit.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Add an OpenAI credential and select it in `OpenAI Chat Model` and `Analyze image`.
3. Add a Dropbox credential and select it in `Upload a file`. In `HTTP Request`, replace `<token>` in the `Authorization`
   header with a Dropbox token that may create shared links. If the link call is refused, check that the token's
   permissions include `files.content.write` and `sharing.write`.
4. In `image-upscaler`, `Seedream-v4-edit`, `Hailuo-i2v-pro` and `Hailuo-i2v-pro-result`, replace `<token>` in the
   `Authorization` header with your WaveSpeedAI key. A Header Auth credential does the same job in one place.
5. Save, open the form's test address and send a test image. Check each node's output under Executions.
6. Press Publish at the top of the canvas (or Shift+P) when it works.

## How a run goes

The form feeds two lines at once, and `Merge` waits for both.

1. The image line: `Upload a file` saves the image in Dropbox, `HTTP Request` makes a public shared link, `Code` turns
   the link's `dl=0` into `raw=1` so it points at the file itself, and `image-upscaler` returns a 4K version.
2. The planning line: `Input Validation` keeps the description and the aspect ratio, and `Aspect Ratio Conversion` turns
   the ratio into a 4K width and height. Next, `Retrieve Binary File` passes the image on. Last, `AI Agent` on `gpt-4.1-mini`
   writes an edit prompt for a start frame that would lead to the uploaded image.
3. `Merge` joins the upscaled image and the prompt. `Seedream-v4-edit` applies the prompt to the upscaled image, and
   `Edit Fields` names the result `startFrame` and the upscaled image `endFrame`.
4. `Analyze image` sends both frames to `gpt-4o` and gets one paragraph that describes the motion between them.
5. `Hailuo-i2v-pro` submits the video job, `Wait` pauses and `Hailuo-i2v-pro-result` asks WaveSpeedAI for the result.

The workflow stops there. The clip's address is in `data.outputs` of the last node's output under Executions, and the
file does not download it.

## Check before you rely on it

- The aspect ratio you pick is converted and carried to `Edit Fields`, but no later node reads it. `Seedream-v4-edit`
  always asks for `2880*2160`. To make the choice count, set its `size` to
  `{{ $('Aspect Ratio Conversion').item.json.resolution }}` inside the quotes of the JSON body.
- WaveSpeedAI's page for `minimax/hailuo-02/i2v-pro`, read on 2 November 2026, names the optional final-frame field
  `last_image`. The file sends `end_image`. If the clip does not end on your image, rename the field in `Hailuo-i2v-pro`.
- `Wait` stores a unit of minutes and leaves the amount at n8n's default, 5, so it pauses five minutes. The same page gives a
  typical generation time of 30 to 90 seconds. If `data.status` in the result is not `completed`, run
  `Hailuo-i2v-pro-result` again a little later, or raise the wait.
- `Seedream-v4-edit` and `image-upscaler` ask WaveSpeedAI to answer within the request. If one takes too long, its
  outputs come back empty and the next node fails. Run it again.

## Change the look

- Motion and style: the prompt in `AI Agent` shapes the start frame, and the text in `Analyze image` shapes the motion.
- Sharpness: `target_resolution` and `creativity` in the body of `image-upscaler`.
- Frame shapes: the options in the form trigger, the sizes in `Aspect Ratio Conversion`, and `size` in `Seedream-v4-edit`.
- After the clip: add a node after `Hailuo-i2v-pro-result` to download it and save or send it.

## Good to know

- WaveSpeedAI's pages, read on 2 November 2026, price a start frame at $0.027 and a clip at $0.49, and describe the clip
  as five seconds at 1080p. The upscaler and the OpenAI calls are billed on top.
- `HTTP Request` asks for a public shared link, so the image stays in your Dropbox with a link anyone can open.
- Once the workflow is published, anyone with the form's address can start a run on your keys. The form trigger can ask
  for a username and password.
- Five nodes hold a token in their `Authorization` header, which saves it in the workflow and any export. Move them into
  credentials before you share the workflow.
- The image goes to Dropbox, OpenAI and WaveSpeedAI.
```

## What is in it

2 files, 22 KB, downloaded as a zip.

```text
README.md  5 KB
workflow.json  17 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 16 steps, starting on a form
- AI: 2 steps call an AI model: Analyze image and AI Agent
- Sign-ins: Signs in to: Dropbox and OpenAI
- API keys: No API key is left in the file; 1 blank in it for your own key
- Step types: Mindket’s checker reads all 9 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/6123a67f-d517-4c5e-842b-1bcba4f22558)
- [Its page on Mindket](https://mindket.com/p/6123a67f-d517-4c5e-842b-1bcba4f22558)
