Seedream 5.0 Pro is LIVE | Try in Image Generator →
xAI·video·From $0.080/run

Grok Imagine Video 1.5 API

xAI Grok Imagine Video 1.5 — fast text-to-video up to 1080p, image-to-video, and reference-to-video from up to seven reference images with identity-consistent output and selectable aspect ratios.

Three endpoints: text-to-video with 480p, 720p, and 1080p output options, image-to-video at 480p and 720p guided by a text prompt, and reference-to-video that turns up to seven reference images into a short identity-consistent clip.

About the Grok Imagine Video 1.5 API

What Grok Imagine Video 1.5 does, how it fits in the xAI model lineup, and why teams reach for it.

Grok Imagine Video 1.5 is a video generation model from xAI, available through the WaveSpeedAI REST API. xAI Grok Imagine Video 1.5 — fast text-to-video up to 1080p, image-to-video, and reference-to-video from up to seven reference images with identity-consistent output and selectable aspect ratios.

Three endpoints: text-to-video with 480p, 720p, and 1080p output options, image-to-video at 480p and 720p guided by a text prompt, and reference-to-video that turns up to seven reference images into a short identity-consistent clip.

The Grok Imagine Video 1.5 family on WaveSpeedAI ships 3 REST endpoints covering Image-To-Video, Text-To-Video workflows. Each variant carries its own pricing, parameter knobs, and example outputs — pick the one that matches your input modality and production constraints, or call several from the same API key to compose multi-step pipelines.

Run Grok Imagine Video 1.5 through the same API key, billing account, and rate-limit envelope you use for the other 1,000+ AI models on WaveSpeedAI. No separate vendor setup, no per-provider SDKs, no per-vendor rate-limit envelopes — one integration covers everything from text-to-image and text-to-video through audio synthesis, 3D generation, upscaling, and editing.

All Grok Imagine Video 1.5 API endpoints

3 Grok Imagine Video 1.5 endpoints available now on WaveSpeedAI — pick the variant that matches your workflow.

See Grok Imagine Video 1.5 in action

Real outputs generated by the Grok Imagine Video 1.5 API. Hover any video to preview, click to open the full-size viewer.

How to use the Grok Imagine Video 1.5 API

Four steps from signup to a finished generation. Full Python, Node.js, and cURL examples are in the API section below.

  1. 1

    Get an API key

    Sign up for a WaveSpeedAI account and copy your API key from the dashboard. New accounts come with free starter credits — enough to run the playground a few dozen times before billing kicks in.

  2. 2

    Submit a prediction

    POST your input as JSON to https://api.wavespeed.ai/api/v3/x-ai/grok-imagine-video-v1.5/text-to-video. The endpoint returns a prediction id immediately — generations are async so you don't hold an open connection during inference.

  3. 3

    Poll for completion

    GET https://api.wavespeed.ai/api/v3/predictions/{request_id}/result. Start around every 2 seconds, then increase toward 5-10 seconds for long-running tasks to reduce unnecessary requests. Stop on completed, failed, cancelled, or timeout.

  4. 4

    Read the output URL

    Once status is"completed", read the URL from data.outputs[0]. The URL points to your generated media on the WaveSpeedAI CDN — image, video, audio, or 3D file depending on the Grok Imagine Video 1.5 variant you called.

What you can build with Grok Imagine Video 1.5

Common workflows developers and creators use the Grok Imagine Video 1.5 API for.

Text-to-video up to 1080p

x-ai/grok-imagine-video-v1.5/text-to-video turns a natural-language prompt into a short, stylized video with 480p, 720p, and 1080p output options and selectable aspect ratios — the only v1.5 variant with a 1080p tier.

text-to-video1080pstylized

Image-to-video from a fixed frame

x-ai/grok-imagine-video-v1.5/image-to-video turns a reference image into a short video guided by a text prompt, with 480p and 720p output options — use it when the starting frame is fixed and the prompt directs the motion.

image-to-videoprompt-guided720p

Reference-to-video with up to seven images

x-ai/grok-imagine-video-v1.5/reference-to-video turns up to seven reference images into a short, prompt-guided video with identity-consistent output — the variant for character-driven clips where referenced subjects must stay recognizable.

referenceidentityseven-images

Social media clips and marketing videos

The catalog positions all three v1.5 variants for social media clips, marketing content, and creative storytelling — fast generation suits high-volume short-form pipelines where turnaround matters.

socialmarketingshort-form

Character-driven storytelling

Combine reference-to-video's identity consistency with prompt guidance for character-driven clips and creative storytelling — keep the same subject recognizable across a series of generated shots.

characterstorytellingconsistency

Aspect-ratio control up front

Text-to-video and reference-to-video expose selectable aspect ratios, so delivery format is set at generation time instead of cropping or re-encoding afterwards.

aspect-ratiodeliveryformats

Tips for prompting Grok Imagine Video 1.5

