Skip to main content
POST

Authorizations

Authorization
string
header
required

##All APIs require Bearer Token authentication##

Get API Key:

Visit API Key Management Page to get your API Key

Add to request header:

Body

application/json
model
enum<string>
default:grok-imagine-video-1.5-lite
required

Model name

Available options:
grok-imagine-video-1.5-lite
Example:

"grok-imagine-video-1.5-lite"

prompt
string
required

Video description prompt (required, cannot be empty)

EvoLink platform length limit: Up to 2000 tokens (counted with the cl100k tokenizer, so CJK prompts hit the cap at far fewer characters than Latin ones). The platform also enforces a limit of 60000 UTF-8 bytes.

Example:

"The person starts dancing"

image_urls
string<uri>[]

Input image URL (optional). One image switches the request to image-to-video.

Mode selection:

  • 0 images (omit the field): text-to-video, no image charge
  • 1 image: image-to-video, used as the first frame; input images are billed separately (see the pricing section)
  • 2 or more images are rejected — reference-to-video is not supported on Lite

Requirements:

  • Playground local uploads: up to 10MiB (10485760 bytes) per image. Image URLs sent directly to the API are validated upstream and do not use this local upload check.
  • Supported formats: JPEG, PNG, WebP
Maximum array length: 1
Example:
duration
integer
default:6

Video duration (seconds), any integer between 1 and 15 seconds

Required range: 1 <= x <= 15
Example:

6

quality
enum<string>
default:480p

Video resolution, default is 480p

Description:

  • 480p: Standard definition (default)
  • 720p: High definition
  • 1080p: Upscaled from 720p, billed at a higher per-second rate

See the pricing section for the per-resolution rates.

Available options:
480p,
720p,
1080p
Example:

"480p"

aspect_ratio
enum<string>
default:auto

Output aspect ratio, default is auto

Applies to: text-to-video (0 images). With an input image the output follows that image's dimensions and this parameter is ignored.

Description:

  • auto: No ratio is sent upstream and the upstream channel decides the framing (text-to-video currently renders 16:9); this is the default value
  • 16:9: Landscape
  • 9:16: Portrait
  • 1:1: Square
  • 4:3: Landscape, classic TV ratio
  • 3:4: Portrait, classic TV ratio
  • 3:2: Landscape, classic photo ratio
  • 2:3: Portrait, classic photo ratio
Available options:
auto,
16:9,
9:16,
1:1,
4:3,
3:4,
3:2,
2:3
Example:

"16:9"

callback_url
string<uri>

HTTPS callback URL after task completion

Callback Timing:

  • Triggered when task is completed, failed, or cancelled

Security Restrictions:

  • Only HTTPS protocol supported
  • Callback to internal IPs prohibited (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
  • URL length must not exceed 2048 UTF-8 bytes

Callback Mechanism:

  • Timeout: 10 seconds
  • Max 3 retries on failure (after 1/2/4 seconds)
  • The callback request body uses the task query API response structure
  • 2xx status code = success, others trigger retry
Example:

"https://your-domain.com/webhooks/video-task-completed"

Response

Video task created successfully

created
integer

Task creation timestamp

Example:

1757169743

id
string

Task ID

Example:

"task-unified-1757169743-7cvnl5zw"

model
string

Actual model name used

Example:

"grok-imagine-video-1.5-lite"

object
enum<string>

Specific task type

Available options:
video.generation.task
progress
integer

Task progress percentage (0-100)

Required range: 0 <= x <= 100
Example:

0

status
enum<string>

Task status

Available options:
pending,
processing,
completed,
failed
Example:

"pending"

task_info
object

Video task detailed information

type
enum<string>

Task output type

Available options:
text,
image,
audio,
video
Example:

"video"

usage
object

Usage and billing information