ApiframeApiframe Docs
Video Generation

Midjourney Video

Image-to-video generation powered by Midjourney — generates 4 videos per request.

Use in Apiframe Studio

POST /v2/videos/generatemodel: "midjourney-video"

Generate 4 video variations from a start image and text prompt, powered by Midjourney's video model.

See Video Generation overview for common request fields, response format, and error codes.

Model-specific parameters

ParameterTypeRequiredDefaultDescription
midjourneyVideoParams.start_imagestringYesURL of the image to animate into video
midjourneyVideoParams.motionstringNo"low"Motion intensity: "low" or "high"
midjourneyVideoParams.resolutionstringNo"sd"Video resolution: "sd" (480p) or "hd" (720p)

Output format

Unlike single-video models, Midjourney Video returns 4 video URLs in the completed job result:

{
  "videos": [
    "https://cdn2.apiframe.ai/videos/job-id-1.mp4",
    "https://cdn2.apiframe.ai/videos/job-id-2.mp4",
    "https://cdn2.apiframe.ai/videos/job-id-3.mp4",
    "https://cdn2.apiframe.ai/videos/job-id-4.mp4"
  ]
}

Credit cost

VariantDescription
sdSD resolution, low motion
sd-highSD resolution, high motion
hdHD resolution, low motion
hd-highHD resolution, high motion

Code examples

curl -X POST https://api.apiframe.ai/v2/videos/generate \
  -H "X-API-Key: afk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "prompt": "the camera slowly pans across a misty forest at dawn",
    "model": "midjourney-video",
    "midjourneyVideoParams": {
      "start_image": "https://example.com/forest.jpg",
      "motion": "low",
      "resolution": "hd"
    }
  }'
import requests

response = requests.post(
    "https://api.apiframe.ai/v2/videos/generate",
    headers={
        "X-API-Key": "afk_your_api_key_here",
        "Content-Type": "application/json",
    },
    json={
        "prompt": "the camera slowly pans across a misty forest at dawn",
        "model": "midjourney-video",
        "midjourneyVideoParams": {
            "start_image": "https://example.com/forest.jpg",
            "motion": "low",
            "resolution": "hd",
        },
    },
)
print(response.json())
const response = await fetch("https://api.apiframe.ai/v2/videos/generate", {
  method: "POST",
  headers: {
    "X-API-Key": "afk_your_api_key_here",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    prompt: "the camera slowly pans across a misty forest at dawn",
    model: "midjourney-video",
    midjourneyVideoParams: {
      start_image: "https://example.com/forest.jpg",
      motion: "low",
      resolution: "hd",
    },
  }),
});
console.log(await response.json());
body := `{
  "prompt": "the camera slowly pans across a misty forest at dawn",
  "model": "midjourney-video",
  "midjourneyVideoParams": {
    "start_image": "https://example.com/forest.jpg",
    "motion": "low",
    "resolution": "hd"
  }
}`
req, _ := http.NewRequest("POST", "https://api.apiframe.ai/v2/videos/generate",
    strings.NewReader(body))
req.Header.Set("X-API-Key", "afk_your_api_key_here")
req.Header.Set("Content-Type", "application/json")

resp, err := http.DefaultClient.Do(req)

Try it

POST/v2/videos/generateTry it

On this page