Practical advice for getting better outputs from Grok Imagine Video 1.5 — drawn from the patterns that work across video models in production pipelines.

Be specific about camera moves

Mention concrete cinematography vocabulary — orbit, dolly-in, push-in, pan-left, crane shot, handheld follow. Generic prompts produce static or arbitrary camera choices; named camera moves map directly to motion intent in the model's training data and dramatically improve shot quality.

Anchor character identity with reference images

If your prompt depends on a specific person, character, or product, upload a reference image alongside the prompt. Without a reference, identity drifts across frames and across shots — the same character ends up looking like a slightly different person each generation.

Describe lighting and time of day

Lighting cues like 'golden hour, soft warm directional light' or 'overcast diffused light, slate-grey sky' improve quality and consistency far more than vague quality modifiers. Lighting is one of the strongest priors the model conditions on.

Use negative prompts to suppress common failure modes

Useful negatives for video: 'frame flicker, motion blur, watermark, text artifacts, distorted hands, low resolution, jpeg compression'. Negative prompts cost nothing and noticeably reduce the rate of generations you'd otherwise re-roll.

Pick the shortest duration that captures your beat

Most prompts work best at 5-8 seconds. Longer clips amplify temporal inconsistencies (subject morphing, environment drift). If you need a 20-second sequence, generate three 6-8 second clips and edit them together — quality stays higher than one long generation.

Match aspect ratio to platform up front

9:16 for TikTok / Reels / Shorts, 16:9 for landscape feeds and YouTube, 1:1 for post grids. Models train slightly differently per aspect ratio — cropping a 16:9 to 9:16 after the fact loses both fidelity and the composition the model intended.

Grok Imagine Video 1.5 API pricing

Pricing is per-output. The final charge scales with the parameters you set in each variant's playground (resolution, duration, output count, references).

Call the Grok Imagine Video 1.5 API

Sign up for an API key at wavespeed.ai/accesskey, then submit a prediction via REST. The playground generates ready-to-paste samples for any combination of inputs.

HTTP example
# 1. Submit the prediction.
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
  -X POST "https://api.wavespeed.ai/api/v3/x-ai/grok-imagine-video-v1.5/text-to-video" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $WAVESPEED_API_KEY" \
  -d '{}')

TASK=$(printf '%s' "$SUBMIT_RESPONSE" | jq 'if has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "$TASK" | jq -r '.id')
if [ -z "$PREDICTION_ID" ] || [ "$PREDICTION_ID" = "null" ]; then
  printf 'Submission response did not contain a prediction id
' >&2
  exit 1
fi
RESULT_URL=$(printf '%s' "$TASK" | jq -r '.urls.get // empty')
if [ -z "$RESULT_URL" ]; then
  RESULT_URL="https://api.wavespeed.ai/api/v3/predictions/$PREDICTION_ID/result"
fi

# 2. Poll until the prediction finishes.
while true; do
  RESPONSE=$(curl --silent --show-error --fail-with-body "$RESULT_URL" \
    -H "Authorization: Bearer $WAVESPEED_API_KEY")
  RESULT=$(printf '%s' "$RESPONSE" | jq 'if has("data") then .data else . end')
  STATUS=$(printf '%s' "$RESULT" | jq -r '.status')
  case "$STATUS" in
    completed) printf '%s\n' "$RESULT" | jq '.outputs'; break ;;
    failed|cancelled|timeout) printf '%s\n' "$RESULT" | jq . >&2; exit 1 ;;
    created|processing) sleep 2 ;;
    *) printf 'Unexpected status: %s
' "$STATUS" >&2; exit 1 ;;
  esac
done
Node.js example
const submitUrl = "https://api.wavespeed.ai/api/v3/x-ai/grok-imagine-video-v1.5/text-to-video";
const apiKey = process.env.WAVESPEED_API_KEY;
if (!apiKey) throw new Error('Set WAVESPEED_API_KEY');

async function requestJson(url, options = {}) {
  const response = await fetch(url, options);
  if (!response.ok) throw new Error(await response.text());
  return response.json();
}

// 1. Submit the prediction.
const body = await requestJson(submitUrl, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({}),
});
const task = body.data ?? body;
const resultUrl = task.urls?.get ||
  `https://api.wavespeed.ai/api/v3/predictions/${task.id}/result`;

// 2. Poll until the prediction finishes.
while (true) {
  const resultBody = await requestJson(resultUrl, {
    headers: { "Authorization": `Bearer ${apiKey}` },
  });
  const result = resultBody.data ?? resultBody;
  if (result.status === "completed") {
    console.log(result.outputs);
    break;
  }
  if (["failed", "cancelled", "timeout"].includes(result.status)) throw new Error(JSON.stringify(result));
  if (!["created", "processing"].includes(result.status)) throw new Error("Unexpected status: " + result.status);
  await new Promise(resolve => setTimeout(resolve, 2000));
}
Python example
import json
import os
import time
from urllib.request import Request, urlopen

