hailuodownloader

Hailuo AI / INFORMATION

Hailuo Downloader API

The API resolves supported public Hailuo video pages using the same source checks and limits as the browser form. It is a downloader interface, not the official MiniMax generation API. The endpoint reference on this page describes the requests available to clients.

Resolve a link

POST /api/resolve
Content-Type: application/json

{ "url": "https://hailuoai.video/share/video/…" }

The response contains a temporary session ID, title, source URL, preview route and an array of formats. Sessions expire after ten minutes.

Download a source

GET /api/download?id=SESSION_ID&format=original

Supports a single byte Range request. Use the same domain that created the session. Public GET endpoint: /api/v1/resolve?url=ENCODED_URL, limited to 60 requests per hour per IP.

Prepare a conversion

POST /api/convert
{ "id": "SESSION_ID", "format": "gif" }

GET /api/progress/JOB_ID

The progress endpoint emits server-sent events. A done event includes a temporary download URL. A 503 BUSY response means another conversion is active. Files must be under 200 MB and 10 minutes.

Check several links

POST /api/batch
{ "urls": ["PUBLIC_SHARE_URL"] }

Up to ten links. Each result contains either a download session or an individual error. There is no API key and fair-use limits apply.

Work from the returned result

Resolve a supported individual page, inspect its formats array, and use the returned session ID for subsequent requests on this domain. The Hailuo video ID in the input URL and the downloader’s temporary session ID are different values. Do not construct a download session from the original numeric video ID.

Original media and available prompt text use the download workflow. Converted GIF, JPG or audio formats require a conversion job followed through its progress events to the returned file URL. An advertised audio format can still fail for a source without an audio track.

Handle per-item results and expiry

Batch accepts up to 10 links and returns individual successes or errors. A ZIP request collects successful source media within a combined 200 MB cap; it does not bundle prompt text or conversion outputs. Sessions and converted-file links expire after 10 minutes, so resolve the original page again when an ID has expired.

  • Keep format keys from the returned result rather than assuming every item has a prompt.
  • Wait after BUSY or RATE_LIMITED responses instead of retrying in a tight loop.
  • Treat upstream restrictions as an access limitation, not a request for account cookies.
  • Allow for a source to disappear between resolution and transfer.

← Hailuo Downloader