GPT-6 Sol & Claude Opus 5.5 are liveGPT-6 Sol at half the price of 5.6 Sol
All models
xAI · Media API

Grok Imagine Video 1.5 API

Grok Imagine Video 1.5 is xAI's first live video route on OmniaKey: it renders text-to-video and image-to-video clips through the same asynchronous media API, priced per second of output instead of per call.

Model ID
grok-imagine-video-1.5
Provider
xAI
Modality
AI Video
Per second of output
$1.00
Last verified
2026-09-12

Playground

Use this model with your OmniaKey account.

Open generator

xAI

Grok Imagine Video 1.5

$1.00 / second

Published rates. Your final charge may vary by account, usage and additional fees.

Generation uses your account balance.

A little inspirationEXAMPLE ARTWORK

From a moment to a moving story

Start with your own idea or make this prompt yours.

Explore more prompts

01

Where it fits

Pick Grok Imagine Video 1.5 when you need a short clip from a prompt or a single first frame and want the cost to scale with clip length; step up to the Seedance, HappyHorse, or Wan 3.0 routes when you need audio, longer clips, or higher fidelity.

02

What it does

Text to video

grok-imagine-video-1.5

Generate a short video clip from a text prompt.

Image to video

grok-imagine-video-1.5

Animate a still image into a short video clip.

03

Call it

Media models run asynchronously. Create a task, poll it until it finishes, then download the signed asset URL.

Create, poll, download
# 1. Create the job. 202 Accepted; the body carries the task id,
#    the pre-charged price, and a poll_url. Reuse one Idempotency-Key
#    across retries so a timeout never starts a second paid job.
curl --fail-with-body https://api.omniakey.com/v1/media/tasks \
  -H "Authorization: Bearer $OMNIAKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: grok-imagine-video-1.5-001" \
  -d '{
    "model": "grok-imagine-video-1.5",
    "type": "video",
    "operation": "text_to_video",
    "input": {"prompt": "a paper boat on a quiet lake at sunset"},
    "parameters": {"duration": 6, "resolution": "720p"}
  }'

# 2. The same model id and the same poll loop serve the other operations:
#      image_to_video         media[] type "first_frame"
#    Reference media travel alongside the prompt:
#    {"prompt": "...", "media": [{"type": "first_frame", "url": "https://example.com/first-frame.png"}]}
#    A public HTTPS URL or a base64 data URI both work.

# 3. Poll GET /v1/media/tasks/{id} until status is
#    succeeded | failed | canceled. Progress carries percent and stage.
curl --fail-with-body https://api.omniakey.com/v1/media/tasks/TASK_ID \
  -H "Authorization: Bearer $OMNIAKEY_API_KEY"

# 4. Download assets[0].url before expires_at, or poll again for a
#    fresh signed URL. Failed and canceled jobs are refunded.
curl -sS -o out.mp4 "$(jq -r '.assets[0].url' result.json)"

04

Pricing

Video jobs are billed per second of rendered output, not per token. Failed or canceled jobs are refunded automatically.

Per second of output

$1.00per second

More models from xAI

Frequently asked questions

How do I call Grok Imagine Video 1.5 on OmniaKey?

POST to /v1/media/tasks with the model id, type "video", and operation "text_to_video" — or "image_to_video" with a first frame in input.media[] with type "first_frame". Reuse one Idempotency-Key across retries so a timeout never starts a second paid job.

What does Grok Imagine Video 1.5 cost?

Grok Imagine Video 1.5 bills $1.00 per second of rendered video. Creation pre-charges the requested duration up front from your prepaid balance, and failed or canceled jobs are refunded automatically.

Why does the API return a task id instead of the video?

Video renders take from about a minute to several minutes, so OmniaKey runs every video route through one asynchronous lifecycle. Poll GET /v1/media/tasks/{id} until the status is succeeded, then read the signed asset URL.