> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ninjachat.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Grok Imagine Video 1.5

> xAI's Grok Imagine Video 1.5.

<div className="ndoc-model-summary">
  <div className="ndoc-model-identity"><span className="ndoc-brand-mark">  <img src="https://cdn.photogenius.ai/new-ai-images/site/v1/landing/marks/marks/7b36c87c/xai.svg" alt="" width="32" height="32" /></span><div><strong>xAI</strong><code>grok-imagine-video-1.5</code></div></div>
  <div className="ndoc-model-stat"><span>Generation price</span><strong>\$1.20 per video</strong></div>
</div>

<div className="ndoc-capabilities" aria-label="Model capabilities">
  <span>Image reference</span>
</div>

## Pricing

| Unit      | Price  |
| :-------- | :----- |
| Per video | \$1.20 |

[Live pricing](https://www.ninjachat.ai/api/v1/models/grok-imagine-video-1.5).

## Use this model

Video is asynchronous: `videos.generate` returns a queued job, and `waitFor` / `wait_for` polls `GET /videos/{id}` until it completes. The SDK examples assume you have [created a server-side client](/sdks#create-a-client).

<CodeGroup>
  ```typescript TypeScript SDK theme={null}
  const job = await client.videos.generate({
    model: "grok-imagine-video-1.5",
    prompt: "A cinematic aerial push across a desert at blue hour",
  });
  const video = await client.videos.waitFor(job.id);

  console.log(video.video_url);
  ```

  ```python Python SDK theme={null}
  job = client.videos.generate(
      model="grok-imagine-video-1.5",
      prompt="A cinematic aerial push across a desert at blue hour",
  )
  video = client.videos.wait_for(job["id"])

  print(video["video_url"])
  ```

  ```bash cURL theme={null}
  curl https://www.ninjachat.ai/api/v1/videos \
    -H "Authorization: Bearer $NINJACHAT_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"model":"grok-imagine-video-1.5","prompt":"A cinematic aerial push across a desert at blue hour"}'

  # then poll until status is "completed"
  curl https://www.ninjachat.ai/api/v1/videos/$VIDEO_ID \
    -H "Authorization: Bearer $NINJACHAT_API_KEY"
  ```
</CodeGroup>

## Supported parameters

<div className="ndoc-parameters"><code>prompt</code><code>model</code><code>duration</code><code>aspect\_ratio</code><code>image\_url</code><code>reference\_images</code><code>reference\_video</code><code>reference\_audio</code><code>watermark</code></div>

<Accordion title="Check current availability and limits">
  ```typescript TypeScript SDK theme={null}
  const model = await client.models.retrieve("grok-imagine-video-1.5");

  if (!model.servable) throw new Error("grok-imagine-video-1.5 is temporarily unavailable");

  console.log({
    capabilities: model.capabilities,
    supportedParameters: model.supportedParameters,
    pricing: model.pricing,
    providers: model.providers,
  });
  ```
</Accordion>

**Guides:** [Video generation](/video-generation) · [Pricing](/pricing) · [All models](/models-overview)
