Creating Grok Imagine Videos: Length, Cost and API (2026)
Unicorn API Team · · 10 min read
Grok Imagine videos are short clips made by xAI’s Grok Imagine models, either from a text prompt or by animating a still image. You can make them in the Grok app on X or call the models through an API, where you control the length, resolution and aspect ratio directly. This post covers what the two video models do, how long clips can be, what each second costs, and a working pipeline you can copy.
What are Grok Imagine videos?
Grok Imagine is xAI’s family of generative media models. It started as an image generator inside the Grok chatbot and grew into a video generator. People use Grok Imagine videos mostly for social content: short loops, animated memes, product teasers and moving versions of photos.
The models can be called in two ways:
- Text-to-video: you describe a scene and the model generates the whole clip, including the first frame.
- Image-to-video: you supply a start frame (the first image of the clip) and a prompt describing the motion. The model keeps the look of your image and animates it.
Image-to-video gives you much more control. You pick the composition, the subject and the style in the still image, which is cheap to iterate on. Then you only pay video prices once you have a frame you like. Most of the good Grok Imagine videos you see shared on Reddit and X were made this way.
In the Grok app the model choice, length caps and free allowance are set by xAI and change often. Through an API you choose the model version and every parameter yourself. On Unicorn API there are three Grok models that matter here:
- Grok Imagine Video 1.5: image-to-video only, 1 to 15 seconds, strong motion quality at a very low cost per second.
- Grok Imagine Video 1.0: text-to-video or image-to-video, 6 to 30 seconds, at the same per-second rate.
- Grok Imagine (image): generates start frames, returning 6 variations per text prompt.
Grok Imagine Video 1.0 vs 1.5: which should you use?
The two versions cost the same per second, so the choice comes down to what you are feeding in and how long the clip needs to be.
| Grok Imagine Video 1.5 | Grok Imagine Video 1.0 | |
|---|---|---|
| Model ID | grok-imagine-video-1-5-preview | grok-imagine/image-to-video |
| Input | Image-to-video only (start frame required) | Text-to-video or image-to-video |
| Duration | 1 to 15 seconds | 6 to 30 seconds |
| Resolutions | 480p, 720p, 1080p | 480p, 720p, 1080p |
| Aspect ratios | auto, 1:1, 16:9, 9:16, 3:2, 2:3 | 1:1, 16:9, 9:16, 3:2, 2:3 |
| Cost per second | 2.4 / 4.5 / 8 credits | 2.4 / 4.5 / 8 credits |
| Caveat | Can be busy at peak times | No clips under 6 seconds |
A simple rule:
- Use 1.5 when you have a start frame and need a clip of 15 seconds or less. It has the better motion quality, and the 1-second minimum makes it cheap to test motion prompts.
- Use 1.0 when you want pure text-to-video, when you need 16 to 30 seconds in one generation, or as a fallback when 1.5 is queued at peak times.
The auto aspect ratio on 1.5 is handy. It matches the shape of your start frame, so a portrait image gives you a portrait clip without extra settings.

