
Text-to-video, image-to-video, and reference-to-video generation with up to seven reference images for consistent characters, up to 15 seconds at 1080p.
Text-to-video, image-to-video, and reference-to-video generation with up to seven reference images for consistent characters, up to 15 seconds at 1080p.
Also known as Grok Imagine Video, xAI Grok Imagine Video 1.5, Grok-Imagine-Video-1.5, grok-imagine-video-1-5
grok-imagine-video-1-5/v1/videos/generationsgrok-imagine-video-1.5xai/grok-imagine-video-1-5xai/grok-imagine-video-1.5Live pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.
Grok Imagine Video 1.5 runs through POST /v1/videos/generations. The request returns a job_id right away; poll GET /v1/jobs/{job_id} until the job completes and read the output URLs from the result. Get an API key from the EmpirioLabs dashboard.
curl https://api.empiriolabs.ai/v1/videos/generations \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine-video-1-5",
"prompt": "Describe what you want Grok Imagine Video 1.5 to generate."
}'curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
-H "Authorization: Bearer $EMPIRIOLABS_API_KEY"import requests
response = requests.post(
"https://api.empiriolabs.ai/v1/videos/generations",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
json={
"model": "grok-imagine-video-1-5",
"prompt": "Describe what you want Grok Imagine Video 1.5 to generate.",
},
)
job = response.json()
# Generation runs as an async job. Poll until it completes.
import time
while True:
status = requests.get(
f"https://api.empiriolabs.ai/v1/jobs/{job['job_id']}",
headers={"Authorization": "Bearer YOUR_EMPIRIOLABS_API_KEY"},
).json()
if status.get("status") in ("completed", "failed"):
print(status)
break
time.sleep(5)Request parameters supported by the Grok Imagine Video 1.5 API on EmpirioLabs. Defaults apply when a field is omitted.
| Parameter | Type | Default | Range / values | Description |
|---|---|---|---|---|
| prompt | string | - | - | Describe the scene, motion, and action to generate. |
| mode | enum | auto | auto, t2v, i2v, r2v | Auto detects from attachments. t2v: text-to-video. i2v: animate one image. r2v: reference-to-video from up to 7 images. |
| image | string | - | - | Image URL or upload. Optional: one image for image-to-video, up to 7 for reference-to-video. Leave empty for text-to-video. |
| duration | number | 10 | 1 to 15 | Length of the generated video in seconds. |
| resolution | enum | 720p | 480p, 720p, 1080p | Output resolution. 480p renders fastest, 1080p is the highest definition. Reference-to-video supports up to 720p. |
| aspect_ratio | enum | - | 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3 | Output aspect ratio. Defaults to the source image aspect ratio for image-to-video, otherwise 16:9. |
| reference_images | string | - | - | Comma-separated image URLs for reference-to-video (up to 7). Alternative to uploading images. |
Generates video from a text prompt on its own, from a source image, or from up to seven reference images that keep characters and objects consistent across the shot.
<IMAGE_1> and <IMAGE_2> walking together through a neon-lit street at night.The mode is detected from what you send, and can be set explicitly with the mode parameter.
1080p is available for text-to-video and image-to-video. Reference-to-video supports up to 720p.
Supports prompt, mode, a source image or reference images (URL or upload), duration, resolution, and aspect ratio.
On EmpirioLabs, Grok Imagine Video 1.5 is billed pay as you go: 480p $0.096 per second; 720p $0.168 per second; 1080p $0.300 per second. The live rate card on this page always matches what the API charges.
Grok Imagine Video 1.5 is served through POST /v1/videos/generations on api.empiriolabs.ai with standard bearer-token authentication.
Yes. The EmpirioLabs playground runs Grok Imagine Video 1.5 in the browser with the same parameters the API exposes, so you can test prompts before writing code.
Create an EmpirioLabs account, then generate a key under API Keys in the dashboard. Billing is pay-as-you-go credits, so you only pay for the requests you make.
Check out our pricing or reach out if you want your own model deployed on our stack.