GuideVideo GenerationVeo

Get Video Generation Task Status

Query Veo video task status by task_id: track queueing, generating, and upsampling stages, get the video download URL, plus polling and failure-handling tips.

(Veo Video)

Query the detailed status of a Veo video generation task by task ID. Once the task completes, you can retrieve the public download link of the video; while it is still running, use the status field to track which stage the task is in.


📌 Basics

  • Endpoint: GET /v1/video/generations/{task_id}
  • Authentication: Bearer Token (Authorization: Bearer {{YOUR_API_KEY}})
  • Content type: application/json

📥 Request Parameters (Path)

ParameterTypeRequiredDescription
task_idstringYesThe task_id returned when the task was created.

📤 Response

Status code: 200 OK


📝 Request Example (cURL)

curl -X GET "https://anyrouter.win/v1/video/generations/task_LK8YADXPxyoGME6wv79x8qId62v76PO5" \
 -H "Authorization: Bearer $YOUR_API_KEY"

📝 Response Example (Task Completed)

{
  "code": "success",
  "message": "",
  "data": {
    "error": null,
    "format": "mp4",
    "metadata": null,
    "status": "succeeded", // task status
    "task_id": "task_**",
    "url": "https://anyrouter.win/v1/videos/task_MQKsdsosLYRreob4Z4NzTFxZKtSoVRWZ/content" // public URL
  }
}

Task Status Codes

  VeoStatusPending = "pending"
  VeoStatusImageDownloading = "image_downloading"
  VeoStatusVideoGenerating = "video_generating"
  VeoStatusVideoGenerationCompleted = "video_generation_completed"
  VeoStatusVideoGenerationFailed = "video_generation_failed"
  VeoStatusVideoUpsampling = "video_upsampling"
  VeoStatusVideoUpsamplingCompleted = "video_upsampling_completed"
  VeoStatusVideoUpsamplingFailed = "video_upsampling_failed"
  VeoStatusCompleted = "completed"
  VeoStatusFailed = "failed"
  VeoStatusError = "error" // error (used in error responses)

💡 Developer Tips

  1. Polling cadence: Veo generation usually takes several minutes. Poll this endpoint every 5–10 seconds to avoid rate limiting. A task moves from pending through image_downloading (image-to-video only) and video_generating until it reaches completed or failed.
  2. Upsampling stage: Some tasks enter a video_upsampling stage after generation to improve resolution. The video is not downloadable yet at that point — wait until the status becomes completed before reading url.
  3. Copy assets promptly: The returned url is a platform proxy address (/v1/videos/{task_id}/content). Copy the video to your own storage once the task succeeds instead of relying on it long-term.
  4. Failure handling: When the status is failed / error, the data.error field contains the reason. In image-to-video scenarios, an unreachable source image fails the task during image_downloading — verify the image URL is publicly accessible before retrying.

On this page