How long can Grok Imagine videos be?
This is the question people ask most, usually phrased as “what is the video length limit for SuperGrok”. Inside the Grok app the cap depends on your plan and on whatever xAI has shipped that month. Reddit threads about getting 15-second clips are mostly about app limits that have since changed. Check the app for your account’s current cap.
Through an API the limit belongs to the model, not to a subscription:
- Grok Imagine Video 1.5: any whole number of seconds from 1 to 15.
- Grok Imagine Video 1.0: any whole number of seconds from 6 to 30.
You set the length with the duration field. If you need something longer than 30 seconds, generate several clips and join them in an editor. The trick is to use the last frame of one clip as the start frame of the next, which keeps the subject and lighting consistent across the cut.
Picking a length
Longer is not automatically better. Short clips (3 to 6 seconds) usually hold together best, because the model has less time to drift away from your start frame. For social loops, 5 to 8 seconds is a comfortable range. Save the 15 and 30-second options for slow, continuous shots like drone flyovers or ambient scenes, where a bit of drift does no harm.
How much do Grok Imagine videos cost?
Both video models charge a flat rate per second that depends only on resolution. On Unicorn API one credit costs $0.01 on a monthly plan (Starter $25, Creator $50, Studio $100, Pro $200 per month). Top-up credits cost $0.015 each and never expire. See pricing for the plan details.
| Resolution | Credits per second | 6 s clip | 10 s clip | 15 s clip | 30 s clip (1.0 only) |
|---|---|---|---|---|---|
| 480p | 2.4 | 14.4 (billed 15) | 24 | 36 | 72 |
| 720p | 4.5 | 27 | 45 | 67.5 (billed 68) | 135 |
| 1080p | 8 | 48 | 80 | 120 | 240 |
Every price is rounded up to whole credits, so odd durations at 480p and 720p cost a fraction more than the raw per-second maths suggests. A 3-second 720p clip is 13.5 credits, billed as 14.
In dollars on a monthly plan: a 6-second 720p clip costs $0.27, a 10-second 720p clip $0.45, and a 15-second 1080p clip $1.20. With top-up credits, multiply by 1.5.
Start frames and upscaling
Two other costs fit into a typical workflow:
- Start frames: a default Grok Imagine image request costs 4 credits and returns 6 variations to choose from (2 when you attach reference images). Setting
nmultiplies the price. - Upscaling: Grok Imagine Upscale takes the
task_idof an earlier Grok generation and aresolution. It costs 10 credits for 720p and 20 credits for 1080p per video.
Upscaling opens up a cheaper path to 1080p. A 5-second clip generated natively at 1080p costs 40 credits. The same clip drafted at 480p (12 credits) and upscaled to 1080p (20 credits) costs 32. For 10 seconds the gap is wider: 80 credits native against 24 plus 20, so 44. The trade-off is that upscaling sharpens the pixels you already have but does not add detail the 480p generation never had. Test both on your own content before you pick one. Check the model page for which jobs the upscaler accepts.
You never have to guess. POST /v1/models/price returns the exact credit cost of any request before you run it, which is useful when you let users choose duration and resolution in your own app. The API documentation shows the request shape.
How to make Grok Imagine videos with the API
The reliable workflow has two stages: generate a start frame with an image model, then animate it with image-to-video. Media jobs on Unicorn API are asynchronous. You create a job with POST /v1/jobs, poll GET /v1/jobs/{id} until the status is "succeeded", and then read the file URL from outputs[0].url.
Create a key on the API keys page and export it as UNICORN_API_KEY. Then:
import os
import time
import requests
API = "https://api.unicornapi.net"
HEADERS = {"Authorization": f"Bearer {os.environ['UNICORN_API_KEY']}"}
def run_job(model, input_, poll_seconds=5):
"""Create a media job and wait for it to finish."""
r = requests.post(f"{API}/v1/jobs", headers=HEADERS,
json={"model": model, "input": input_})
r.raise_for_status()
job_id = r.json()["id"]
while True:
r = requests.get(f"{API}/v1/jobs/{job_id}", headers=HEADERS)
r.raise_for_status()
job = r.json()
if job["status"] == "succeeded":
return job
if job["status"] in ("failed", "canceled"):
raise RuntimeError(f"{model} job {job_id} ended as {job['status']}")
time.sleep(poll_seconds)
# Stage 1: start frame. One default request returns 6 variations.
frame_job = run_job("grok-imagine", {
"prompt": "A ceramic coffee cup on a wooden cafe table by a rainy window, "
"steam rising, warm morning light, shallow depth of field",
"aspect_ratio": "9:16",
})
for i, out in enumerate(frame_job["outputs"]):
print(f"variation {i}: {out['url']}")
frame_url = frame_job["outputs"][0]["url"] # pick the one you like
# Stage 2: animate it. 6 s at 720p = 27 credits.
video_job = run_job("grok-imagine-video-1-5-preview", {
"image": frame_url,
"prompt": "Steam curls slowly upward, raindrops run down the window, "
"camera pushes in gently toward the cup",
"duration": 6,
"resolution": "720p",
"aspect_ratio": "auto",
})
print("video:", video_job["outputs"][0]["url"])
For pure text-to-video, or for a clip longer than 15 seconds, switch to Video 1.0 and drop the image:
curl -X POST https://api.unicornapi.net/v1/jobs \
-H "Authorization: Bearer $UNICORN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-imagine/image-to-video",
"input": {
"prompt": "A slow drone shot over a rocky coastline at sunset, waves breaking",
"duration": 20,
"resolution": "720p",
"aspect_ratio": "16:9"
}
}'
# Poll with the id from the response
curl https://api.unicornapi.net/v1/jobs/JOB_ID \
-H "Authorization: Bearer $UNICORN_API_KEY"
That 20-second 720p clip costs 90 credits. Both video models also accept a mode field. Its accepted values are listed on each model page, so check there rather than guessing.
If you would rather try prompts by hand first, the browser playground runs the same models without code. If you work in Cursor or Claude Code, the MCP setup lets your agent call these models directly.

