PiAPI
HomeWorkspace
HomeWorkspace
Join Discord
  1. Hailuo
  • Get Started
    • Overview
    • Quickstart
    • Make Instruction: How to Use PiAPI to Build a Workflow on Make?
  • Endpoints
    • Song(Udio)
      • Song API Task Creation Examples
      • [Udio] Song Extend
      • Get Task
      • Create Task
      • [Udio] Generate Lyrics
    • Kling
      • Lipsync With PiAPI Kling API Examples
      • Motion Brush With PiAPI Kling API Example
      • Kling Elements Video Generation API
      • Kling Effects Video Generation
      • Cancel Task
        • Cancel Tasks
        • Cancel Task
      • Get Task
      • Create Task
      • Kling Virtual Try-On
    • Hailuo
      • Hailuo Director Mode Example
      • Generate Video
        POST
      • Get Task
        GET
    • Flux
      • Flux with LoRA and Controlnet
      • Available LoRA and Controlnet
      • Flux API with Redux Variation, Fill, Inpaint and Outpaint
      • Create Task
        • Text to Image
        • Image to Image
      • Get task
    • AI Hug
      • Get Task
      • Create Task
    • LLM
      • Use Cases for GPT-4o Image API
      • How To Avoid Timeouts in Completion API
      • GPT-4o Image Generation API
      • LLM API | Basic Completions
      • Get Task
    • Midjourney
      • PiAPI Penalties on Midjourney Usage
      • Detailed Explaination on Midjourney Task Result
      • Midjourney V7 API Instructions
      • Create Task
        • Imagine
        • Upscale
        • Variation
        • Reroll
        • Describe
        • Seed
        • Blend
        • Inpaint
        • Outpaint
        • Pan
      • Cancel Task
        • Cancel Task
        • Cancel Tasks
      • Get Task
    • Faceswap
      • Multi Faceswap
      • Image Faceswap
      • Video Faceswap
      • Get Task
    • TTS
      • Zeroshot Text-to-Speech F5-TTS
      • Get Task
    • Trellis
      • Create Task
      • Get Task
    • Luma Dream Machine
      • Cancel Task
        • Cancel Tasks
        • Cancel Task
      • Create Task
      • Get Task
    • WanX
      • Available LoRA Types for Wanx
      • Generate WanX Task with LoRA Using PiAPI
      • Use Cases for Wanx LoRA
      • Create Task
      • Get Task
    • Skyreels
      • Create Task
      • Get Task
    • Framepack
      • Create Task
      • Get Task
    • Hunyuan Video
      • How to Make a Hunyuan API Call
      • Get Task
      • Generate Video
    • Mmaudio
      • Get Task
      • Generate Audio
    • DiffRhythm
      • Generate Audio
      • Get Task
    • Tools
      • File Upload API
      • Video Upscale
      • Video Upscale-Get Task
      • Remove Background API
      • Remove Background-Get Task
      • Segment With Prompt API
      • Segment With Prompt API-Get Task
      • Image Upscale(Super Resolution) API
      • Image Upscale-Get Task
    • PiAPI Account Management
      • PiAPI Account Info
      • Task List Info
      • User Task History
  • Resources
    • Change Log
    • Output Storage
    • Unified API Schema
    • Webhook
    • Bulk Generation Service
    • Billings
    • PiAPI MCP Server
    • Workspace Manual
      • Host-your-account (HYA) | Back-up Account
      • Host-your-account (HYA) | Debug Checklist
      • Host-your-account (HYA) | Connected Account Status
    • Announcements
      • PiAPI 2025 January 1st Pricing Update
  • Legacy Documentation
    • Midjourney
      • Midjourney Webhook
      • Imagine
      • Reroll
      • Upscale
      • Variation
      • Inpaint
      • Outpaint
      • Pan
      • Describe
      • Blend
      • Seed
      • Fetch
      • Multi Fetch
      • Cancel
    • Face Swap
      • Video Faceswap
      • Multi-face-swap
      • Fetch
    • Dream Machine
      • Video Generation
      • Video Extend
      • Get Video Generation
    • Kling
      • Video Generation
      • Video Extend
      • Get Video Generation
  1. Hailuo

Generate Video

POST
/api/v1/task
Hailuo API provides video generation services with various models supporting text-to-video and image-to-video conversions.

Pricing#

ModelPrice (USD)Special Requirements
t2v-01$0.20None
i2v-01$0.20None
i2v-01-director$0.20None
t2v-01-director$0.20None
i2v-01-live$0.20None
s2v-01$0.30Must detect human face in input image

Model Requirements#

Text-to-Video (t2v-01, t2v-01-director)#

Required fields: prompt
Optional fields: expand_prompt
image_url should not be provided

