GET
https://octopusx.ai
/
v1
/
videos
/
{task_id}
Veo Task Query
curl --request GET \
  --url https://octopusx.ai/v1/videos/{task_id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "task_id": "<string>"
}
'
{
  "id": "video_abc123",
  "object": "video",
  "model": "veo_3_1-fast",
  "status": "processing",
  "progress": 50,
  "created_at": 1735689600,
  "completed_at": 0,
  "expires_at": 1735776000,
  "seconds": "8",
  "size": "720x1280",
  "remixed_from_video_id": "",
  "error": {
    "message": "",
    "code": ""
  },
  "video_url": ""
}

Veo Task Query

OpenAI-style query entry point. If the task was submitted via POST /v1/video/create, please use Query Task. Veo series submissions are also queried via GET /v1/videos/{task_id}. The external response remains an OpenAI-style video object.
  • The query path is GET /v1/videos/{task_id}.
  • After the task is completed, the result can usually be read from video_url or the proxy content address.
  • The routing layer is still handled uniformly by controller.RelayTaskFetch.

Method and Path

GET /v1/videos/{task_id}

Request Example

curl https://octopusx.ai/v1/videos/video_abc123 \
  -H "Authorization: Bearer YOUR_API_KEY"

Response Example

{
  "id": "video_abc123",
  "object": "video",
  "model": "veo_3_1-fast",
  "status": "processing",
  "progress": 50,
  "created_at": 1735689600,
  "completed_at": 0,
  "expires_at": 1735776000,
  "seconds": "8",
  "size": "720x1280",
  "remixed_from_video_id": "",
  "error": {
    "message": "",
    "code": ""
  },
  "video_url": ""
}

Authentication

Authorization: Bearer YOUR_API_KEY

Path Parameters

task_id
string
required
Video task ID.

Response

id
string
Task ID.
object
string
Always video.
status
string
Task status. Common values include queued, processing, completed, failed, and cancelled.
progress
integer
Progress percentage.
seconds
string
Output duration.
size
string
Output dimensions.
video_url
string
Video result URL.