Retrieve a Veo video task and refresh output links
curl --request GET \
--url https://gengen.farm/v1/contents/generations/tasks/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://gengen.farm/v1/contents/generations/tasks/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://gengen.farm/v1/contents/generations/tasks/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "veo31:12345678-1234-4234-8234-123456789abc",
"model": "veo-3.1-lite-generate-001",
"status": "succeeded",
"outputs": {
"videos": [
"https://storage.googleapis.com/your-output-bucket/video.mp4?SIGNED_QUERY"
],
"images": [],
"expiresAt": "2026-10-16T10:00:00.000Z",
"urlsExpireAt": "2026-10-09T11:00:00.000Z"
},
"createdAt": "2026-10-09T09:58:00.000Z",
"updatedAt": "2026-10-09T10:00:00.000Z"
}Video API
Retrieve a Veo video task
Use the shared video task query endpoint to check Veo progress and retrieve video URLs.
GET
/
contents
/
generations
/
tasks
/
{id}
Retrieve a Veo video task and refresh output links
curl --request GET \
--url https://gengen.farm/v1/contents/generations/tasks/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://gengen.farm/v1/contents/generations/tasks/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://gengen.farm/v1/contents/generations/tasks/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "veo31:12345678-1234-4234-8234-123456789abc",
"model": "veo-3.1-lite-generate-001",
"status": "succeeded",
"outputs": {
"videos": [
"https://storage.googleapis.com/your-output-bucket/video.mp4?SIGNED_QUERY"
],
"images": [],
"expiresAt": "2026-10-16T10:00:00.000Z",
"urlsExpireAt": "2026-10-09T11:00:00.000Z"
},
"createdAt": "2026-10-09T09:58:00.000Z",
"updatedAt": "2026-10-09T10:00:00.000Z"
}Veo uses the same
Querying does not start a new generation or charge again. Do not repeat the creation request to check progress: each creation request starts a separate task.
GET /v1/contents/generations/tasks/{id} endpoint as other video models. Pass the complete id returned by Create a Veo video task, including the veo31: prefix. No model parameter or request body is required.
Authenticate with the same GENGEN API key that created the task. A task that does not belong to the calling key returns 404.
curl --request GET \
--url 'https://gengen.farm/v1/contents/generations/tasks/veo31%3AYOUR_TASK_UUID' \
--header 'Authorization: Bearer gengen_live_xxxxxxxxxxxxxxxx'
Task status
status | Action |
|---|---|
queued | The task is waiting to run. Continue polling. |
running | Generation is in progress. Continue polling. |
succeeded | Read video URLs from outputs.videos. |
failed | Stop polling. Check failureReason when present. |
Video URLs and expiry
Successful tasks return playable HTTPS URLs inoutputs.videos. Download the videos before outputs.expiresAt, which is seven days after generation completes.
Each signed URL expires within one hour, as indicated by outputs.urlsExpireAt. Query the task again to obtain fresh URLs while the video is still retained. This refresh does not extend the seven-day retention period.
Before completion, after failure, or after media expiry, outputs.videos is empty. An expired video does not change a successful task’s status.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Complete task id returned by creation, including the veo31: prefix.
Pattern:
^veo31:[a-f0-9-]+$Response
Current task status and available video URLs
Example:
"veo31:12345678-1234-4234-8234-123456789abc"
Available options:
veo-3.1-generate-001, veo-3.1-fast-generate-001, veo-3.1-lite-generate-001 Available options:
queued, running, succeeded, failed Show child attributes
Show child attributes