Mindket

Photo motion transfer from a video clip

Newversion 1 · updated

Overview

An n8n workflow that makes a still portrait move the way a video clip moves. A form takes the image and the clip, a RunningHub AI app transfers the motion, and n8n checks the task until it is done and downloads the video.

Photo motion transfer from a video clip 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.

At a glance

Runs in
  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • The form’s address: send it to the people who provide the portraits and clips
  • Anything after downloadVideo: add a node there to save each video or send it on

Platform

Connects 1 app

How it works

Trigger

Form upload

It starts when someone sends the Video Motion Transfer form with:

  • An image, as .jpg, .jpeg, .png or .webp
  • A video clip, as .mp4, .avi, .mov or .mkv

Actions

  1. Sends the image and the clip to RunningHub, one call each
  2. Starts a RunningHub AI app task from the two stored files
  3. Waits five minutes, then checks the task every minute while it is queued or running
  4. Fetches the result list and downloads each video file

Result

A video of your portrait moving the way the clip does

Integrations

What you need before you start.

RunningHub

AI video

Stores both files, runs the motion-transfer app on them, reports the task’s status and hands back the video’s address.

NeedsRunningHub API key

Workflow check

Checked by Mindket on 13 Nov 2026

Steps
15 steps, starting on a form
AI
No step calls an AI model
Sign-ins
Signs in to: RunningHub
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 8 of its step types

Read from the workflow’s file, not from a run.

About

What it is

This n8n workflow makes a still portrait move the way a video clip moves. A form takes the portrait and a source clip, and RunningHub stores both. Then a RunningHub AI app transfers the clip’s motion onto the image. n8n waits five minutes, checks the task, and keeps checking once a minute until the task succeeds or fails. Fifteen nodes run in two stretches: the first uploads the files and starts the task, and the second waits, fetches the result and downloads each video file it lists.

Who it suits

Creators and small teams who want a character, a portrait or a piece of concept art to perform a movement they can film or find. Skip it if you want to steer the result with words from inside n8n. The app has a prompt field. The file leaves it empty.

Who uses it, and how
IndustryWho uses itHow they use itExample
Social videoCreators who post short clipsGive a portrait or a mascot the move from a clip they likeA creator makes a mascot portrait turn its head the way a presenter does in a short clip.
Brand marketingBrand and social teamsLet a brand character copy a gesture from a reference clipA brand team has its character wave the way a spokesperson waves in a reference video.
Games and storytellingIndie developers and writersBring concept art to life with a filmed movementAn indie team animates a character sketch with a clip of someone walking.
TrainingCourse makersAnimate an instructor illustration with a filmed demonstrationA trainer lets an illustrated instructor point at a screen the way a colleague did on camera.
AgenciesVideo producersTest a character’s performance before an animator is bookedA producer shows a client a rough performance filmed on a phone and carried onto the character.

Where to use it

Any n8n that can reach runninghub.ai will run it. The form is the front door, so you share its address with whoever supplies the files.

  • n8n Cloud: import the file into a new workflow there
  • Your own n8n server: the same file and steps
  • The form’s address: send it to the people who provide the portraits and clips
  • Anything after `downloadVideo`: add a node there to save each video or send it on

Setup

Get it saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Its author puts setup at about 14.5 minutes.

What you need first
NeedDetail
n8nOn n8n Cloud or on a server of your own
RunningHubAn account, and the API key from it
  1. In n8n, create a workflow, open its menu, choose Import from File and pick workflow.json.
  2. Open API Setup and replace YOUR_RUNNINGHUB_API with your RunningHub API key.
  3. If you want, open On form submission and change the form’s title or the file types it accepts.
  4. To steer the motion with a prompt, open createTask and type one into fieldValue of the entry whose nodeId is 164. The file leaves it empty.
  5. Save, open the form’s test address and send a portrait and a clip through it.
  6. Press Publish, then share the form’s production address.

