Skip to content
RU

Grok Imagine Video 1.5

Grok Imagine Video 1.5 (x-ai/grok-imagine-video-1.5) is a video generation model from SpaceXAI. It creates videos from text prompts, with an optional starting image to guide the scene. It can direct subject and camera motion, pacing, atmosphere, and physical behavior while maintaining visual continuity, and can generate synchronized sound effects, ambience, and dialogue. Generation is asynchronous: POST /v1/videos returns a job, then you poll the status and download the mp4.

Field Description
model x-ai/grok-imagine-video-1.5 (or the short grok-imagine-video-1.5)
prompt Scene description, required
seconds Any integer from 1 to 15; defaults to 1
size A WxH size from the table below; defaults to 1280x720
input_reference Image-to-video: one image as the starting frame, {"image_url": "data:image/...;base64,..."}
input_references Reference-to-video: 2 to 7 images as an array, also data: URLs only — the xAI upstream caps it at 7
seed Not supported: the model’s seed is false; a request with the field returns 400

Twenty-one allowed sizes — seven aspect ratios at three resolutions:

Aspect 480p 720p 1080p
16:9 852x480 1280x720 1920x1080
9:16 480x852 720x1280 1080x1920
1:1 480x480 720x720 1080x1080
4:3 640x480 960x720 1440x1080
3:4 480x640 720x960 1080x1440
3:2 720x480 1080x720 1620x1080
2:3 480x720 720x1080 1080x1620

A value outside the list returns 400 with the allowed options listed — check the sizes field in the catalog when in doubt.

import requests
job = requests.post(
"https://api.mixen.ai/v1/videos",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": "x-ai/grok-imagine-video-1.5",
"prompt": "A sports car accelerates down a night highway, neon reflecting off the wet asphalt, the camera overtakes and swings wide",
"seconds": "6",
"size": "1280x720",
},
).json()
print(job["id"], job["status"])

The image goes in as a single data: URL — external links are not accepted:

import base64
import requests
with open("scene.jpg", "rb") as f:
img = "data:image/jpeg;base64," + base64.b64encode(f.read()).decode()
job = requests.post(
"https://api.mixen.ai/v1/videos",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"model": "x-ai/grok-imagine-video-1.5",
"prompt": "The camera pushes in slowly on the hero, wind tugging at the clothes, rain audible",
"seconds": "8",
"size": "1280x720",
"input_reference": {"image_url": img},
},
).json()
print(job["id"], job["status"])

Two to seven references — the model assembles the scene from them:

{
"model": "x-ai/grok-imagine-video-1.5",
"prompt": "The character from the first frame surveys the location from the second, wary movement",
"seconds": "6",
"size": "1280x720",
"input_references": [
"data:image/png;base64,iVBORw0...",
"data:image/png;base64,iVBORw0..."
]
}

From there it is the usual loop: GET /v1/videos/{id} every 5–10 seconds until completed, then GET /v1/videos/{id}/content for the mp4. Full cycle — video guide.

Billing is per second and depends on the resolution: 480p — 10.6954 ₽ ($0.12) per second, 720p — 18.717 ₽ ($0.21), 1080p — 33.4232 ₽ ($0.375). On top of the per-second rate, every input image — the starting frame or a reference — adds $0.01 to the clip’s cost. You are charged actual duration × the size’s rate. Current prices — catalog.

  • Durations from 1 to 15 seconds — a continuous range and the shortest minimum among the catalog’s video models.
  • Seven frame formats, including the uncommon 3:2 and 2:3, at 480p, 720p, and 1080p.
  • Synced audio: sound effects, ambience, and dialogue are generated with the clip.
  • Directing lives in the prompt: subject and camera motion, pacing, atmosphere, and physical behavior.
  • Images are data: URLs only: one starting frame or up to 7 references (other video models accept up to 9).
  • Every input image adds $0.01 to the price — noticeable on clips with a full set of references.

All models — in the catalog. The general video workflow — video guide.