api_key = os.environ["WAVESPEED_API_KEY"]
headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
payload = {}

def request_json(url, data=None):
    request = Request(url, data=data, headers=headers, method="POST" if data else "GET")
    with urlopen(request) as response:
        return json.load(response)

# 1. Submit the prediction.
body = request_json("https://api.wavespeed.ai/api/v3/x-ai/grok-imagine-video-v1.5/text-to-video", json.dumps(payload).encode())
task = body.get("data", body)
result_url = task.get("urls", {}).get("get") or f"https://api.wavespeed.ai/api/v3/predictions/{task['id']}/result"

# 2. Poll until the prediction finishes.
while True:
    result_body = request_json(result_url)
    result = result_body.get("data", result_body)
    status = result.get("status")
    if status == "completed":
        print(result.get("outputs", []))
        break
    if status in {"failed", "cancelled", "timeout"}:
        raise RuntimeError(result)
    if status not in {"created", "processing"}:
        raise RuntimeError(f"Unexpected status: {status}")
    time.sleep(2)

Grok Imagine Video 1.5 vs alternatives

When to pick Grok Imagine Video 1.5 over similar models on WaveSpeedAI.

Grok Imagine Video 1.5 vs Grok Imagine Video

The original Grok Imagine Video family ships five endpoints including video-extend and edit-video with synchronized audio on generation variants. v1.5 is the newer fast generation focused on text-to-video (with a 1080p option), image-to-video, and reference-to-video from up to seven reference images.

Grok Imagine Video 1.5 vs Seedance 2.0

Seedance 2.0 ships native audio across every tier plus Fast/Standard/Turbo pricing tiers and a dedicated video-edit endpoint. Grok Imagine Video 1.5 focuses on fast stylized generation with a seven-image reference-to-video variant under xAI's Grok branding.

Grok Imagine Video 1.5 vs Wan 2.6

Wan 2.6 adds synced audio, video-extend, and image-edit variants in the same family for broader pipelines. Grok Imagine Video 1.5 keeps a compact three-endpoint surface — text, image, and multi-reference input — optimized for fast turnaround.

Grok Imagine Video 1.5 API — Frequently asked questions

Pricing, license, integration — common questions about running Grok Imagine Video 1.5 on WaveSpeedAI.

What is the Grok Imagine Video 1.5 API?

Grok Imagine Video 1.5 is a xAI video generation model exposed as a REST API on WaveSpeedAI. xAI Grok Imagine Video 1.5 — fast text-to-video up to 1080p, image-to-video, and reference-to-video from up to seven reference images with identity-consistent output and selectable aspect ratios. You can call it programmatically or try it from the playground linked above.

How do I call the Grok Imagine Video 1.5 API?

Sign up for a WaveSpeedAI account, copy your API key from /accesskey, then POST to https://api.wavespeed.ai/api/v3/x-ai/grok-imagine-video-v1.5/text-to-video with your input as JSON. The endpoint returns a prediction id. Poll the result endpoint starting around every 2 seconds, increase the interval for long-running tasks, and stop on any terminal status. Production-oriented Python / Node.js / cURL examples are above.

How much does the Grok Imagine Video 1.5 API cost?

Grok Imagine Video 1.5 starts at $0.080 per run. The exact cost scales with the parameters you set (resolution, duration, output count, references). The live cost preview next to the Generate button in the playground shows the exact price for your current input.

Which Grok Imagine Video 1.5 variants are available?

WaveSpeedAI hosts 3 live Grok Imagine Video 1.5 endpoints: x-ai/grok-imagine-video-v1.5/reference-to-video, x-ai/grok-imagine-video-v1.5/text-to-video, x-ai/grok-imagine-video-v1.5/image-to-video. Each variant has its own playground page and pricing.

Can I use Grok Imagine Video 1.5 outputs commercially?

Commercial usage rights follow the xAI model license. Most xAI models permit commercial output use; see each model's playground page for the specific license summary, and WaveSpeedAI's Terms of Service for platform-level conditions.

Why use Grok Imagine Video 1.5 on WaveSpeedAI instead of going direct?

One API key + one billing account across Grok Imagine Video 1.5 AND 1,000+ other AI models from other providers. No per-vendor SDK setup, no separate rate-limit envelopes, no rewrite-per-vendor integration code. Pricing is typically at parity with or below xAI's direct API.

About xAI

The team behind Grok Imagine Video 1.5 and the broader xAI model lineup on WaveSpeedAI.

xAI is Elon Musk's AI company, shipping Grok models for chat, reasoning, and multimodal generation. Grok Imagine Video covers text-to-video, image-to-video, reference-to-video, video-extend, and edit-video with customizable duration, aspect ratio, and resolution — available through WaveSpeedAI's unified API alongside models from every major provider.

Start building with Grok Imagine Video 1.5 on WaveSpeedAI

Free starter credits on signup. One API key across 1,000+ AI models from xAI and every other provider.