# Grok Video 1.5 Video Generation This file is the focused AI-readable context for one UniAll documentation page. URL: https://docs.uniall.ai/models/video/grok/grok-video-1-5 Locale: en Markdown: https://docs.uniall.ai/ai/pages/models/video/grok/grok-video-1-5.md Description: Grok Video 1.5 source documentation. Agent guidance: - Use this page when the user is asking about this specific route or model capability. - Preserve endpoint paths, JSON keys, model IDs, and placeholder values exactly. - Treat examples such as `sk-***`, `{BASE_URL}`, and `task_xxx` as safe placeholders, not real secrets. ## Page Markdown Updated: 2026-06-26 This document explains how to use aijisu call `grok-video-1.5`. Model single-image-to-video: userprovidesoneInput imageandaprompt, the platformcreates an async video generation task. ## 1. Model | Model | Capability | Input image | Output resolution | | --- | --- | --- | --- | | `grok-video-1.5`| single-image-to-video | supports 1 |`480p`, `720p`, `1080p` | Note: - `grok-video-1.5` Yes Model, do notand legacy `grok-imagine`. - Currently only supportssingle-image-to-video, does not supporttext-to-video, multiple reference images, video input, video editingorvideo extension. - the input image must be a URL accessible by the platform and upstream service. - There is no separate landscape/portrait parameter currently; requires landscape passLandscape, requires portrait passPortrait. ## 2. Endpoint ### 2.1 Create Video Task ```http POST /v1/videos ``` request headers: ```http Authorization: Bearer sk-*** Content-Type: application/json ``` ### 2.2 Query Video Task ```http GET /v1/videos/{task_id} ``` compatibilityqueryEndpoint: ```http GET /v1/videos/generations/{task_id} ``` ### 2.3 Get Video File ```http GET /v1/videos/{task_id}/content ``` task completed, readqueryresponses `video_url`, `/content` endpoint to get Video File. ## 3. Parameter Reference | Parameters | Type | Required | Note | | --- | --- | --- | --- | | `model`| string | Yes | always pass `grok-video-1.5` | | `prompt` | string | Yes | video generationprompt, recommended: describe the subject, action, camera, styleand | | `image`| string | one of two required | Input image URL; and `image_url` one of two required | | `image_url`| string | one of two required | Input image URL; and `image` one of two required | | `duration`| integer | No | Output video duration, supports `1-15`, recommended pass in | | `seconds`| string | No | Output video duration compatibility field; prefer using `duration` | | `size`| string | No | Output resolution, supports `480p`, `720p`, `1080p` | | `resolution`| string | No | Output resolution compatibility field; prefer using `size` | Field Constraints: - `image` and `image_url` only pass. - do not pass both `images`, `image_urls`, `reference_image_urls` Field. - do not pass `video`, `video_url`, `videos`, `video_urls` video inputField. - do not pass `aspect_ratio`. - do not pass `extra_body.operation` editing, reference video or text-to-video capability. - `size`/`resolution` Resolution tier, landscape or portrait; control orientation through the input image aspect ratio. - If you pass both `size` and `resolution`, recommended value. ## 4. Request Examples In the examples below, `{BASE_URL}` can be replaced with `https://api.aijisu.cn`. ### 4.1 use `image_url` ```bash curl -X POST "{BASE_URL}/v1/videos" \ -H "Authorization: Bearer sk-***" \ -H "Content-Type: application/json" \ -d '{"model": "grok-video-1.5", "prompt": "A cinematic close-up of a glass perfume bottle on a marble table, soft morning light, slow camera push-in, elegant product video, no text, no logo.", "image_url": "https://example.com/source.jpg", "duration": 6, "size": "720p"}' ``` ### 4.2 use `image` ```bash curl -X POST "{BASE_URL}/v1/videos" \ -H "Authorization: Bearer sk-***" \ -H "Content-Type: application/json" \ -d '{"model": "grok-video-1.5", "prompt": "A quiet landscape photo becomes a gentle animated scene, leaves moving in the wind, soft natural lighting, stable camera, no text.", "image": "https://example.com/landscape.png", "duration": 8, "size": "1080p"}' ``` ### 4.3 480p fast ```bash curl -X POST "{BASE_URL}/v1/videos" \ -H "Authorization: Bearer sk-***" \ -H "Content-Type: application/json" \ -d '{"model": "grok-video-1.5", "prompt": "A simple product shot, the object slowly rotates on a clean white background, smooth motion, no text.", "image_url": "https://example.com/product.jpg", "duration": 4, "size": "480p"}' ``` ## 5. Create Response Example A successful create request returns a task object. At this point, the video is usually queued or generating. ```json { "id": "task_xxxxxxxxxxxxx", "task_id": "task_xxxxxxxxxxxxx", "object": "video.generation.job", "model": "grok-video-1.5", "status": "queued", "progress": 0, "created_at": 1782400000 } ``` Save `id` or `task_id`, for later task polling. ## 6. Query Task ```bash curl "{BASE_URL}/v1/videos/task_xxxxxxxxxxxxx" \ -H "Authorization: Bearer sk-***" ``` In-progress Response Example: ```json { "id": "task_xxxxxxxxxxxxx", "object": "video.generation.job", "model": "grok-video-1.5", "status": "in_progress", "progress": 35, "created_at": 1782400000 } ``` Completed Response Example: ```json { "id": "task_xxxxxxxxxxxxx", "object": "video.generation.job", "model": "grok-video-1.5", "status": "completed", "progress": 100, "video_url": "https://example.com/generated-video.mp4", "result": { "video_url": "https://example.com/generated-video.mp4", "outputs": [ "https://example.com/generated-video.mp4" ] } } ``` ## 7. Download Video Method 1: use the value returned by the query response directly `video_url`. Method 2: use the task content endpoint to get the file stream. ```bash curl -L "{BASE_URL}/v1/videos/task_xxxxxxxxxxxxx/content" \ -H "Authorization: Bearer sk-***" \ -o grok-video-1.5-output.mp4 ``` ## 8. Status Values | Status | Note | | --- | --- | | `queued` | Task created and waiting for processing | | `in_progress` | Task is processing | | `completed` | Task is complete and the video URL can be read | | `failed`| taskFailed, responses `error.message` | Clients should poll every 3 to 10 seconds, until the task enters `completed` or `failed`. ## 9. Common Errors ### sending the model to an image endpoint `grok-video-1.5` Yesvideo model, call `/v1/videos`, do not `/v1/images/generations`. ### missing input image Model pass `image` or `image_url`. only pass `prompt`. ### multiple images were passed Model supportsoneInput image. do not pass `images`, `image_urls` or `reference_image_urls`. ### video input was passed Modeldoes not supportvideo input. do not pass `video`, `video_url`, `videos` or `video_urls`. ### invalid resolution format `size` or `resolution` only pass: - `480p` - `720p` - `1080p` do not pass `1920x1080`, `1280x720`, `4k` or sizestring. ### `aspect_ratio` controlLandscapeportrait Model does not support `aspect_ratio`. submit change the input image Orientation, landscapeuseLandscapeimage, portraitusePortraitimage. ### requesting edit or extension capabilities `grok-video-1.5` does not supporteditingand. do not pass: ```json { "extra_body": { "operation": "edit_video" } } ``` or: ```json { "extra_body": { "operation": "video_extend" } } ``` ## 10. Prompt Guidance Prompt Guidance: - subject: object. - action: subject. - camera:. - style:. - constraints: no text, no logo, no people. Example: ```markdown A cinematic product video of the object slowly rotating on a clean studio background, soft natural light, smooth camera push-in, realistic texture, no text, no logo. ``` ## 11. Minimum Valid Request ```json { "model": "grok-video-1.5", "prompt": "A calm product video, slow camera movement, soft light, no text.", "image_url": "https://example.com/source.jpg", "duration": 6, "size": "720p" } ```