H3 Video

Boost HD (Upscale Video)

Changed on

Boost HD — upscale one finished video from this group to a higher resolution. Costs 1 credit, regardless of target resolution or video length. Returns immediately with 202 Accepted and a new task (task_type: upscale_video); the source task is not changed.

  • task_id must be one of your /v2/hailuo video tasks with status: completed (including a previous Boost HD result).
  • index picks the video inside that task's file_urls (0-based, default 0).
  • The target must be higher than the source's short side: 480p / 768p sources → 1080p, 1440p or 2160p; 2k sources → 2160p only.
  • Duration and aspect ratio are kept from the source.

Example

curl -X POST https://genaipro.io/api/v2/hailuo/upscale \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "task_id": "550e8400-e29b-41d4-a716-446655440000",
    "index": 0,
    "resolution": "1440p"
  }'

Rate limit: 30 requests/minute — shared across all /v2/hailuo creation endpoints.

post/v2/hailuo/upscale

Request

Request body

task_idstring required

ID of a completed /v2/hailuo video task you own

indexinteger

0-based position of the video in the source task's file_urls

resolution'1080p' | '1440p' | '2160p' required

Target resolution (1440p = 2K, 2160p = 4K). Must be higher than the source.

callback_urlstring

Optional http/https webhook URL. When the task reaches completed or failed, GenAIPro POSTs the task object (same shape as GET /v2/hailuo/tasks/{id}) to this URL.

Example request

{
  "task_id": "550e8400-e29b-41d4-a716-446655440000",
  "resolution": "1440p",
  "callback_url": "https://your-server.example.com/genaipro-webhook"
}

Response

Upscale task accepted for processing

idstring

Task ID (use for GET /v2/hailuo/tasks/{id})

promptstring

The prompt used for generation (for Boost HD, the source task's prompt)

file_urlsstring[]

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

errorstring

Error message — present only when status is failed

task_typestring

text_to_video, frames_to_video, reference_to_video or upscale_video (image tasks: create_image)

aspect_ratiostring

Aspect ratio of the task — Auto for frames-to-video (follows the start image)

modelstring

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_outputsinteger

Number of videos (or images) requested

created_atstring date-time

Timestamp when the task was created

Example response

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "prompt": "A drone flying over mountains at sunrise",
  "file_urls": [],
  "task_type": "text_to_video",
  "aspect_ratio": "16:9",
  "model": "h3_768p_10s",
  "number_of_outputs": 1
}

Changes