Endpoints
| Method | Endpoint | Description |
|---|
| POST | /api/v1/generateTask/veo-3-1-extend | Create extend task |
| GET | /api/v1/statusTask/veo-3-1-extend | Query extend task status |
Authentication
All requests require an API Key in the header:
Authorization: Bearer YOUR_API_KEY
Request Body
{
"request_type": "async",
"callback_url": "https://...",
"provider": "auto",
"input": {
"taskId": "internal_task_id_of_previous_veo_3_1_task",
"mode": "fast",
"prompt": "continue this scene with stronger motion and dramatic pacing",
"watermark": "",
"seed": 1234
}
}
Parameters
async (polling) or callback (webhook)
Callback URL, required when request_type=callback (conditional)
Routing strategy: auto, value, or official
Model input parameters
Internal taskId of an existing veo-3-1 task. Must come from /generateTask/veo-3-1 and must not be expired.
mode
string
default:"fast"
required
fast (cheapest) or quality (higher fidelity)
New continuation prompt, 1-10000 characters
Optional watermark text for the extended video
Optional random seed for reproducibility (mapped to upstream seeds)
Important Notes:
taskId must be an internal task ID from veo-3-1, not an external provider task ID.
- If taskId is invalid, expired, or not from
veo-3-1, the API returns TASKID_ERROR.
mode supports only fast and quality.
Example
Extend with Fast Mode (Cheapest)
curl -X POST "https://api.apixo.ai/api/v1/generateTask/veo-3-1-extend" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"request_type": "async",
"input": {
"taskId": "internal_task_id_from_previous_veo3_task",
"mode": "fast",
"prompt": "continue the action into a tense chase through narrow streets"
}
}'
Extend with Quality Mode
curl -X POST "https://api.apixo.ai/api/v1/generateTask/veo-3-1-extend" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"request_type": "callback",
"callback_url": "https://your-server.com/veo_extend_callback",
"input": {
"taskId": "internal_task_id_from_previous_veo3_task",
"mode": "quality",
"prompt": "extend this scene into a dramatic sunset over the city skyline",
"watermark": "© YourBrand",
"seed": 1234
}
}'
Response
POST /api/v1/generateTask/veo-3-1-extend
Returns a new internal extend taskId on success.
Success:
{
"code": 200,
"message": "success",
"data": {
"taskId": "extend_task_12345678"
}
}
Error:
{
"code": 400,
"message": "TaskId not found, expired or not a veo-3-1 task.",
"data": null
}
GET /api/v1/statusTask/veo-3-1-extend
Query status and result with the extend taskId.
curl -X GET "https://api.apixo.ai/api/v1/statusTask/veo-3-1-extend?taskId=extend_task_12345678" \
-H "Authorization: Bearer YOUR_API_KEY"
Success:
{
"code": 200,
"message": "success",
"data": {
"taskId": "extend_task_12345678",
"state": "success",
"resultJson": "{\"resultUrls\":[\"https://r2.apixo.ai/video_extend.mp4\"]}",
"createTime": 1767965610929,
"completeTime": 1767965730929,
"costTime": 120000
}
}
Failed:
{
"code": 200,
"message": "success",
"data": {
"taskId": "extend_task_12345678",
"state": "failed",
"failCode": "CONTENT_VIOLATION",
"failMsg": "Content does not meet safety guidelines"
}
}
Status Response Fields
Current task state: pending, processing, success, or failed.
JSON string containing resultUrls array. Only present on success.
Error code. Only present when state is failed. See Error Codes.
Human-readable error message. Only present when state is failed.
Task creation timestamp (Unix milliseconds).
Task completion timestamp (Unix milliseconds).
Processing duration in milliseconds.
Error Codes
| Code | Description |
|---|
| 400 | Invalid parameters or request error |
| 401 | Invalid or missing API Key |
| 429 | Rate limit exceeded |
| Fail Code | Description |
|---|
TASKID_ERROR | TaskId not found, expired, or wrong model type |
CONTENT_VIOLATION | Content violates safety guidelines |
INVALID_IMAGE_URL | Cannot access provided image URL |
Tips
- Cheapest+simplest preset:
mode=fast with a valid taskId.
- You can branch multiple continuation versions from one base taskId by changing prompts.
- For production, prefer
callback mode to avoid frequent polling.
- Download outputs promptly if result URLs are temporary.
Use internal task IDs from /generateTask/veo-3-1. External provider IDs will fail.