Grok Imagine Video 1.5 icon
Video by xAI

Grok Imagine Video 1.5 API

Animate any still into cinematic video with xAI's newest Grok Imagine model. A single REST endpoint, async jobs, and webhooks, with no separate xAI account to manage.

Integrate Grok Imagine Video 1.5 with a single API call — one key, one unified endpoint, and shared billing across every model on Apiframe.

model: "grok-imagine-video-1.5"

What's special about Grok Imagine Video 1.5

xAI's best motion yet

Version 1.5 is a step change over the original Grok Imagine Video on motion quality, physics, and temporal consistency, holding subjects steady through fast action and complex camera moves.

Built for image-to-video

It takes one source image as the opening frame and animates from there, so identity, styling, lighting, and brand colors survive the whole clip instead of drifting.

Synchronized audio in one pass

Music, sound effects, and ambience are generated alongside the frames, so you get a finished clip rather than a silent render waiting on an audio step.

Up to 15 seconds at 720p

Pick 6, 10, or 15 seconds per request. Leave the aspect ratio on auto to inherit your source image, or force any of the seven supported ratios for a specific placement.

Priced by the second, billed in credits

A 6-second clip is 144 credits, 10 seconds is 240, and 15 seconds is 360 — no xAI subscription, minimum spend, or separate invoice.

Same API as every other model

One endpoint, one key, one bill. Swap the model id to move between Grok Imagine Video 1.5, Veo, Kling, Sora, and the rest of the catalog without touching your integration.

Made with Grok Imagine Video 1.5

A few outputs generated through the Grok Imagine Video 1.5 API on Apiframe.

Animate this portrait, the subject smiles, looks to camera, and says a short greeting, soft studio light.

Slow push-in on this bottle as condensation forms, gentle rim light, light ambient sound.

Bring this landscape to life, wind through the grass, drifting clouds, birds crossing, natural ambience.

The figure turns and walks toward camera, dust kicking up, a low footstep rumble.

A crystal-powered rocket launches from this red desert planet, roaring engine audio, camera holds wide.

Animate this anime rooftop scene at sunset, hair in the breeze, soft city ambience.

Overview

Endpoint
POST /v2/videos/generate
Model ID
grok-imagine-video-1.5
Params key
grokImagineVideo15Params
Modality
Video
Provider
xAI
Avg. completion
~180s

Capabilities

Aspect ratiosauto, 1:1, 16:9, 9:16, 4:3, 3:4, 3:2, 2:3
Durations6s, 10s, 15s
Image inputSupported
Avg. time~180s

Quick start

Send a single POST /v2/videos/generate request with your API key to generate with Grok Imagine Video 1.5. The call returns a jobId you can poll or receive via webhook.

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": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
        "model": "grok-imagine-video-1.5",
        "grokImagineVideo15Params": {
            "image": "https://example.com/input.jpg"
        }
    }'
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": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
        "model": "grok-imagine-video-1.5",
        "grokImagineVideo15Params": {
            "image": "https://example.com/input.jpg"
        }
    },
)
print(response.json())  # { "jobId": "...", "status": "QUEUED" }
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": "a cinematic sunrise over a futuristic cityscape, smooth camera push-in",
    "model": "grok-imagine-video-1.5",
    "grokImagineVideo15Params": {
      "image": "https://example.com/input.jpg"
    }
  }),
});
const { jobId } = await response.json();
console.log(jobId);

Response & job lifecycle

Generation is asynchronous. A successful submission returns 202 Accepted with a jobId. Poll GET /v2/jobs/{id} (or supply a webhook_url) until the status is COMPLETED; the result field then holds the output URL(s).

1. Submission response (202)

{
  "jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
  "status": "QUEUED"
}

2. Poll for the result

curl https://api.apiframe.ai/v2/jobs/JOB_ID \
  -H "X-API-Key: afk_your_api_key_here"
import requests, time

while True:
    job = requests.get(
        "https://api.apiframe.ai/v2/jobs/JOB_ID",
        headers={"X-API-Key": "afk_your_api_key_here"},
    ).json()
    if job["status"] in ("COMPLETED", "FAILED"):
        break
    time.sleep(2)
print(job["result"])
let job;
do {
  await new Promise((r) => setTimeout(r, 2000));
  job = await fetch("https://api.apiframe.ai/v2/jobs/JOB_ID", {
    headers: { "X-API-Key": "afk_your_api_key_here" },
  }).then((r) => r.json());
} while (job.status !== "COMPLETED" && job.status !== "FAILED");
console.log(job.result);

Input schema

Request parameters accepted by the Grok Imagine Video 1.5 endpoint. Model-specific options are nested under the params object shown below.

Parameter Type Required Default Allowed / range Description
prompt string required Text description of what to generate.
model string required "grok-imagine-video-1.5" "grok-imagine-video-1.5" The model identifier for this endpoint.
grokImagineVideo15Params.image string (URL) optional Required. The still that gets animated; also sets the output aspect ratio.

Frequently Asked Questions

Common questions about the Grok Imagine Video 1.5 API.

What is Grok Imagine Video 1.5?

xAI's newest Grok Imagine video model, built on the Aurora engine. It animates a source image into video with better motion, physics, and temporal consistency than the original Grok Imagine Video.

How is it different from Grok Imagine Video?

Version 1.5 is image-to-video only and costs more per second, but delivers noticeably better motion and physics. The original model still handles text-only prompts and multi-image reference sets, and is cheaper for drafts.

Does it need a source image?

Yes. Every request takes an image URL alongside the prompt — the image becomes the opening frame and, unless you override the aspect ratio, sets the output shape.

How long are the clips and what resolution?

Choose 6, 10, or 15 seconds. Output is 720p.

Does it generate audio?

Yes. Synchronized audio — music, sound effects, and ambience — is produced in the same pass as the video.

What does it cost?

144 credits for 6 seconds, 240 for 10 seconds, and 360 for 15 seconds, drawn from the same balance as every other Apiframe model.

Still have questions?

Start building with the Grok Imagine Video 1.5 API

Get your API key and integrate Grok Imagine Video 1.5 in minutes — Pay-as-you-go.

Free credits to start
One API for every model
Webhooks, SDKs & idempotency
No provider account required

Questions? Join our Discord or contact sales.