X AI Grok Imagine Video V1.5 Text To Video

X AI Grok Imagine Video V1.5 Text To Video

Playground

Try it on WaveSpeedAI!

xAI Grok Imagine Video v1.5 Text to Video turns natural-language prompts into short, stylized AI videos, with 480P, 720P, and 1080P output options plus selectable aspect ratios for social media clips, creative storytelling, concept videos, marketing content, and professional text-to-video workflows. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

xAI Grok Imagine Video V1.5 Text-to-Video generates short videos directly from a natural-language prompt. It is designed for prompt-driven motion generation, cinematic concept clips, stylized social media content, and other text-to-video creation workflows.


Why Choose This?

  • Prompt-only video generation Describe the scene, motion, and camera behavior in words and get a short video back — no input image required.

  • Fine motion and camera control Use text to direct subject motion, camera moves, atmosphere, and how the scene evolves over time.

  • Flexible output settings Choose 480p, 720p, or 1080p, pick an aspect ratio, and set the clip length.

  • Predictable short-form generation Works well for short clips that need quick iteration and clean prompt-to-video control.

  • Production-ready API Suitable for concept visualization, creator content, ads, and lightweight motion storytelling.


Parameters

ParameterRequiredDescription
promptYesText description of the desired video, motion, and scene.
durationNoOutput video duration in seconds. Range: 1-15. Default: 6.
aspect_ratioNoAspect ratio of the output video. Supported: 16:9, 1:1, 9:16, 3:2, 2:3. Default: 16:9.
resolutionNoOutput video resolution. Supported: 480p, 720p, 1080p. Default: 720p.

How to Use

  1. Write your prompt — describe the scene, subject motion, and camera behavior you want.
  2. Set duration (optional) — choose how long the video should be.
  3. Choose aspect ratio — match the target platform (e.g. 9:16 for vertical, 16:9 for landscape).
  4. Choose resolution — use 480p for lower cost, 720p for balance, or 1080p for maximum quality.
  5. Submit — run the model and download the generated video.

Example Prompt

A cinematic aerial shot slowly descending toward a neon-lit city street at night, rain-soaked pavement reflecting the lights, subtle camera drift, realistic motion, polished commercial style


Pricing

Pricing depends on output duration and resolution. There is no per-image charge.

ResolutionPrice per Second5s Example
480p$0.08$0.40
720p$0.14$0.70
1080p$0.25$1.25

Example Costs

Resolution1s5s10s15s
480p$0.08$0.40$0.80$1.20
720p$0.14$0.70$1.40$2.10
1080p$0.25$1.25$2.50$3.75

Billing Rules

  • 480p costs $0.08 per second
  • 720p costs $0.14 per second
  • 1080p costs $0.25 per second
  • Pricing scales linearly with duration
  • Billed duration is rounded up to the next whole second
  • Minimum billed duration is 1 second
  • Maximum billed duration is 15 seconds

Best Use Cases

  • Text-to-video generation — Turn a written idea into a short motion clip.
  • Social media content — Create lightweight animated visuals for posts and promos.
  • Concept visualization — Explore motion and mood directions from a description alone.
  • Advertising mockups — Produce quick animated concepts for campaigns.
  • Creative prototyping — Rapidly test prompt-driven motion ideas.

Pro Tips

  • Be specific about camera movement, subject motion, pacing, and atmosphere.
  • Match aspect_ratio to where the clip will be published.
  • Start with shorter durations for fast iteration, then scale up.
  • Use 480p for quick testing and 720p/1080p for final-quality clips.
  • Describe how the scene changes over time rather than only its static appearance.

Notes

  • prompt is required.
  • duration supports 1-15 seconds.
  • resolution defaults to 720p; aspect_ratio defaults to 16:9.
  • Pricing depends on duration and resolution, with no per-image surcharge.

  • xAI Grok Imagine Video v1.5 Image-to-Video — Animate an existing image instead of starting from text.
  • xAI Grok Imagine Video v1.5 Reference-to-Video — Guide generation with up to seven reference images.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result

set -euo pipefail

export WAVESPEED_API_KEY="your-api-key"

REQUEST_BODY=$(cat <<'JSON'
{
  "prompt": "A cinematic ocean wave at sunrise, highly detailed",
  "duration": 6,
  "aspect_ratio": "16:9",
  "resolution": "720p"
}
JSON
)

# 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 "Authorization: Bearer ${WAVESPEED_API_KEY}" \
  -H "Content-Type: application/json" \
  -d "${REQUEST_BODY}")

TASK=$(printf '%s' "${SUBMIT_RESPONSE}" | jq 'if type == "object" and has("data") then .data else . end')
PREDICTION_ID=$(printf '%s' "${TASK}" | jq -r '.id // empty')
if [ -z "${PREDICTION_ID}" ]; 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 type == "object" and has("data") then .data else . end')
  STATUS=$(printf '%s' "${RESULT}" | jq -r '.status // empty')

  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

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
promptstringYes-Text description of the desired video.
durationintegerNo61 ~ 15Output video duration in seconds.
aspect_ratiostringNo16:916:9, 1:1, 9:16, 3:2, 2:3Aspect ratio of the generated video.
resolutionstringNo720p720p, 480p, 1080pOutput video resolution.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayOutput values, usually URL strings; some models return text strings or structured result objects (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction
data.modelstringModel ID used for the prediction
data.outputsarray<string | object>Array of generated outputs (empty when status is not completed). Items are usually URL strings, but may be text strings or structured result objects, depending on the model.
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to poll for the prediction result
data.statusstringStatus: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2026 WaveSpeedAI. All rights reserved.