Image-to-Video (i2v-01, i2v-01-live, i2v-01-director)#

Required fields: image_url
Optional fields: prompt, expand_prompt

Subject Reference Video (s2v-01)#

Required fields: prompt, image_url
Optional fields: expand_prompt
Input image must contain detectable human face
Higher pricing tier ($0.30 per generation)

Input Constraints#

Text Prompt (prompt)#

Maximum length: 2000 characters
Required for: t2v-01, s2v-01, i2v-01-director, t2v-01-director
Optional for: i2v-01, i2v-01-live

Image Requirements (image_url)#

File formats: JPG, PNG only
Size limit: 10MB maximum
Dimensions:
Minimum: 300px (width or height)
Maximum: 4096px (width or height)
Aspect ratio: Must be between 2:5 and 5:2
Required for: i2v-01, i2v-01-live, s2v-01, i2v-01-director

Configuration Options#

Service Mode#

Currently only supports "public" mode (or Pay-As-You-Go)

Important Notes#

1.
For s2v-01 model:
Face detection is mandatory in the input image
Failed face detection will result in task failure
Higher price (0.30vs0.20 for other models)
2.
Image processing:
All dimensions must be within 300px to 4096px range
Aspect ratio must be between 2:5 and 5:2
Only JPG and PNG formats are accepted
Images larger than 10MB will be rejected
3.
Billing:
Cost is calculated per generation
Charges are applied upon successful task completion only

Request

Header Params
x-api-key
string 
optional
Body Params application/json
model
enum<string> 
required
Model name, currently only supports 'hailuo'
Allowed value:
hailuo
task_type
enum<string> 
required
Task type, currently only supports 'video_generation'
Allowed value:
video_generation
input
object 
required
prompt
string 
optional
Required for t2v-01,t2v-01-director and s2v-01 models. Text prompt for video generation.
<= 2000 characters
model
enum<string> 
required
Model type for video generation
Allowed values:
i2v-01i2v-01-livet2v-01s2v-01t2v-01-directori2v-01-director
image_url
string <uri>
optional
Required for i2v-01, i2v-01-live, and s2v-01 models. Image URL must be jpg/png, 300px-4096px, aspect ratio between 2:5 and 5:2, max 10MB
expand_prompt
boolean 
optional
Whether to expand the input prompt
config
object 
required
service_mode
enum<string> 
required
Service mode for the request
Allowed value:
public
webhook_config
object 
optional
Example
{
  "model": "hailuo",
  "task_type": "video_generation",
  "input": {
    "prompt": "string",
    "model": "i2v-01",
    "image_url": "http://example.com",
    "expand_prompt": true
  },
  "config": {
    "service_mode": "public",
    "webhook_config": {
      "endpoint": "http://example.com",
      "secret": "string"
    }
  }
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.piapi.ai/api/v1/task' \
--header 'x-api-key;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "model": "hailuo",
    "task_type": "video_generation",
    "input": {
        "prompt": "string",
        "model": "i2v-01",
        "image_url": "http://example.com",
        "expand_prompt": true
    },
    "config": {
        "service_mode": "public",
        "webhook_config": {
            "endpoint": "http://example.com",
            "secret": "string"
        }
    }
}'

Responses

🟢200OK
application/json
Successful response
Body
code
enum<integer> 
required
Response status code
Allowed value:
200
message
string 
required
Response message
data
object 
required
task_id
string <uuid>
required
Unique task identifier
model
string 
required
Model used for generation
task_type
string 
required
Type of task performed
status
string 
required
Current status of the task
config
object 
optional
input
object 
required
output
object 
required
meta
object 
required
error
object 
optional
Example
{
  "code": 200,
  "message": "string",
  "data": {
    "task_id": "736fde4d-9029-4915-8189-01353d6982cb",
    "model": "string",
    "task_type": "string",
    "status": "string",
    "config": {},
    "input": {},
    "output": {
      "percent": 0,
      "cover_url": "http://example.com",
      "video_url": "http://example.com",
      "download_url": "http://example.com",
      "desc": "string",
      "prompt_img_url": "string",
      "status": 0,
      "user_origin_prompt": true,
      "width": 0,
      "height": 0,
      "model_id": "string",
      "message": "string"
    },
    "meta": {
      "created_at": "2019-08-24T14:15:22Z",
      "started_at": "2019-08-24T14:15:22Z",
      "ended_at": "2019-08-24T14:15:22Z",
      "usage": {
        "type": "string",
        "frozen": 0,
        "consume": 0
      },
      "is_using_private_pool": true
    },
    "error": {
      "code": 0,
      "raw_message": "string",
      "message": "string",
      "detail": {}
    }
  }
}
Modified at 2025-03-18 04:03:49
Previous
Hailuo Director Mode Example
Next
Get Task