Docs/Workflows/motion-transfer

Motion transfer

Transfer the motion of a source video onto a character image (face swap style).

Requiressource.urlmedia.provided[] with 1 image (the target character)
media: moving-imagevoice-over: off by defaultmusic: off by defaultcaptions: on by defaultratio: 9:16 by default

Build your request

Only the parameters that apply to motion-transfer are shown. Set values on the left, copy the payload on the right.

View as Markdown (for LLMs)
source.urlrequired

The source content URL: audio file, video file, YouTube link, Spotify track, article page, or PDF depending on the workflow. http(s) is enforced; bare domains get https:// prepended. For character-swap, the video whose people are replaced (a file URL, or a YouTube, TikTok or Instagram link).

media.type

The visual engine for the video.

media.quality

Convenience profile that picks imageModel + videoModel for you. Explicit media.imageModel / media.videoModel override it.

media.density

How many distinct visuals per minute of video. More visuals = livelier video and higher generation cost.

media.animation

How still images are animated. Ignored for other media types.

media.mediaPreset

Visual style preset slug (e.g. DEFAULT, ANIME, PIXAR, GHIBLI, REALISM, ...). See the preset list in the docs. A preset can override media.imageModel when it requires a specific model. With media.type motion-graphics it is the motion graphics category instead, the create form's category cards: MOTION_INSPIRATION_AUTO (Auto, default: Let the agent choose the best category and reference for your brief), MOTION_INSPIRATION_CLEAN_WORDMARK (Minimal & type: Spacious layouts, expressive typography and focused graphic reveals), MOTION_INSPIRATION_PRODUCT_DEMOS (Product demos: Interface walkthroughs, cursor actions and clear feature demonstrations), MOTION_INSPIRATION_DARK_SAAS (Immersive SaaS: Layered interfaces, dramatic depth and polished feature launches), MOTION_INSPIRATION_WARM_LAUNCH (Mixed media: Photography, cutouts and textures woven into animated graphics), MOTION_INSPIRATION_FOOTAGE_LED (Footage-led: People, places and product footage with supporting motion graphics), MOTION_INSPIRATION_MASCOT (Mascot: A character mascot that acts and talks over clean product UI), MOTION_INSPIRATION_EDITORIAL (Editorial: Paper collage, archive photos, highlighted documents and maps, like a news explainer), MOTION_INSPIRATION_DIAGRAM (Diagram: Step-by-step schematics and labelled parts that build an idea), MOTION_INSPIRATION_ILLUSTRATED (Illustrated: Flat illustrated scenes and characters that turn each idea into a picture), MOTION_INSPIRATION_DATA_STORY (Data story: Charts, counters, rankings and maps that make numbers mean something), MOTION_INSPIRATION_MAPS (Maps: Animated maps: borders, routes and zooms from the world down to a city). Values match case-insensitively, with or without the MOTION_INSPIRATION_ prefix, or by label ("footage-led", "Minimal & type"); no value, DEFAULT or an image preset sent with motion-graphics means Auto, like the create form.

media.providedrequired

Your own media items. Used as the only visuals when media.type = custom or media.useOnlyProvided = true; otherwise used as references/anchors. Items: { url (required), type, title, ... }.

{
  "workflow": "motion-transfer",
  "source": {
    "url": "https://cdn.revid.ai/uploads/1772035872439-video.mp4"
  },
  "media": {
    "provided": [
      {
        "url": "https://cdn.revid.ai/uploads/1772035882827-image.jpg",
        "type": "image"
      }
    ]
  }
}
Free, no API key needed.

Good to know

  • →media.provided[] must contain the target character image. The server does not reject a missing image upfront, but generation fails without it.
  • →metadata.duration (seconds of the source video) speeds up processing.