How to use it

Open the form, attach a portrait and a video clip, and send them. Both fields are required. Each takes one file. The image can be .jpg, .jpeg, .png or .webp, and the clip .mp4, .avi, .mov or .mkv. The form confirms at once. The run goes on behind it. The video lands in the run’s execution data, so open the run under Executions to get it.

What to change for a different result
To changeWhere
The promptfieldValue of the nodeId 164 entry in createTask, empty in the file
First waitWait, five minutes before the first status check
Time between checksWait1, one minute
Accepted filesThe two file fields of On form submission
Which RunningHub app runsThe app number ending the address in createTask, with the node numbers 163, 178 and 164
Machine and queueinstanceType and usePersonalQueue in the body of createTask, set to plus and false

Example

A designer uploads a .png of a cartoon fox and a short .mp4 of someone turning their head and smiling. Five minutes after the task starts, the first status check runs, and once a minute after that until the status reads SUCCESS. Then downloadVideo holds a video of the fox turning its head and smiling.

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 heavy work happens on RunningHub, and n8n only carries files to it and waits. The key you paste into API Setup is how RunningHub knows the calls are yours. Send a test through the form first, since each node then shows what it received and sent.

For experts. The file talks to RunningHub in two styles. Upload and output calls carry your key as apiKey in the body. The task and status calls send it as a Bearer header, on a newer path.

The four RunningHub calls
NodeEndpointSendsGets back
uploadImage, uploadVideo/task/openapi/uploadapiKey and one file, as multipart form dataThe stored file’s fileName
createTask/openapi/v2/run/ai-app/ then the app numberThe Bearer key and a nodeInfoListA taskId
checkStatus/openapi/v2/queryThe Bearer key and the taskIdA status: FAILED, SUCCESS, QUEUED or RUNNING
getOutput/task/openapi/outputsapiKey and the taskIdA data list, each entry with a fileUrl

The two uploads run side by side, and Merge and Aggregate fold their replies into one item. createTask then puts the image’s name in node 163 of the app and the video’s in node 178. After a SUCCESS, Code in JavaScript turns each entry of data into its own item, so downloadVideo fetches every file the app returns.

Good to know

Each task costs money, and a failed one ends without a message.

  • Billing: RunningHub bills each task to your account, and the file asks for the plus instance type, so check what that costs there
  • No failure path: output 0 of Switch, for FAILED, goes nowhere, so open the run under Executions when no video appears
  • Late first check: the first status check comes five minutes after the task starts, so a quick failure shows up late
  • No retry limit: a task that stays queued or running is checked every minute until it finishes
  • Open form: once the workflow is published, anyone with the form’s address can start a run on your RunningHub account
  • Your key: it sits as plain text in API Setup, so anyone who can open the workflow can read it
  • Your files: the portrait and the clip are uploaded to RunningHub, and the people in them should be ones you have the right to use
  • Credentials: the JSON holds none, and nothing from its author’s account

README and files

README

Photo motion transfer from a video clip

An n8n workflow. Send one portrait and one video clip through its form, and it returns a video of the portrait moving
the way the clip moves, made by a RunningHub AI app.

What is inside

  • workflow.json: the workflow as n8n exports it, 15 nodes. It holds no credential. Your RunningHub key goes into one
    node, API Setup.
  • README.md: these notes.

Before you start

  • An n8n instance, on n8n Cloud or your own server.
  • A RunningHub account and its API key.

Set it up

  1. In n8n, create a workflow, open its menu and choose Import from File. Pick workflow.json.
  2. Open API Setup and replace YOUR_RUNNINGHUB_API with your RunningHub API key. The other nodes read it from there.
  3. Optional: open On form submission to change the form's title or the file types it accepts. The file takes .jpg,
    .png, .jpeg and .webp for the image, and .mp4, .avi, .mov and .mkv for the video.
  4. Optional: to steer the motion with a prompt, open createTask and type one into fieldValue of the entry whose
    nodeId is 164. The file leaves it empty.
  5. Save, open the form's test address and send a portrait and a clip through it.
  6. Press Publish, then share the form's production address.

