Grok Imagine Video 1.5 API

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.

xAIVideo GenerationReleased Jun 16, 2026Proprietary Endpoint

About Grok Imagine Video 1.5

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

text to videoimage to videoreference to videovideo generation

Grok Imagine Video 1.5 specs

Model ID
grok-imagine-video-1-5
Provider
xAI
Category
Video Generation
Released
Jun 16, 2026
Input
TextImage
Output
Video
Endpoints
POST/v1/videos/generations
Alternate model IDs
grok-imagine-video-1.5xai/grok-imagine-video-1-5xai/grok-imagine-video-1.5

Grok Imagine Video 1.5 API pricing

Live pay-as-you-go rates from the EmpirioLabs catalog. You are billed only for what you use, with no monthly minimum.

Type
Spec
Rate
480p
per second
$0.096
720p
per second
$0.168
1080p
per second
$0.300
Image input
per image
$0.05
Compare on the full pricing page

How to call the Grok Imagine Video 1.5 API

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: submit the job
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: poll for the result
curl https://api.empiriolabs.ai/v1/jobs/JOB_ID \
  -H "Authorization: Bearer $EMPIRIOLABS_API_KEY"
Python
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)
Full Grok Imagine Video 1.5 API reference

Grok Imagine Video 1.5 API parameters

Request parameters supported by the Grok Imagine Video 1.5 API on EmpirioLabs. Defaults apply when a field is omitted.

ParameterTypeDefaultRange / valuesDescription
promptstring--Describe the scene, motion, and action to generate.
modeenumautoauto, t2v, i2v, r2vAuto detects from attachments. t2v: text-to-video. i2v: animate one image. r2v: reference-to-video from up to 7 images.
imagestring--Image URL or upload. Optional: one image for image-to-video, up to 7 for reference-to-video. Leave empty for text-to-video.
durationnumber101 to 15Length of the generated video in seconds.
resolutionenum720p480p, 720p, 1080pOutput resolution. 480p renders fastest, 1080p is the highest definition. Reference-to-video supports up to 720p.
aspect_ratioenum-1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3Output aspect ratio. Defaults to the source image aspect ratio for image-to-video, otherwise 16:9.
reference_imagesstring--Comma-separated image URLs for reference-to-video (up to 7). Alternative to uploading images.

Good to know

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.

Modes

  • Text-to-video: send a prompt with no image.
  • Image-to-video: add one image and it becomes the starting frame.
  • Reference-to-video: add two or more images (up to seven) to carry their subjects into a new scene. Tag them in the prompt as <IMAGE_1>, <IMAGE_2>, and so on.

Example reference-to-video prompt

<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.

Defaults

  • 10 second duration (1 to 15 seconds supported)
  • 720p output (480p, 720p, or 1080p)
  • Aspect ratio follows the source image for image-to-video, otherwise 16:9

Resolution

1080p is available for text-to-video and image-to-video. Reference-to-video supports up to 720p.

Controls

Supports prompt, mode, a source image or reference images (URL or upload), duration, resolution, and aspect ratio.

Billing

  • Charged per second of generated video at the selected resolution (higher resolutions cost more per second), plus a per-image fee for each image you supply. Text-to-video has no image fee.
  • A request that fails validation or errors out before any video is produced is not billed.
  • A video that is produced but then blocked by content policy is still billed. This follows xAI usage policy, which charges for the generation even when the output is blocked by the content safety check. Keep prompts and source images within the usage policy to avoid this.

Grok Imagine Video 1.5 API: common questions

How much does the Grok Imagine Video 1.5 API cost?

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.

Which endpoint does Grok Imagine Video 1.5 use?

Grok Imagine Video 1.5 is served through POST /v1/videos/generations on api.empiriolabs.ai with standard bearer-token authentication.

Can I try Grok Imagine Video 1.5 in the browser before integrating?

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.

How do I get a Grok Imagine Video 1.5 API key?

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.

Ready to use better endpoints?

Check out our pricing or reach out if you want your own model deployed on our stack.