Grok Imagine
curl --request POST \
--url https://api.muvi.video/v1/jobs/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"input": {
"prompt": "<string>",
"image_url": "<string>",
"duration": "<string>",
"resolution": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"image_url": "<string>",
"duration": "<string>",
"resolution": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
input: {
prompt: '<string>',
image_url: '<string>',
duration: '<string>',
resolution: '<string>'
}
})
};
fetch('https://api.muvi.video/v1/jobs/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"jobId": "<string>",
"status": "<string>",
"estimatedCompletionTime": "<string>",
"costMicroCents": 123
}Grok Imagine
Grok Imagine
Generate videos from images using xAI’s Grok Imagine model
POST
/
v1
/
jobs
/
submit
Grok Imagine
curl --request POST \
--url https://api.muvi.video/v1/jobs/submit \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "<string>",
"input": {
"prompt": "<string>",
"image_url": "<string>",
"duration": "<string>",
"resolution": "<string>"
}
}
'import requests
url = "https://api.muvi.video/v1/jobs/submit"
payload = {
"model": "<string>",
"input": {
"prompt": "<string>",
"image_url": "<string>",
"duration": "<string>",
"resolution": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: '<string>',
input: {
prompt: '<string>',
image_url: '<string>',
duration: '<string>',
resolution: '<string>'
}
})
};
fetch('https://api.muvi.video/v1/jobs/submit', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"jobId": "<string>",
"status": "<string>",
"estimatedCompletionTime": "<string>",
"costMicroCents": 123
}Generate videos from images with xAI’s Grok Imagine model. Supports multiple durations and resolutions with per-request pricing.
| Property | Value |
|---|---|
| Provider | xAI |
| Model | Grok Imagine |
| Capability | Image to Video |
| Base Cost | 50,000 micro-cents/request ($0.50/request) |
| Processing Time | ~100 seconds |
Request Body
string
required
Model slug. Use
xai/grok-imagine/image-to-video for image-to-video generation.object
required
string
HTTPS URL to receive a webhook notification when the job completes or fails.
Pricing
Base cost: 50,000 micro-cents per request ($0.50/request)finalCost = baseCost × duration × resolution
| Factor | Option | Multiplier |
|---|---|---|
| Duration | 6 | 6x |
10 | 10x | |
15 | 15x | |
| Resolution | 480p | 1x |
720p | 1.4x |
Example cost: 6 seconds, 480p = 50,000 × 6 × 1 = 300,000 micro-cents ($3.00)
Response
string
Unique identifier for the submitted job.
string
Initial job status. Always
"pending" on successful submission.string
ISO 8601 timestamp of the estimated completion time.
number
The cost of the job in micro-cents.
Code Examples
curl -X POST https://api.muvi.video/v1/jobs/submit \
-H "Authorization: Bearer $PIXELBYTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "xai/grok-imagine/image-to-video",
"input": {
"prompt": "A golden retriever running through a sunlit meadow",
"image_url": "https://example.com/dog.jpg",
"duration": "6",
"resolution": "720p"
}
}'
import requests
response = requests.post(
"https://api.muvi.video/v1/jobs/submit",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "xai/grok-imagine/image-to-video",
"input": {
"prompt": "A golden retriever running through a sunlit meadow",
"image_url": "https://example.com/dog.jpg",
"duration": "6",
"resolution": "720p"
}
}
)
data = response.json()
print(data)
const response = await fetch("https://api.muvi.video/v1/jobs/submit", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
model: "xai/grok-imagine/image-to-video",
input: {
prompt: "A golden retriever running through a sunlit meadow",
image_url: "https://example.com/dog.jpg",
duration: "6",
resolution: "720p"
}
})
});
const data = await response.json();
console.log(data);
