
Hình ảnh-Video
Grok Imagine Video Extend API by xAI
xai/grok-imagine-video/extend-video
Extend-video
xAI Grok Imagine Video continues an existing 2-15s mp4 with a 2-10s prompt-driven extension. Output matches input, capped at 720p.

xAI Grok Imagine Video continues an existing 2-15s mp4 with a 2-10s prompt-driven extension. Output matches input, capped at 720p.
Join the Discord community for the latest model updates, prompts, and support.
Mỗi lần chạy có giá $0.07. Với $10, bạn có thể chạy khoảng 142 lần.
Bạn có thể tiếp tục với:
import requests
import time
# Step 1: Start video generation
generate_url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer $ATLASCLOUD_API_KEY"
}
data = {
"model": "xai/grok-imagine-video/extend-video", # Required. Model name
"prompt": "A beautiful sunset over the ocean with gentle waves", # Required. Natural-language description of what should happen after the input video's last frame
"video_url": "example_value", # Required. Public URL of an mp4 file (H
"duration": 6, # Length of the extension segment in seconds. (min: 2, max: 10)
}
generate_response = requests.post(generate_url, headers=headers, json=data)
generate_result = generate_response.json()
prediction_id = generate_result["data"]["id"]
# Step 2: Poll for result
poll_url = f"https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}"
def check_status():
while True:
response = requests.get(poll_url, headers={"Authorization": "Bearer $ATLASCLOUD_API_KEY"})
result = response.json()
if result["data"]["status"] in ["completed", "succeeded"]:
print("Generated video:", result["data"]["outputs"][0])
return result["data"]["outputs"][0]
elif result["data"]["status"] == "failed":
raise Exception(result["data"]["error"] or "Generation failed")
else:
# Still processing, wait 2 seconds
time.sleep(2)
video_url = check_status()Cài đặt gói cần thiết cho ngôn ngữ lập trình của bạn.
pip install requestsTất cả các yêu cầu API đều cần xác thực thông qua khóa API. Bạn có thể lấy khóa API từ bảng điều khiển Atlas Cloud.
export ATLASCLOUD_API_KEY="your-api-key-here"import os
API_KEY = os.environ.get("ATLASCLOUD_API_KEY")
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}"
}Không bao giờ để lộ khóa API trong mã phía máy khách hoặc kho lưu trữ công khai. Thay vào đó, hãy sử dụng biến môi trường hoặc proxy phía máy chủ.
import requests
url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer $ATLASCLOUD_API_KEY"
}
data = {
"model": "your-model",
"prompt": "A beautiful landscape"
}
response = requests.post(url, headers=headers, json=data)
print(response.json())Gửi một yêu cầu tạo nội dung không đồng bộ. API trả về một prediction ID mà bạn có thể dùng để kiểm tra trạng thái và lấy kết quả.
/api/v1/model/generateVideoimport requests
url = "https://api.atlascloud.ai/api/v1/model/generateVideo"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer $ATLASCLOUD_API_KEY"
}
data = {
"model": "xai/grok-imagine-video/extend-video",
"prompt": "A beautiful sunset over the ocean with gentle waves"
}
response = requests.post(url, headers=headers, json=data)
result = response.json()
print(f"Prediction ID: {result['data']['id']}")
print(f"Status: {result['data']['status']}"){
"code": 200,
"data": {
"id": "pred_abc123",
"status": "processing",
"model": "model-name",
"created_at": "2025-01-01T00:00:00Z"
}
}Truy vấn (poll) endpoint prediction để kiểm tra trạng thái hiện tại của yêu cầu.
/api/v1/model/prediction/{prediction_id}import requests
import time
prediction_id = "pred_abc123"
url = f"https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}"
headers = { "Authorization": "Bearer $ATLASCLOUD_API_KEY" }
while True:
response = requests.get(url, headers=headers)
result = response.json()
status = result["data"]["status"]
print(f"Status: {status}")
if status in ["completed", "succeeded"]:
output_url = result["data"]["outputs"][0]
print(f"Output URL: {output_url}")
break
elif status == "failed":
print(f"Error: {result['data'].get('error', 'Unknown')}")
break
time.sleep(3)processingYêu cầu vẫn đang được xử lý.completedQuá trình tạo đã hoàn tất. Kết quả đầu ra đã sẵn sàng.succeededQuá trình tạo thành công. Kết quả đầu ra đã sẵn sàng.failedTạo nội dung thất bại. Hãy kiểm tra trường error.{
"data": {
"id": "pred_abc123",
"status": "completed",
"outputs": [
"https://storage.atlascloud.ai/outputs/result.mp4"
],
"metrics": {
"predict_time": 45.2
},
"created_at": "2025-01-01T00:00:00Z",
"completed_at": "2025-01-01T00:00:10Z"
}
}Tải tệp lên bộ nhớ Atlas Cloud và nhận URL mà bạn có thể sử dụng trong các yêu cầu API của mình. Sử dụng multipart/form-data để tải lên.
/api/v1/model/uploadMediaimport requests
url = "https://api.atlascloud.ai/api/v1/model/uploadMedia"
headers = { "Authorization": "Bearer $ATLASCLOUD_API_KEY" }
with open("image.png", "rb") as f:
files = {"file": ("image.png", f, "image/png")}
response = requests.post(url, headers=headers, files=files)
result = response.json()
download_url = result["data"]["download_url"]
print(f"File URL: {download_url}"){
"data": {
"download_url": "https://storage.atlascloud.ai/uploads/abc123/image.png",
"file_name": "image.png",
"content_type": "image/png",
"size": 1024000
}
}Các tham số sau được chấp nhận trong nội dung yêu cầu.
{
"model": "xai/grok-imagine-video/extend-video",
"prompt": "A beautiful landscape",
"video_url": "example_video_url",
"duration": 6
}API trả về phản hồi prediction kèm theo các URL đầu ra đã tạo.
{
"id": "pred_abc123",
"status": "completed",
"model": "model-name",
"outputs": [
"https://storage.atlascloud.ai/outputs/result.mp4"
],
"metrics": {
"predict_time": 45.2
},
"created_at": "2025-01-01T00:00:00Z",
"completed_at": "2025-01-01T00:00:10Z"
}Atlas Cloud Skills tích hợp hơn 400 mô hình AI trực tiếp vào trợ lý lập trình AI của bạn. Một lệnh để cài đặt, sau đó sử dụng ngôn ngữ tự nhiên để tạo hình ảnh, video và trò chuyện với LLM.
npx skills add AtlasCloudAI/atlas-cloud-skillsLấy khóa API từ bảng điều khiển Atlas Cloud và đặt nó làm biến môi trường.
export ATLASCLOUD_API_KEY="your-api-key-here"Sau khi cài đặt, bạn có thể sử dụng ngôn ngữ tự nhiên trong trợ lý AI để truy cập tất cả các mô hình Atlas Cloud.
Atlas Cloud MCP Server kết nối IDE của bạn với hơn 400 mô hình AI thông qua Model Context Protocol. Hoạt động với bất kỳ ứng dụng tương thích MCP nào.
npx -y atlascloud-mcpThêm cấu hình sau vào tệp cài đặt MCP của IDE.
{
"mcpServers": {
"atlascloud": {
"command": "npx",
"args": [
"-y",
"atlascloud-mcp"
],
"env": {
"ATLASCLOUD_API_KEY": "your-api-key-here"
}
}
}
}{
"info": {
"title": "AtlasCloud API",
"version": "1.0.0",
"description": "The AtlasCloud API."
},
"paths": {
"/api/v1/model/generateVideo": {
"post": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "The request status."
}
},
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Input"
}
}
},
"required": true
}
},
"x-api-name": "model_run"
},
"/api/v1/model/prediction/{request_id}": {
"get": {
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PredictionResponse"
}
}
},
"description": "Result of the request."
}
},
"parameters": [
{
"in": "path",
"name": "request_id",
"schema": {
"type": "string",
"description": "Request ID"
},
"required": true
}
]
},
"x-api-name": "model_result"
}
},
"openapi": "3.0.0",
"servers": [
{
"url": "https://api.atlascloud.ai"
}
],
"components": {
"schemas": {
"Input": {
"type": "object",
"required": [
"model",
"prompt",
"video_url"
],
"properties": {
"model": {
"type": "string",
"description": "Model name.",
"default": "xai/grok-imagine-video/extend-video"
},
"prompt": {
"type": "string",
"description": "Natural-language description of what should happen after the input video's last frame."
},
"video_url": {
"type": "string",
"description": "Public URL of an mp4 file (H.264/H.265/AV1, etc.). Input duration must be 2–15 seconds."
},
"duration": {
"type": "integer",
"default": 6,
"minimum": 2,
"maximum": 10,
"description": "Length of the extension segment in seconds. Range: 2–10 (default 6). Total returned video = input duration + extension. Output is capped at 720p."
}
},
"x-order-properties": [
"model",
"prompt",
"video_url",
"duration"
]
},
"PredictionResponse": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the prediction."
},
"urls": {
"type": "object",
"description": "Object containing related API endpoints."
},
"model": {
"type": "string",
"description": "Model ID used for the prediction."
},
"status": {
"type": "string",
"description": "Status of the task: created, processing, completed, or failed."
},
"outputs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Array of URLs to the generated video (empty when status is not completed)."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "ISO timestamp of when the request was created."
},
"has_nsfw_contents": {
"type": "array",
"items": {
"type": "boolean"
},
"description": "Array of boolean values indicating NSFW detection for each output."
}
}
}
},
"securitySchemes": {
"apiKeyAuth": {
"in": "header",
"name": "Authorization",
"type": "apiKey"
}
}
}
}# xai/grok-imagine-video/extend-video
> xAI Grok Imagine Video continues an existing 2-15s mp4 with a 2-10s prompt-driven extension. Output matches input, capped at 720p.
## Overview
- **Submit endpoint (POST)**: `https://api.atlascloud.ai/api/v1/model/generateVideo` — start an async generation; returns a `prediction_id`
- **Poll endpoint (GET)**: `https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}` — poll this until the prediction finishes
- **Model ID**: `xai/grok-imagine-video/extend-video`
## API Information
This model can be used via our HTTP API or more conveniently via our client libraries.
See the input and output schema below, as well as the usage examples.
### Input Schema
The API accepts the following input parameters:
- **`model`** (`string`, _required_):
Model name.
- Default: `"xai/grok-imagine-video/extend-video"`
- **`prompt`** (`string`, _required_):
Natural-language description of what should happen after the input video's last frame.
- **`video_url`** (`string`, _required_):
Public URL of an mp4 file (H.264/H.265/AV1, etc.). Input duration must be 2–15 seconds.
- **`duration`** (`integer`, _optional_):
Length of the extension segment in seconds. Range: 2–10 (default 6). Total returned video = input duration + extension. Output is capped at 720p.
- Default: `6`
- Min: 2
- Max: 10
**Required Parameters Example**:
```json
{
"model": "xai/grok-imagine-video/extend-video",
"prompt": "",
"video_url": ""
}
```
**Full Example**:
```json
{
"model": "xai/grok-imagine-video/extend-video",
"prompt": "",
"video_url": "",
"duration": 6
}
```
### Output Schema
The API returns the following output format:
- **`id`** (`string`, _optional_):
Unique identifier for the prediction.
- **`urls`** (`object`, _optional_):
Object containing related API endpoints.
- **`model`** (`string`, _optional_):
Model ID used for the prediction.
- **`status`** (`string`, _optional_):
Status of the task: created, processing, completed, or failed.
- **`outputs`** (`array[string]`, _optional_):
Array of URLs to the generated video (empty when status is not completed).
- **`created_at`** (`string`, _optional_):
ISO timestamp of when the request was created.
- **`has_nsfw_contents`** (`array[boolean]`, _optional_):
Array of boolean values indicating NSFW detection for each output.
**Example Response**:
```json
{
"id": "",
"urls": {},
"model": "",
"status": "",
"outputs": [
""
],
"created_at": "",
"has_nsfw_contents": []
}
```
## Usage Examples
### cURL
```bash
# Step 1: Start generation (async)
curl -X POST "https://api.atlascloud.ai/api/v1/model/generateVideo" \
-H "Authorization: Bearer $ATLASCLOUD_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "xai/grok-imagine-video/extend-video",
"prompt": "",
"video_url": "",
"duration": 6
}'
# Response will contain: {"code": 200, "data": {"id": "prediction_id", "status": "processing"}}
# Step 2: Poll for result (replace {prediction_id} with the id returned above)
curl -X GET "https://api.atlascloud.ai/api/v1/model/prediction/{prediction_id}" \
-H "Authorization: Bearer $ATLASCLOUD_API_KEY"
# Keep polling until status is "completed", "succeeded" or "failed"
# When completed, outputs will contain the generated content URL(s)
```
## Additional Resources
### Documentation
- [Model Playground](https://www.atlascloud.ai/models/xai/grok-imagine-video/extend-video)
Change the car's color to blue and drive it on a racetrack.
Change the car's color to blue and drive it on a racetrack.