A worked example: one week of social clips
Say you need two finished vertical clips for a product launch and want room to experiment:
- Start frames: four Grok Imagine requests at 4 credits each give you 24 variations. That is 16 credits.
- Motion drafts: ten 5-second tests at 480p on Video 1.5, 12 credits each. That is 120 credits.
- Finals: two 10-second clips at 1080p, 80 credits each. That is 160 credits.
The total is 296 credits, or $2.96 on a monthly plan. Drafting at 480p is the step that saves money. You find the motion prompt that works at less than a third of the 1080p price, then spend real credits only on the winners.
Prompting tips for image-to-video
A start frame already defines what the scene looks like, so the video prompt should describe what changes. This is where most weak Grok Imagine videos go wrong: the prompt re-describes the picture instead of directing the motion.
- Describe motion, not appearance. “Steam rises, camera pushes in” beats “a beautiful coffee cup in a cafe”.
- Name one camera move. Slow push-in, pan left, orbit, static tripod. Mixing several moves in one short clip usually produces wobble.
- Give the subject a small action. Hair moving in wind, a head turn, a hand lifting a cup. Big actions like running or dancing are where anatomy breaks.
- Match the duration to the action. A head turn needs 2 to 3 seconds, not 15. Asking for long clips with little happening invites the model to invent movement.
- Build start frames for motion. Leave space in the direction the camera will move, and avoid cropping limbs at the frame edge.
Choosing the image model for start frames
Grok Imagine is the natural choice because six variations per request gives you lots to pick from. Two alternatives are worth knowing:
- GPT Image 1.5 renders legible text well (3 credits at low quality, 4 at medium, 22 at high). Use it when the frame needs a sign, label or headline.
- Nano Banana 2 Lite costs 4 credits, accepts up to 10 reference images and supports 21:9 and 4:3. It suits keeping a product or character consistent across many frames.
Video 1.5 does not care which model made the image, so mix freely. For a wider look at other video models, see our roundup of Grok Imagine alternatives and the breakdown of the Grok AI video generator’s cost per second.
Spicy mode, free access and what Reddit asks about
Grok Imagine spicy mode
Spicy mode is a setting in the Grok app that relaxes some content filters for more adult output. It has drawn criticism, especially over misuse with images of real people. The API models have no “spicy” switch among their input fields, and API requests follow the provider’s content policies. Whatever tool you use, do not animate real, identifiable people without their consent. In many places that is a legal problem, not just a policy one.
Is Grok Imagine no longer free?
Free access in the app has expanded and contracted several times, and a steady stream of Reddit posts comes from people whose free generations disappeared or hit rate limits. That is xAI’s call and it may change again. API access is paid per request and priced up front, which is often cheaper than a subscription if you generate in bursts rather than every day.
Other recurring Reddit questions
- “How do I get longer clips?” Through the API, set
durationup to 15 on 1.5 or up to 30 on 1.0, and chain clips by last frame beyond that. - “Why does my video ignore the prompt?” Usually because the prompt fights the start frame. Change the image, not just the words.
- “Why are funny Grok Imagine videos so short?” Comedic timing works best in 3 to 6 seconds, and short clips also drift less.
Common mistakes when generating Grok Imagine videos
- Sending a prompt with no image to Video 1.5. It is image-to-video only. Include the
imagefield, or use Video 1.0 for text-to-video. - Asking Video 1.0 for under 6 seconds. Its minimum is 6. Use 1.5 for 1 to 5-second clips.
- Drafting at 1080p. It costs more than 3x the 480p rate per second. Draft low, finalise high, or upscale.
- Forgetting the rounding. Prices round up to whole credits per output, so many tiny 480p clips cost slightly more than the per-second figure suggests.
- Mismatched aspect ratios. A 16:9 start frame forced into 9:16 gets cropped or distorted. Use
autoon 1.5, or generate the frame in the target shape. - Not handling failed jobs. Poll loops should stop on a failed status and retry, and fall back to 1.0 if 1.5 is busy at peak times.
- Hard-coding prices in your app. Call
POST /v1/models/priceso the cost shown to your users always matches what they will be charged.
Grok Imagine videos reward a simple discipline: strong start frames, motion-only prompts, cheap drafts and expensive finals. With one API key you can run that whole pipeline, swap image models freely, and see what every clip costs before it renders. Browse the full model catalog when you want to compare Grok against other video models on the same bill.
Frequently asked questions
Does Grok Imagine make videos?
Yes. Grok Imagine makes both images and short videos. In the Grok app you can animate an image or generate a clip from a prompt. Through an API there are two video models. Grok Imagine Video 1.0 handles text-to-video and image-to-video for 6 to 30 seconds. Grok Imagine Video 1.5 is image-to-video only and runs 1 to 15 seconds. Both offer 480p, 720p and 1080p.
What is the video length limit for SuperGrok?
xAI has changed the limits inside the Grok app several times, so the app itself is the only reliable place to check your plan's current cap. Through an API the limit belongs to the model, not to a subscription. Grok Imagine Video 1.0 accepts 6 to 30 seconds and Grok Imagine Video 1.5 accepts 1 to 15 seconds. You set the length with the duration field and pay per second.
How can I create a video using images?
Use image-to-video. Start with a still image, either your own or one generated with an image model such as Grok Imagine. Send it as the image field to Grok Imagine Video 1.5 or 1.0, along with a prompt that describes the motion, plus a duration and a resolution. The job runs asynchronously. Poll it until the status is succeeded, then download the video URL from the outputs.
Is SuperGrok worth it for image generation?
A subscription is worth it if you generate inside the Grok app every day and like that workflow. If you want to build images into a product, script batches, or compare Grok against other models, pay-per-use credits usually fit better. On Unicorn API a default Grok Imagine image request costs 4 credits, which is $0.04 on a monthly plan, and you only pay for what you run.
Is there a Grok Imagine API?
Yes. Grok Imagine image and video models are available programmatically. On Unicorn API you send a POST request to /v1/jobs with the model ID, for example grok-imagine-video-1-5-preview, plus an input object. Then you poll GET /v1/jobs/{id} until the status is succeeded. One API key covers Grok and every other image, video, audio and chat model, all billed in credits.
Is Grok Imagine no longer free?
Free access in the Grok app has expanded and shrunk over time, and many Reddit threads come from people whose free generations disappeared or got rate limited. Check the app for the current state. API access has never been free. It is billed per request, and on Unicorn API you can see the exact credit cost of any Grok Imagine job before you run it.