curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "grok-imagine-video-1.5-official",
"prompt": "The camera slowly pushes in as the woman starts talking",
"image": "https://example.com/portrait.jpg",
"duration": 8,
"resolution": "1080p",
"aspect_ratio": "16:9"
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "grok-imagine-video-1.5-official",
"prompt": "The camera slowly pushes in as the woman starts talking",
"image": "https://example.com/portrait.jpg",
"duration": 8,
"resolution": "1080p",
"aspect_ratio": "16:9"
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
const response = await fetch('https://toapis.com/v1/videos/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'grok-imagine-video-1.5-official',
prompt: 'The camera slowly pushes in as the woman starts talking',
image: 'https://example.com/portrait.jpg',
duration: 8,
resolution: '1080p',
aspect_ratio: '16:9'
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "tsk_vid_01M59KZ8B8A4VKCBB7QGXQZV2E",
"object": "generation.task",
"model": "grok-imagine-video-1.5-official",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
Grok Imagine Video (Official)
Grok Imagine Video 1.5 동영상 생성 (공식 채널)
Generate videos with the official Grok Imagine Video 1.5 channel up to 1080p
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "grok-imagine-video-1.5-official",
"prompt": "The camera slowly pushes in as the woman starts talking",
"image": "https://example.com/portrait.jpg",
"duration": 8,
"resolution": "1080p",
"aspect_ratio": "16:9"
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "grok-imagine-video-1.5-official",
"prompt": "The camera slowly pushes in as the woman starts talking",
"image": "https://example.com/portrait.jpg",
"duration": 8,
"resolution": "1080p",
"aspect_ratio": "16:9"
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
const response = await fetch('https://toapis.com/v1/videos/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'grok-imagine-video-1.5-official',
prompt: 'The camera slowly pushes in as the woman starts talking',
image: 'https://example.com/portrait.jpg',
duration: 8,
resolution: '1080p',
aspect_ratio: '16:9'
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "tsk_vid_01M59KZ8B8A4VKCBB7QGXQZV2E",
"object": "generation.task",
"model": "grok-imagine-video-1.5-official",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
중국 본토 사용자 안내: 중국 본토 사용자는
https://toapis.cn 를 API 엔드포인트(Base URL)로 사용해 주세요. 본 문서의 예시에서 https://toapis.com 을 https://toapis.cn 로 바꿔 주세요.- Official-channel Grok Imagine Video 1.5 generation model
- Select
grok-imagine-video-1.5-officialmodel via the model parameter - First-frame image-to-video only — exactly one input image is required
- Up to 1080p output
- Async task management, query results via task ID
Important Change: For better performance and cost control, we no longer support passing base64 image data directly in
reference_images. Please use the Upload Image API to upload images first, then call this API with the returned URL.Authorizations
string
필수
All API requests require Bearer Token authenticationGet API Key: Visit the API Key Management Page to obtain your API KeyAdd to request headers:
Authorization: Bearer YOUR_API_KEY
Body
string
기본값:"grok-imagine-video-1.5-official"
필수
Video generation model nameSupported models:
grok-imagine-video-1.5-official- Official-channel Grok Imagine Video 1.5 model
"grok-imagine-video-1.5-official"string
필수
Text description for video generation
string
필수
First-frame image URL. Required — this model only supports image-to-video with exactly one input image. Only public
http:// or https:// URLs are supported.integer
기본값:"8"
Video duration in secondsSupported range:
1–15 secondsstring
기본값:"720p"
Video resolutionSupported values:
480p, 720p, 1080pstring
Video aspect ratioSupported formats:
16:9(landscape)9:16(portrait)4:3(landscape)3:4(portrait)3:2(landscape)2:3(portrait)1:1(square)
string[]
Array of additional reference image URLs⚠️ Only URL format is supported (base64 is no longer supported)
- Publicly accessible image URLs (http:// or https://)
- Up to 7 images total across
imageandreference_images - Use the Upload Image API to upload local images and get URLs
Pricing note: Output is billed per second by resolution tier. Each input image is billed per image — since this model requires exactly one first-frame image, every task includes one input-image charge. Video extension is not supported on this model.
Response
string
Unique task identifier for querying task status
string
Object type, always
generation.taskstring
Model name used
string
Task status
queued- Waiting to be processedin_progress- Processingcompleted- Successfully completedfailed- Failed
integer
Task creation timestamp (Unix timestamp)
integer
Task progress, usually
0 after submissionobject
Task metadata
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "grok-imagine-video-1.5-official",
"prompt": "The camera slowly pushes in as the woman starts talking",
"image": "https://example.com/portrait.jpg",
"duration": 8,
"resolution": "1080p",
"aspect_ratio": "16:9"
}'
import requests
response = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "grok-imagine-video-1.5-official",
"prompt": "The camera slowly pushes in as the woman starts talking",
"image": "https://example.com/portrait.jpg",
"duration": 8,
"resolution": "1080p",
"aspect_ratio": "16:9"
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
const response = await fetch('https://toapis.com/v1/videos/generations', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'grok-imagine-video-1.5-official',
prompt: 'The camera slowly pushes in as the woman starts talking',
image: 'https://example.com/portrait.jpg',
duration: 8,
resolution: '1080p',
aspect_ratio: '16:9'
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "tsk_vid_01M59KZ8B8A4VKCBB7QGXQZV2E",
"object": "generation.task",
"model": "grok-imagine-video-1.5-official",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}