Skip to main content
Glama

midjourney_generate_video

Turn a reference image into a short AI-generated video. Provide a prompt and starting frame to animate still images, with optional end-frame control for precise results.

Instructions

Generate a video from a reference image using Midjourney.

This creates an AI-generated video based on your description and a starting
frame image. Midjourney video generation is image-to-video only — a reference
image is always required. You can optionally specify an ending frame for more
control.

Use this when:
- You want to animate a still image
- You want to create short video clips from a reference image
- You need AI-generated video content

The generation process returns 4 video variations.

Returns:
    Task ID and video information including cover image and video URLs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
loopNoIf true, generate a looping video where the end seamlessly connects to the beginning.
modeNoGeneration mode. 'fast' is recommended for most use cases.fast
asyncNoWhether to process the request asynchronously.
promptYesDescription of the video to generate. Examples: 'A cat walking on a table', 'Ocean waves crashing on the shore', 'Timelapse of clouds moving'
image_urlYesURL of the first-frame reference image when generating the video. Required for video generation (Midjourney video generation is image-to-video only and does not support pure text-to-video).
resolutionNoVideo resolution. '720p' or '480p'.720p
callback_urlNoWebhook callback URL for asynchronous notifications. When provided, the API will call this URL when the video is generated.
end_image_urlNoOptional URL of the last frame reference image. Use this to control where the video ends.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changedv0.1.10
    • addedInput schema / properties / async
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Whether to process the request asynchronously.",
      +  "title": "Async"
      +}
  2. Addedv0.1.5
  3. Removedv0.1.4
  4. Changed5 schema fields changedv0.1.1
    • addedInput schema / properties / callback_url
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "description": "Webhook callback URL for asynchronous notifications. When provided, the API will call this URL when the video is generated.",
      +  "title": "Callback Url"
      +}
    • changedInput schema / properties / image_url / description
      Previous value: -"URL of the first frame reference image. This image will be used as the starting point for the video."New value: +"URL of the first-frame reference image when generating the video. Required for video generation (Midjourney video generation is image-to-video only and does not support pure text-to-video)."
    • changedInput schema / properties / mode / enum
      Previous value: -[
      -  "fast",
      -  "relax",
      -  "turbo"
      -]New value: +[
      +  "fast",
      +  "turbo"
      +]
    • changedInput schema / properties / resolution / description
      Previous value: -"Video resolution. '720p' or '1080p'."New value: +"Video resolution. '720p' or '480p'."
    • changedInput schema / properties / resolution / enum
      Previous value: -[
      -  "720p",
      -  "1080p"
      -]New value: +[
      +  "480p",
      +  "720p"
      +]
  5. First observedv0.1.0

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the burden of behavioral disclosure. It discloses the key image-to-video-only requirement, the optional ending-frame feature, that four video variations are generated, and that the response includes task ID and video information with URLs. It does not clarify async-versus-sync return behavior, but the main behavioral constraints are well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured: it front-loads the core purpose and constraint, then gives short use-case bullets and a returns section. It is appropriately sized, though a couple of phrases like 'You need AI-generated video content' and 'using Midjourney' are slightly redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 8 parameters, the rich schema descriptions, and the presence of an output schema, the description covers the essential context: what the tool does, when to use it, the need for a reference image, optional ending-frame control, and the return shape. The main gap is not routing the agent to midjourney_extend_video for extending existing videos or clarifying async behavior, but the schema and output schema mitigate most of that.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 and the schema already explains all eight parameters. The description adds context around image_url being required and end_image_url giving more control, but these mostly echo the rich schema descriptions. It does not add meaningful detail about mode, resolution, loop, async, or callback beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific operation: 'Generate a video from a reference image using Midjourney.' It also emphasizes the image-to-video-only constraint, which distinguishes it from text-to-video or image-generation tools. It does not explicitly name a sibling alternative like midjourney_extend_video, so it falls just short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Use this when' section provides concrete triggers: animating a still image, creating short video clips from a reference image, and needing AI-generated video content. This gives clear context for when to select the tool, but it does not mention when not to use it or point to an alternative such as midjourney_extend_video for existing videos.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AceDataCloud/MidjourneyMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server