curl --request POST \
--url https://toapis.com/v1/videos/video_abc123def456/extend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "grok-video-1.0",
"prompt": "Continue the scene, make the dog run towards the horizon"
}'
import requests
video_id = "video_abc123def456"
response = requests.post(
f"https://toapis.com/v1/videos/{video_id}/extend",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "grok-video-1.0",
"prompt": "Continue the scene, make the dog run towards the horizon"
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
const videoId = 'video_abc123def456';
const response = await fetch(`https://toapis.com/v1/videos/${videoId}/extend`, {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'grok-video-1.0',
prompt: 'Continue the scene, make the dog run towards the horizon'
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "video_extend_abc123",
"object": "generation.task",
"model": "grok-video-1.0",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
Grok Video
Grok Video Extend
Extend generated Grok videos
POST
/
v1
/
videos
/
{video_id}
/
extend
curl --request POST \
--url https://toapis.com/v1/videos/video_abc123def456/extend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "grok-video-1.0",
"prompt": "Continue the scene, make the dog run towards the horizon"
}'
import requests
video_id = "video_abc123def456"
response = requests.post(
f"https://toapis.com/v1/videos/{video_id}/extend",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "grok-video-1.0",
"prompt": "Continue the scene, make the dog run towards the horizon"
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
const videoId = 'video_abc123def456';
const response = await fetch(`https://toapis.com/v1/videos/${videoId}/extend`, {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'grok-video-1.0',
prompt: 'Continue the scene, make the dog run towards the horizon'
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "video_extend_abc123",
"object": "generation.task",
"model": "grok-video-1.0",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}
Note for users in mainland China: Please use
https://toapis.cn as the API endpoint (Base URL). Replace https://toapis.com with https://toapis.cn in the examples in this document.- Grok Video extend feature
- Extend the duration of existing videos
- Async task management, query results via task ID
Path Parameters
string
required
Original video task IDThis is the task ID returned from a previous video generation request
Authorizations
string
required
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
default:"grok-video-1.0"
required
Video extend model nameExample:
"grok-video-1.0"string
required
Text description for video extension
string
Video size
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 progress percentage (0-100)
integer
Task creation timestamp (Unix timestamp)
object
Task metadata
curl --request POST \
--url https://toapis.com/v1/videos/video_abc123def456/extend \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "grok-video-1.0",
"prompt": "Continue the scene, make the dog run towards the horizon"
}'
import requests
video_id = "video_abc123def456"
response = requests.post(
f"https://toapis.com/v1/videos/{video_id}/extend",
headers={
"Authorization": "Bearer your-ToAPIs-key",
"Content-Type": "application/json"
},
json={
"model": "grok-video-1.0",
"prompt": "Continue the scene, make the dog run towards the horizon"
}
)
task = response.json()
print(f"Task ID: {task['id']}")
print(f"Status: {task['status']}")
const videoId = 'video_abc123def456';
const response = await fetch(`https://toapis.com/v1/videos/${videoId}/extend`, {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'grok-video-1.0',
prompt: 'Continue the scene, make the dog run towards the horizon'
})
});
const task = await response.json();
console.log(`Task ID: ${task.id}`);
console.log(`Status: ${task.status}`);
{
"id": "video_extend_abc123",
"object": "generation.task",
"model": "grok-video-1.0",
"status": "queued",
"progress": 0,
"created_at": 1768380224,
"metadata": {}
}