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": {}
}