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://api.lithovas.com/api/generate

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

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

Query Result

GET
GET https://api.lithovas.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 describing desired video animation (max 5000 chars)

image_urlstringrequired

Input image URL to animate (JPEG/PNG/WebP, max 10MB)

durationenum<string>optional

Video duration in seconds (10s not supported at 1080p)

resolutionenum<string>optional

Generated video resolution

nsfw_checkerbooleanoptional

Toggle content filtering (disabled when false)

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "hailuo/2-3-image-to-video-pro",
  "input": {
    "prompt": "Animate the image with natural motion, subtle camera movement, and cinematic lighting.",
    "image_url": "https://example.com/input.jpg",
    "duration": "6",
    "resolution": "768P",
    "nsfw_checker": false
  }
}'

Hailuo 2.3 · Image to Video

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

Text prompt describing the desired video animation (max 5000 chars)

image_urlstringrequired

Input image file URL to animate (JPEG/PNG/WebP, max 10MB)

durationstringoptional

Video duration in seconds; 10s videos lack 1080p support

resolutionstringoptional

Output video resolution setting

nsfw_checkerbooleanoptional

Disables content filtering when set to false

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "hailuo/2-3-image-to-video-standard",
  "input": {
    "prompt": "Animate the image with natural motion, subtle camera movement, and cinematic lighting.",
    "image_url": "https://example.com/input.jpg",
    "duration": "6",
    "resolution": "768P",
    "nsfw_checker": false
  }
}'

Hailuo 02 · Text to Video

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

Text prompt for video generation (max 1500 chars)

prompt_optimizerbooleanoptional

Whether to use the model's prompt optimizer

nsfw_checkerbooleanoptional

Content filtering toggle; set false to disable filtering

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "hailuo/02-text-to-video-pro",
  "input": {
    "prompt": "A cinematic red panda surfing through neon rain at dusk.",
    "prompt_optimizer": false,
    "nsfw_checker": false
  }
}'

Hailuo 02 · Image to Video

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

Text prompt describing the desired video animation (max 1500 chars)

image_urlstringrequired

Input image to animate; JPEG/PNG/WebP, max 10MB

end_image_urlstringoptional

Optional URL for the final frame of the video

prompt_optimizerbooleanoptional

Whether to use the model's prompt optimizer

nsfw_checkerbooleanoptional

Content filtering toggle; false disables filtering

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "hailuo/02-image-to-video-pro",
  "input": {
    "prompt": "Animate the image with natural motion, subtle camera movement, and cinematic lighting.",
    "image_url": "https://example.com/input.jpg",
    "end_image_url": "https://example.com/input.jpg",
    "prompt_optimizer": false,
    "nsfw_checker": false
  }
}'

Hailuo 02 · Text to Video

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

Text description for video generation (max 1500 chars)

durationenum<string>optional

Video duration in seconds; 10s not supported at 1080p

prompt_optimizerbooleanoptional

Whether to use the model's prompt optimizer

nsfw_checkerbooleanoptional

Content filtering toggle

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "hailuo/02-text-to-video-standard",
  "input": {
    "prompt": "A cinematic red panda surfing through neon rain at dusk.",
    "duration": "6",
    "prompt_optimizer": false,
    "nsfw_checker": false
  }
}'

Hailuo 02 · Image to Video

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

Text description for video generation (max 1500 chars)

image_urlstringrequired

URL of image to use as first video frame (JPEG/PNG/WebP, max 10MB)

end_image_urlstringoptional

Optional URL of image to use as final video frame

durationenum<string>optional

Video duration in seconds

resolutionenum<string>optional

Output video resolution

prompt_optimizerbooleanoptional

Enable model's prompt optimization

nsfw_checkerbooleanoptional

Content filtering toggle; false disables filtering

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "hailuo/02-image-to-video-standard",
  "input": {
    "prompt": "Animate the image with natural motion, subtle camera movement, and cinematic lighting.",
    "image_url": "https://example.com/input.jpg",
    "end_image_url": "https://example.com/input.jpg",
    "duration": "10",
    "resolution": "768P",
    "prompt_optimizer": false,
    "nsfw_checker": false
  }
}'