Edit an existing video with xAI's Grok Imagine Video model. The output inherits the source video's duration, resolution (720p cap), and aspect ratio.
Test this model instantly in the Console Playground โ no code required
Copy usage instructions for Claude, ChatGPT, or other AI
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "xai/grok-imagine-video/edit",
"input": {
"prompt": "Add gentle falling snow to the scene",
"video": "https://example.com/clip.mp4",
"duration": 5
}
}'| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | Yes | - | Text prompt describing the edit. |
video | string | Yes | - | Source video URL to edit. Output inherits its duration, resolution (720p cap) and aspect ratio. |
duration | integer | No | 15 | Billing hint - the length of your source video in seconds (1-15). xAI ignores this parameter; output always matches the source length. Omitting it bills the 15-second maximum. |
There are 3 ways to provide files for the video parameter:
Pass a publicly accessible URL directly. With the Storage API (POST /v1/files/upload-url) the file uploads straight to S3 (50MB per file) and you pass the returned file_url.
{
"model": "xai/grok-imagine-video/edit",
"input": {
"prompt": "your prompt here",
"video": "https://example.com/image.jpg"
}
}Attach files directly to POST /v1/predictions/upload. No separate upload step, but the bytes pass through the API server so the whole request is capped at 10MB.
curl -X POST "https://api.core.today/v1/predictions/upload" \
-H "X-API-Key: cdt_your_api_key" \
-F "model=xai/grok-imagine-video/edit" \
-F 'input={"prompt":"your prompt here"}' \
-F "file:video=@your_file.png"Common parameters used when calling POST /v1/predictions.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
model | string | Yes | - | Model identifier |
input | object | Yes | - | Object containing the model-specific parameters from the table above |
output_folder | string | No | - | Folder path for output files (max 256 chars, '..' not allowed) |
webhook_url | string | No | - | Webhook URL to call on completion |
is_public | boolean | No | false | If true, output files are also available via permanent public URLs |
Add falling snow to an existing clip
curl -X POST "https://api.core.today/v1/predictions" \
-H "Content-Type: application/json" \
-H "X-API-Key: cdt_your_api_key" \
-d '{
"model": "xai/grok-imagine-video/edit",
"input": {
"prompt": "Add gentle falling snow to the scene",
"video": "https://example.com/clip.mp4",
"duration": 5
}
}'POST /v1/predictions