MarketSupport← Back to app

Hailuo

Hailuo models are called through one unified, asynchronous job API. Start a task with POST /api/generate, then poll GET /api/generate/{taskId} until it finishes. This family exposes 6 endpoints.

Overview

Every endpoint shares the same envelope — only model and the input fields change. Run any from the Models Market playground.

Authentication

Create an API key at /api-keys, then send it as a Bearer token. Requests from the browser while logged in also work via the session cookie.

Authorization: Bearer <YOUR_API_KEY>

Create Task

POST
POST https://97ai.97claude.com/api/generate

Body: { "model": "<slug>", "input": { … } }

Response: { "taskId": "<id>", "state": "waiting" }

Query Result

GET
GET https://97ai.97claude.com/api/generate/<taskId>

Response: { "taskId", "state": "waiting" | "success" | "fail", "resultUrls": [ … ], "creditsConsumed", "failMsg", "balance" }

Asynchronous
A 200 from Create Task only means the task was accepted — not finished. Poll this endpoint until state becomes success or fail. Failed tasks are not billed.

Endpoints

ModelTaskmodel slug
Hailuo 2.3Image to Videohailuo/2-3-image-to-video-pro
Hailuo 2.3Image to Videohailuo/2-3-image-to-video-standard
Hailuo 02Text to Videohailuo/02-text-to-video-pro
Hailuo 02Image to Videohailuo/02-image-to-video-pro
Hailuo 02Text to Videohailuo/02-text-to-video-standard
Hailuo 02Image to Videohailuo/02-image-to-video-standard

Hailuo 2.3 · Image to Video

POSTImage to Videohailuo/2-3-image-to-video-pro
input fields
promptstringrequired

Text prompt describing the desired output.

image_urlsstring[]required

One or more source image URLs to condition on.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "hailuo/2-3-image-to-video-pro",
    "input": { "prompt": "a red panda", "image_urls": ["https://example.com/in.jpg"] }
  }'

Hailuo 2.3 · Image to Video

POSTImage to Videohailuo/2-3-image-to-video-standard
input fields
promptstringrequired

Text prompt describing the desired output.

image_urlsstring[]required

One or more source image URLs to condition on.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "hailuo/2-3-image-to-video-standard",
    "input": { "prompt": "a red panda", "image_urls": ["https://example.com/in.jpg"] }
  }'

Hailuo 02 · Text to Video

POSTText to Videohailuo/02-text-to-video-pro
input fields
promptstringrequired

Text prompt describing the desired output.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "hailuo/02-text-to-video-pro",
    "input": { "prompt": "a red panda surfing" }
  }'

Hailuo 02 · Image to Video

POSTImage to Videohailuo/02-image-to-video-pro
input fields
promptstringrequired

Text prompt describing the desired output.

image_urlsstring[]required

One or more source image URLs to condition on.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "hailuo/02-image-to-video-pro",
    "input": { "prompt": "a red panda", "image_urls": ["https://example.com/in.jpg"] }
  }'

Hailuo 02 · Text to Video

POSTText to Videohailuo/02-text-to-video-standard
input fields
promptstringrequired

Text prompt describing the desired output.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "hailuo/02-text-to-video-standard",
    "input": { "prompt": "a red panda surfing" }
  }'

Hailuo 02 · Image to Video

POSTImage to Videohailuo/02-image-to-video-standard
input fields
promptstringrequired

Text prompt describing the desired output.

image_urlsstring[]required

One or more source image URLs to condition on.

Example
cURL
curl -X POST https://97ai.97claude.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "hailuo/02-image-to-video-standard",
    "input": { "prompt": "a red panda", "image_urls": ["https://example.com/in.jpg"] }
  }'