curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "grok-video-1.5",
"prompt": "Animate this product photo into a cinematic commercial video with a subtle camera push-in",
"image": "https://example.com/product.jpg",
"duration": 10,
"aspect_ratio": "16:9"
}'
import requests
task = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "grok-video-1.5",
"prompt": "Animate this product photo into a cinematic commercial video",
"image": "https://example.com/product.jpg",
"duration": 15,
"aspect_ratio": "16:9",
},
).json()
print(task["id"])
{
"id": "video_abc123def456",
"object": "generation.task",
"model": "grok-video-1.5",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
Grok Video
Grok Video 1.5 Generation
Generate video from exactly one required first-frame image using grok-video-1.5
POST
/
v1
/
videos
/
generations
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "grok-video-1.5",
"prompt": "Animate this product photo into a cinematic commercial video with a subtle camera push-in",
"image": "https://example.com/product.jpg",
"duration": 10,
"aspect_ratio": "16:9"
}'
import requests
task = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "grok-video-1.5",
"prompt": "Animate this product photo into a cinematic commercial video",
"image": "https://example.com/product.jpg",
"duration": 15,
"aspect_ratio": "16:9",
},
).json()
print(task["id"])
{
"id": "video_abc123def456",
"object": "generation.task",
"model": "grok-video-1.5",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
中国本土のユーザー向け: 中国本土のユーザーは
https://toapis.cn を API エンドポイント(Base URL)としてご利用ください。本ドキュメント内の例では https://toapis.com を https://toapis.cn に置き換えてください。- Supports image-to-video only; text-to-video is not supported.
- Requires exactly one public first-frame image URL.
- Supports durations from
1to15seconds; default is8. - Supports
480pand720p. - Async task API: poll video task status with the returned task ID.
Do not pass base64 image data. Upload local files with the Upload 画像API, then pass the returned public URL in
image.Authorizations
string
必須
All API requests require Bearer Token authentication.
Authorization: Bearer YOUR_API_KEY
Body
string
デフォルト:"grok-video-1.5"
必須
Use
grok-video-1.5.string
必須
Describe the motion, camera movement, and visual direction for the reference image.
string
必須
Pass exactly one required public first-frame image URL.
- Maximum:
1 - Supported URL schemes:
http://,https://
integer
デフォルト:"8"
Video duration.Supported range:
1–15 secondsstring
デフォルト:"720p"
Video resolution. Supported values:
480p, 720p.string
デフォルト:"16:9"
Video aspect ratio. Supported values:
1:1, 16:9, 9:16, 3:2, 2:3.Pricing
| Billing unit | Price |
|---|---|
| Generated second | $0.01 / second |
レスポンス
string
Task identifier for polling video status.
string
Object type, always
generation.task.string
モデル name used for the task.
string
Task status:
queued, in_progress, completed, or failed.Create a video task
curl --request POST \
--url https://toapis.com/v1/videos/generations \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"model": "grok-video-1.5",
"prompt": "Animate this product photo into a cinematic commercial video with a subtle camera push-in",
"image": "https://example.com/product.jpg",
"duration": 10,
"aspect_ratio": "16:9"
}'
import requests
task = requests.post(
"https://toapis.com/v1/videos/generations",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
json={
"model": "grok-video-1.5",
"prompt": "Animate this product photo into a cinematic commercial video",
"image": "https://example.com/product.jpg",
"duration": 15,
"aspect_ratio": "16:9",
},
).json()
print(task["id"])
{
"id": "video_abc123def456",
"object": "generation.task",
"model": "grok-video-1.5",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
Query task status
Use the returnedid with Video Task ステータス.