Hailuo Standard - Image to Video
Transform images into dynamic videos powered by Hailuo’s advanced AI model
Query Task Status
After submitting a task, use the unified query endpoint to check progress and retrieve results:Get Task Details
Learn how to query task status and retrieve generation results
For production use, we recommend using the
callBackUrl parameter to receive automatic notifications when generation completes, rather than polling the status endpoint.Related Resources
Rate limits and quotas are enforced by Apikley and may differ from upstream providers.
OpenAPI
market/hailuo/02-image-to-video-standard.json post /api/v1/jobs/createTask
Copy
openapi: 3.0.0
info:
title: Hailuo API
description: Apikley Hailuo API Documentation - Image to Video
version: 1.0.0
contact:
name: Technical Support
email: [email protected]
servers:
- url: https://api.apikley.ru
description: API Server
security:
- BearerAuth: []
paths:
/api/v1/jobs/createTask:
post:
summary: Generate videos from images using hailuo/02-image-to-video-standard
operationId: hailuo-02-image-to-video-standard
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- model
properties:
model:
type: string
enum:
- hailuo/02-image-to-video-standard
default: hailuo/02-image-to-video-standard
description: >-
The model name to use for generation. Required field.
- Must be `hailuo/02-image-to-video-standard` for this
endpoint
example: hailuo/02-image-to-video-standard
callBackUrl:
type: string
format: uri
description: >-
The URL to receive generation task completion updates.
Optional but recommended for production use.
- System will POST task status and results to this URL when
generation completes
- Callback includes generated content URLs and task
information
- Your callback endpoint should accept POST requests with
JSON payload containing results
- Alternatively, use the Get Task Details endpoint to poll
task status
example: https://your-domain.com/api/callback
input:
type: object
description: Input parameters for the generation task
properties:
prompt:
description: >-
The text prompt describing the video to generate (Max
length: 1500 characters)
type: string
maxLength: 1500
example: >-
Epic aerial shot: A lone samurai stands atop a jagged
mountain peak as a storm of sakura petals is swept
across the wind. Behind him, the sky is split in two —
half daylight, half night. The shot pulls back to reveal
that the mountain is actually the curved back of a
sleeping dragon that spans across the horizon. Lightning
crackles in the distance as the dragon's eye slowly
opens, glowing with ancient magic. The samurai doesn’t
flinch; he lowers his straw hat and places his hand on
the hilt of his blade.
image_url:
description: >-
The URL of the image to use as the first frame of the
video (File URL after upload, not file content; Accepted
types: image/jpeg, image/png, image/webp; Max size:
10.0MB)
type: string
example: >-
https://file.aiquickdraw.com/custom-page/akr/section-images/17585207681646umf3lz8.png
end_image_url:
description: >-
Optional URL of the image to use as the last frame of
the video (File URL after upload, not file content;
Accepted types: image/jpeg, image/png, image/webp; Max
size: 10.0MB)
type: string
example: >-
https://file.aiquickdraw.com/custom-page/akr/section-images/1758521423357w8586uq8.png
duration:
description: >-
The duration of the video in seconds. 10 seconds videos
are not supported for 1080p resolution.
type: string
enum:
- '6'
- '10'
default: '10'
example: '10'
resolution:
description: The resolution of the generated video.
type: string
enum:
- 512P
- 768P
default: 768P
example: 768P
prompt_optimizer:
description: >-
Whether to use the model's prompt optimizer (Boolean
value (true/false))
type: boolean
example: true
required:
- prompt
- image_url
example:
model: hailuo/02-image-to-video-standard
callBackUrl: https://your-domain.com/api/callback
input:
prompt: >-
Epic aerial shot: A lone samurai stands atop a jagged mountain
peak as a storm of sakura petals is swept across the wind.
Behind him, the sky is split in two — half daylight, half
night. The shot pulls back to reveal that the mountain is
actually the curved back of a sleeping dragon that spans
across the horizon. Lightning crackles in the distance as the
dragon's eye slowly opens, glowing with ancient magic. The
samurai doesn’t flinch; he lowers his straw hat and places his
hand on the hilt of his blade.
image_url: >-
https://file.aiquickdraw.com/custom-page/akr/section-images/17585207681646umf3lz8.png
end_image_url: >-
https://file.aiquickdraw.com/custom-page/akr/section-images/1758521423357w8586uq8.png
duration: '10'
resolution: 768P
prompt_optimizer: true
responses:
'200':
description: Request successful
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ApiResponse'
- type: object
properties:
data:
type: object
properties:
taskId:
type: string
description: >-
Task ID, can be used with Get Task Details
endpoint to query task status
example: task_hailuo_1765185334551
example:
code: 200
msg: success
data:
taskId: task_hailuo_1765185334551
'500':
$ref: '#/components/responses/Error'
components:
schemas:
ApiResponse:
type: object
properties:
code:
type: integer
enum:
- 200
- 401
- 402
- 404
- 422
- 429
- 455
- 500
- 501
- 505
description: >-
Response status code
- **200**: Success - Request has been processed successfully
- **401**: Unauthorized - Authentication credentials are missing or
invalid
- **402**: Insufficient Credits - Account does not have enough
credits to perform the operation
- **404**: Not Found - The requested resource or endpoint does not
exist
- **422**: Validation Error - The request parameters failed
validation checks
- **429**: Rate Limited - Request limit has been exceeded for this
resource
- **455**: Service Unavailable - System is currently undergoing
maintenance
- **500**: Server Error - An unexpected error occurred while
processing the request
- **501**: Generation Failed - Content generation task failed
- **505**: Feature Disabled - The requested feature is currently
disabled
msg:
type: string
description: Response message, error description when failed
example: success
responses:
Error:
description: Server Error
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: API Key
description: >-
All APIs require authentication via Bearer Token.
Get API Key:
1. Visit [API Key Management Page](https://app.apikley.ru/keys) to get your
API Key
Usage:
Add to request header:
Authorization: Bearer APIKLEY_API_KEY
Note:
- Keep your API Key secure and do not share it with others
- If you suspect your API Key has been compromised, reset it immediately
in the management page
To find navigation and other pages in this documentation, fetch the llms.txt file at: https://docs.apikley.ru/llms.txt