
bild-till-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.
Varje körning kostar $0.07. För $10 kan du köra cirka 142 gånger.
Du kan fortsätta med:
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()Installera det nödvändiga paketet för ditt programmeringsspråk.
pip install requestsAlla API-förfrågningar kräver autentisering via en API key. Du kan hämta din API key från Atlas Cloud-instrumentpanelen.
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}"
}Exponera aldrig din API key i klientkod eller publika arkiv. Använd miljövariabler eller en backend-proxy istället.
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())Skicka en asynkron genereringsförfrågan. API:et returnerar ett prediction ID som du kan använda för att kontrollera statusen och hämta resultatet.
/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"
}
}Polla prediction-endpointen för att kontrollera den aktuella statusen för din förfrågan.
/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)processingFörfrågan bearbetas fortfarande.completedGenereringen är klar. Utdata är tillgängliga.succeededGenereringen lyckades. Utdata är tillgängliga.failedGenereringen misslyckades. Kontrollera error-fältet.{
"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"
}
}Ladda upp filer till Atlas Cloud-lagring och få en URL som du kan använda i dina API-förfrågningar. Använd multipart/form-data för uppladdning.
/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
}
}Följande parametrar accepteras i förfrågningsinnehållet.
{
"model": "xai/grok-imagine-video/extend-video",
"prompt": "A beautiful landscape",
"video_url": "example_video_url",
"duration": 6
}API:et returnerar ett prediction-svar med de genererade utdata-URL:erna.
{
"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 integrerar 400+ AI-modeller direkt i din AI-kodassistent. Ett kommando för att installera, sedan använd naturligt språk för att generera bilder, videor och chatta med LLM.
npx skills add AtlasCloudAI/atlas-cloud-skillsHämta din API key från Atlas Cloud-instrumentpanelen och ställ in den som en miljövariabel.
export ATLASCLOUD_API_KEY="your-api-key-here"När det är installerat kan du använda naturligt språk i din AI-assistent för att komma åt alla Atlas Cloud-modeller.
Atlas Cloud MCP Server ansluter din IDE med 400+ AI-modeller via Model Context Protocol. Fungerar med alla MCP-kompatibla klienter.
npx -y atlascloud-mcpLägg till följande konfiguration i din IDE:s MCP-inställningsfil.
{
"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.