xai/grok-imagine-v1.5/text-to-video
xai-grok-imagine-v1-5-text-to-video-economy
Parameters
Request preview
{
"model": "xai-grok-imagine-v1-5-text-to-video-economy",
"input": {
"aspectRatio": "2:3",
"resolution": "720p",
"duration": 6
}
}The web playground sends this body with your signed-in session. From code, send the same body with an API key.
Estimated charge
Loading price…
Credits are reserved when a task is accepted and charged only on success. Failed tasks release the reservation; unconfirmed outcomes remain reserved until verified.
What it does
Leveraging xAI’s advanced reasoning capabilities, it excels at translating intricate prompts into visually stunning, logically coherent narratives. The model demonstrates superior performance in managing cinematic camera movements and complex physical interactions, ensuring that every frame adheres to realistic physics and lighting. It is designed for creators who demand high-precision storytelling and unparalleled visual fidelity without semantic loss.
Input parameters
Only the fields this model accepts. Required fields must be provided.
| Field | Type | Required | Default | Allowed values and constraints |
|---|---|---|---|---|
prompt | string | required | — | 1–20000 chars |
aspectRatio | string | required | "2:3" | One of: |
resolution | string | required | "720p" | One of: |
duration | integer | required | 6 | Video duration (seconds), range 6-15s 6–15 |
Limits and behaviour
- Asynchronous only: submit a task, then poll for the result.
- prompt: 1–20000 chars
- duration: 6–15
Endpoint
All models share one asynchronous job API. This model is selected by its slug.
POST https://api.hermes-ai.net/api/v1/jobs
{
"model": "xai-grok-imagine-v1-5-text-to-video-economy",
"input": {
"prompt": "A lighthouse on a rocky coast at sunrise, soft light",
"aspectRatio": "2:3",
"resolution": "720p",
"duration": 6
}
}Then poll GET /api/v1/jobs/{id} until the status is terminal.
Authentication
Send an API key with the jobs:create scope to submit and jobs:read to poll.
| Header | Value | Notes |
|---|---|---|
Authorization | Bearer <API key> | Or send the key in x-api-key. |
Content-Type | application/json | |
Idempotency-Key | <unique string ≤128> | Required. Reuse it only to retry the identical request. |
Request body
| Field | Type | Required | Notes |
|---|---|---|---|
model | string | required | Model slug from the catalog. |
input | object | required | Fields from the model's input schema. |
expectedPriceMicros | integer | optional | Price you showed the user. A mismatch returns 409 PRICE_CHANGED before any charge. |
input fields
Unknown fields are rejected with INVALID_MODEL_INPUT.
| Field | Type | Required | Default | Allowed values and constraints |
|---|---|---|---|---|
prompt | string | required | — | 1–20000 chars |
aspectRatio | string | required | "2:3" | One of: |
resolution | string | required | "720p" | One of: |
duration | integer | required | 6 | Video duration (seconds), range 6-15s 6–15 |
Response
202 for a new task, 200 when an Idempotency-Key replay matches. GET /api/v1/jobs/{id} returns the same shape without replayed.
| Field | Type | Notes |
|---|---|---|
id | string | Hermes AI task ID. Use it to poll. |
model | string | Model slug. |
status | string | See task statuses. |
errorCode | string | null | Set when a task fails or needs review. |
priceMicros | integer | Quote fixed at admission, USD micro-units. |
currency | "USD" | |
createdAt / updatedAt | string | ISO 8601 timestamps. |
assets[] | array | { id, type, url?, text? }. url is a same-origin /api/v1/results/<uuid> link. |
replayed | boolean | Submit only. true when an idempotent retry matched. |
Task statuses
| Status | Terminal | Meaning |
|---|---|---|
queued | no | Accepted and waiting for a worker. |
submitting | no | Being sent to the model provider. |
running | no | The model is generating. |
succeeded | yes | Finished. Results are in assets. |
failed | yes | Finished without a result. The hold is released. |
reconciliation_required | yes | The result is being verified. Keep the task ID and do not resubmit automatically. |
Errors
Every error body is { code, error }. Handle by code.
| HTTP | Code | Meaning and action |
|---|---|---|
401 | AUTH_REQUIRED | Missing or invalid API key or session. |
403 | INSUFFICIENT_SCOPE | The API key lacks the scope this endpoint needs. |
403 | PERMISSION_DENIED | This credential cannot perform the operation. |
429 | API_KEY_RATE_LIMITED | The API key's rate limit was reached. Honor Retry-After. |
429 | API_KEY_USAGE_EXCEEDED | The API key reached its usage limit. Create a new key. |
400 | INVALID_REQUEST | The body is not a JSON object or a required value is missing. |
400 | INVALID_IDEMPOTENCY_KEY | Idempotency-Key must be 1–128 printable ASCII characters. |
400 | INVALID_MODEL_INPUT | input does not match the model schema (unknown field, missing required field, or invalid value). |
400 / 413 | INPUT_TOO_LARGE | The request body is larger than 256 KB. Upload media first and send a media reference. |
404 | REQUEST_NOT_FOUND | No chat request with this ID belongs to your account. |
404 | MODEL_NOT_FOUND | No model has this slug. |
404 | JOB_NOT_FOUND | No task with this ID belongs to your account. |
409 | IDEMPOTENCY_CONFLICT | This Idempotency-Key was used with different input. Use a new key for a new request. |
409 | PRICE_CHANGED | The price differs from expectedPriceMicros. Fetch the price and confirm again. |
409 | MODEL_PRICE_UNAVAILABLE | No price is configured for this model yet, so it cannot run. |
409 | PAYMENT_REVIEW_REQUIRED | A refund left an uncovered balance. Contact support or cover the balance before submitting tasks. |
409 | INSUFFICIENT_CREDITS | Available credits do not cover the task price. |
429 | RATE_LIMITED | Too many task submissions per minute. Retry later. |
429 | CONCURRENCY_LIMITED | Too many unfinished tasks. Wait for one to finish. |
503 | EXECUTION_UNAVAILABLE | Execution is not configured for this model right now. |
429 | UPSTREAM_RATE_LIMITED | The model provider is rate limiting chat requests. Retry with backoff; nothing was charged. |
502 | UPSTREAM_ERROR | The model provider failed the chat request. Nothing was charged; retry later. |
503 | PLATFORM_BUDGET_EXCEEDED | This model is temporarily unavailable. Try again later. |
503 | EXECUTION_TEMPORARILY_UNAVAILABLE | Execution is temporarily unavailable. Retry with the same Idempotency-Key. |
503 | AUTH_UNAVAILABLE | Authentication is temporarily unavailable. Retry later. |
503 | API_UNAVAILABLE | The API is temporarily unavailable. Retry later. |
Hermes AI price
Loading price…
The live price list could not be loaded. Refresh to try again.
Official list price
Manufacturer standard API rates in USD, before channel discounts. Units and specifications follow the official source.
Official price not verified for this model.
What affects cost
Resolution, duration and output quantity can affect the quote. Review the rate card and the Playground quote before submitting.
- · Only successful tasks are charged. Failed tasks release reserved credits; tasks with an unconfirmed outcome keep their reservation until the result is verified.
- · Idempotent retries with the same key do not create a second charge.
- · Send expectedPriceMicros to reject the task with PRICE_CHANGED if the price changed after you displayed it.
Estimate
Select the specifications in Playground to see the task quote.
// Billing
How billing works
Tasks use prepaid credits. Add credits on the Billing page; your balance updates after payment confirmation.
| When | Effect |
|---|---|
| Task accepted | The quoted amount is reserved from your balance. |
| Task succeeded | The reserved amount is charged once. |
| Task failed | The reserved amount is returned to your available balance. |
Tasks with an unconfirmed outcome keep their reserved credits until the result is verified. Keep the task ID and contact support if you need help.
Payment refunds are reflected in your balance and transaction history on the Billing page.
Minimal request
Required fields only, generated from this model's schema. Set HERMES_API_KEY in your environment.
# 1. Submit the task (asynchronous; returns 202 with a task id)
curl -X POST https://api.hermes-ai.net/api/v1/jobs \
-H "Authorization: Bearer $HERMES_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "xai-grok-imagine-v1-5-text-to-video-economy",
"input": {
"prompt": "A lighthouse on a rocky coast at sunrise, soft light",
"aspectRatio": "2:3",
"resolution": "720p",
"duration": 6
}
}'
# 2. Poll until status is succeeded, failed or reconciliation_required
curl https://api.hermes-ai.net/api/v1/jobs/TASK_ID \
-H "Authorization: Bearer $HERMES_API_KEY"