The form confirms at once. The run goes on behind it, and the finished video is saved in the run's execution data, so
open the run under Executions to get it. Add a node after downloadVideo to save each file to a drive or send it on.

How it runs

  1. API Setup holds the key, and getBinaryFile passes the form's two files on.
  2. uploadImage and uploadVideo send one file each to RunningHub, side by side. Merge and Aggregate fold the two
    replies into one item.
  3. createTask starts a task on a RunningHub AI app, giving it the image's stored name in node 163 and the video's in
    node 178. Node 164 is a prompt field that the file leaves empty. The body also sets instanceType to plus and
    usePersonalQueue to false.
  4. Wait pauses five minutes, then checkStatus asks for the task's status. Switch sends SUCCESS to getOutput,
    sends QUEUED and RUNNING through Wait1 (one minute) back to checkStatus, and leaves FAILED unconnected.
  5. getOutput asks for the result list. Code in JavaScript turns each entry into an item with its fileUrl, and
    downloadVideo fetches each file.

| Node | RunningHub endpoint | Sends | Gets back |
|---|---|---|---|
| uploadImage, uploadVideo | /task/openapi/upload | apiKey and one file | the stored file's fileName |
| createTask | /openapi/v2/run/ai-app/ and the app number | a Bearer key and a nodeInfoList | a taskId |
| checkStatus | /openapi/v2/query | a Bearer key and the taskId | a status: FAILED, SUCCESS, QUEUED or RUNNING |
| getOutput | /task/openapi/outputs | apiKey and the taskId | a data list with a fileUrl in each entry |

Change the result

  • The prompt: the empty fieldValue in createTask, as in step 4.
  • Timing: Wait (five minutes before the first check) and Wait1 (one minute between checks). Wait has only its unit
    set, so it keeps n8n's default amount for this version of the node.
  • Which RunningHub app runs: the number that ends the address in createTask. The node numbers beside it belong to that
    app, so change them if you point it at another.
  • The form: rename the fields or change the accepted file types in On form submission.

Good to know

  • RunningHub bills each task to your account. The file asks for the plus instance type, so check its price there.
  • Output 0 of Switch, for FAILED, goes nowhere. When no video appears, open the run under Executions.
  • The first status check comes five minutes after the task starts, so a quick failure shows up late.
  • Nothing limits the status loop: a task that stays queued or running is checked every minute until it finishes.
  • Once the workflow is published, anyone with the form's address can start a run on your RunningHub account.
  • The key sits as plain text in API Setup, so anyone who can open the workflow can read it.
  • The portrait and the clip are uploaded to RunningHub. Use people and footage you have the right to use.
Files
README.md  4 KB
workflow.json  12 KB

2 files, 16 KB, downloaded as a zip.

What’s new

  • Version 1 · 2026-11-03

Reviews

No ratings yet

Write a review

No reviews yet.

More from Mindket

See all from Mindket

Bonsai-27B-GGUF

lmstudio-community · Kit

A GGUF conversion of the 27B Bonsai model for LM Studio, with a 3.80 GB Q1_0 language file and a 0.93 GB BF16 vision projector. Tested for text, vision and par…

New

Runs DeepSeek-V4.1-Flash-1017 as a 2.9 bits-per-weight EXL3 quantization, a 196 GiB copy for people serving large models on their own hardware. Perplexity stay…

New

MusicGen Small

facebook · Kit

Generates short music clips from a text description or an audio prompt, in the small checkpoint of facebook's MusicGen. It suits developers and music hobbyists…

New

Similar in Marketing & SEO

See all in Marketing & SEO

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…

New29.4k

Pixel Art XL

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…

New

Licon MSR for LTX-2.5

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…

New