---
title: "Get Task Status"
method: GET
path: "/v2/hailuo/tasks/{id}"
tags: ["H3 Video"]
---

# Get Task Status

`GET /v2/hailuo/tasks/{id}`

## Request

- Base URL: `https://genaipro.io/api`
- URL: `https://genaipro.io/api/v2/hailuo/tasks/{id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/genaipro/apis/genaipro-api/docs/v2/hailuo/tasks/:id/get.ts> (a function with typed inputs; its response is checked against the schema)

Poll the status of a `/v2/hailuo` task (any creation endpoint of this group; Sunburst / Flare image tasks are also readable here).

### Status values

| Status | Description |
|--------|-------------|
| `processing` | Task is being processed |
| `completed` | Done — `file_urls` contains the generated files. If some outputs failed, `failed_slots` lists them (refunded) |
| `failed` | Error — see `error`. Credits are automatically refunded |

> **Rate limit:** 120 requests/minute per account, across all tasks. Prefer `callback_url`, the `hailuo_task_updated` WebSocket event, or `GET /v2/hailuo/histories` (see *H3 Video → Getting results*).

## Path parameters

- `id` string, required

## Response `200`

Task status

- H3Task: Task object returned by every `/v2/hailuo` endpoint — creation (`202`), `GET /tasks/{id}`, `GET /histories`, the `hailuo_task_updated` WebSocket event and the `callback_url` webhook.
  - `id` string: Task ID (use for `GET /v2/hailuo/tasks/{id}`)
  - `prompt` string: The prompt used for generation (for Boost HD, the source task's prompt)
  - `file_urls` string[]: URLs of the generated files (empty while processing). Public; deleted about 90 days after creation (then `404`) — download them yourself.
  - `status` 'processing' | 'completed' | 'failed': Task status
  - `error` string: Error message — present only when `status` is `failed`
  - `failed_slots` object[]: Outputs that failed while the rest completed (their credits are refunded). Present only when `status` is `completed` and some outputs failed; `file_urls` contains only the generated files.
    - `index` integer: 0-based position of the failed output in the request
    - `error` string
  - `task_type` string: `text_to_video`, `frames_to_video`, `reference_to_video` or `upscale_video` (image tasks: `create_image`)
  - `aspect_ratio` string: Aspect ratio of the task — `Auto` for frames-to-video (follows the start image)
  - `model` string: Model and options of the task. Video: `<model>_<resolution>_<duration>s` (e.g. `h3_768p_10s`, `h3_max_480p_5s`); Boost HD: `upscale_<resolution>` (e.g. `upscale_1440p`).
  - `number_of_outputs` integer: Number of videos (or images) requested
  - `created_at` string, date-time: Timestamp when the task was created

## Other responses

- `401`: Missing or invalid API token
- `404`: Task not found or does not belong to the authenticated user
- `429`: Rate limit exceeded

## Changes

- **2026-10-29** `8e065c159192`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/genaipro/apis/genaipro-api/changes/v2/hailuo/tasks/:id/get.md)

---

[API](https://skmtc.dev/genaipro/apis/genaipro-api.md) - [All operations](https://skmtc.dev/genaipro/apis/genaipro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/genaipro/apis/genaipro-api/revisions/264ca07ba262?raw)
