Midjourney video skill

Midjourney video skill is a free agent skill maintained by Scopeful. It teaches an AI coding agent such as Claude Code, Cursor, Windsurf or Codex how to drive this tool correctly, so you do not have to re-explain it every session. Every published Scopeful skill is free and the install command is public, with no sign-in required. Install it with No install required, Midjourney is a web/Discord product at midjourney.com. Scopeful also tracks hand-verified USD pricing for 39 AI creative tools at https://www.scopeful.org/tools.

Generate, extend, and loop video with Midjourney's image-to-video.

Tags: video, image-to-video, v7

Install

No install required, Midjourney is a web/Discord product at midjourney.com

Reference


name: midjourney-video description: Use this skill whenever the user wants to generate, extend, or loop a video using Midjourney's image-to-video feature. Triggers include any mention of "Midjourney video", "MJ video", "animate this image", "--video", "--motion", "--loop", "--bs", "--end", "extend video", "looping video", or asking to turn a still into a clip. Do not trigger for video generation on other platforms (Kling, Runway, Veo, Higgsfield), for those, use their dedicated skills if available.

Generate Midjourney videos cleanly

Midjourney's video feature is image-to-video, not text-to-video. You feed it a starting frame (usually an MJ-generated image), optionally a text prompt, and it produces a 5-second clip. Then you can extend it up to 21 seconds total in 4-second chunks.

It is expensive compared to images and cheap compared to dedicated video models like Veo or Kling. Quality is mid-tier, better than the Higgsfield Free or Wan 2.5 baseline, worse than Veo 3.1. The killer feature is the identity continuity: a video extended from an MJ image preserves the original aesthetic in ways no other model matches today.

When to use Midjourney video, when not to

Use MJ video when:

Do NOT use MJ video when:

How to generate a video

There are two paths: midjourney.com (web) and Discord. The agent's output should target the user's platform.

On midjourney.com (recommended)

  1. Open any image in the gallery, every MJ image has Animate Image buttons below it.
  2. Pick one of:
    • Animate Auto. generates immediately using the source image's prompt
    • Animate Manually. opens the Imagine bar so you can adjust the prompt
    • Loop. generates a looping video (start frame = end frame)
  3. The job runs in the background; the result appears in the Create page.

For user-uploaded images: click the image icon in the Imagine bar, drag the uploaded image into the Starting Frame slot. A text prompt is optional.

In Discord

<image_URL> <prompt_text> --video

The image URL goes first, then the text prompt, then --video. The image must be online, host on Discord first if the user has a local file.

If the user already has a Midjourney image upscaled in Discord, they can use the Animate (High motion) / Animate (Low motion) buttons directly under it.

The video-specific parameters

Video generations ignore most regular image parameters. Only these work:

Param Purpose Values
--motion low Subtle camera + character movement (default) flag
--motion high Big camera moves, large character motion (more glitch risk) flag
--raw Reduce MJ's creative flair, follow prompt more literally flag
--loop Reuse the start frame as the end frame (creates a loop) flag
--end <URL> Use a different image as the end frame URL
--bs N Batch size, how many video variations to generate 1, 2, or 4 (default 4)
--video Required in Discord when using a custom image URL flag

That's it. Trying to put --ar, --stylize, --sref, --oref on a video prompt does nothing. The aspect ratio is inherited from the starting image. The style is inherited from the starting image.

GPU costs, read this before generating

MJ video is significantly more expensive than images. Memorize this table:

Resolution Batch 4 (default) Batch 2 Batch 1
SD (480p) 8 GPU-min 4 GPU-min 2 GPU-min
HD (720p) 26 GPU-min 13 GPU-min 7 GPU-min

Key implication: HD video is 3.25× more expensive than SD. The agent should default-recommend SD for exploration and only switch to HD when the user has picked the final shot.

Per-clip USD cost on Standard plan ($0.0333 per GPU-min):

If the user is on Basic plan ($0.05 per GPU-min), all numbers go up 50%.

Plan gating, also memorize

Recommend Relax SD on Pro+ for experimentation. Switch to Fast HD for final.

Extending videos

A single video starts at 5 seconds. You can extend it up to 4 more times, gaining 4 seconds per extension, max 21 seconds total.

Each extension costs the same as the initial video. A 21-second HD clip = 5 video jobs × 26 GPU-min = 130 GPU-min ≈ $4.33 on Standard. Tell the user before they start chaining.

Two extension modes (web UI buttons or Discord buttons):

Looping and end frames

--loop reuses the start frame as the end frame. Use this for: subtle scene loops, ambient backgrounds, parallax-style breathing motion. The result genuinely loops cleanly.

--end <URL> uses a different image as the end frame. MJ interpolates between the two. Use this for:

Either flag goes at the end of the prompt with the other video params.

Motion settings, when to pick which

--motion low (default):

--motion high:

If both look bad, the starting image is probably the problem. Re-generate the still first.

Aspect ratio is inherited

The video inherits the starting image's aspect ratio. The exact pixel dimensions:

Starting AR Video AR SD pixels HD pixels
1:1 1:1 624×624 960×960
4:3 ~4:3 720×544 1104×832
2:3 2:3 512×768 784×1168
16:9 ~16:9 832×464 1280×720
1:2 1:2 448×880 672×1360

For social-platform deliverables, generate the starting image at the target AR first:

What to deliver to the user

For an MJ video request, the agent should return:

  1. Setup confirmation. which starting image they're animating, on which platform
  2. The pasteable command (Discord) or the click sequence (web)
  3. Motion + batch recommendation. usually --motion low --bs 1 for first attempt
  4. Estimated GPU cost in min + USD on the user's plan
  5. Downstream options. extend / loop / re-render with different motion

Example output:

**Animating your fisherman image** (1280×720, HD on Standard plan)

**Discord:**

```
https://your-image-url.jpg moody push-in, gentle fog rolling, fisherman keeps mending nets --motion low --bs 1 --video
```

**Or on midjourney.com:** open the image, click **Animate Manually**, paste the prompt above (without the leading image URL or `--video`).

**Cost estimate:**
- HD, batch-of-1: ~7 GPU-min ≈ $0.23 on Standard
- HD, batch-of-4: ~26 GPU-min ≈ $0.87 (recommended for first pick)
- SD equivalent batch-of-1: 2 GPU-min ≈ $0.07 (recommended for cheap exploration)

**Likely follow-ups:**
- Extend by 4 s if you like the first 5 s (~7 more GPU-min)
- Add `--loop` to make it loop seamlessly
- Switch `--motion low` → `--motion high` if it's too static

Downloading + sharing

Right-click any video on the Create or Organize page to get three download options:

In Discord, right-click only downloads the raw file.

Frequent failures and how to recover