OmniHuman 1.5 API documentation
Integrate OmniHuman 1.5 with your VezAPI key. The operations below share the same authentication and account balance.
https://api.vezapi.comSend Authorization: Bearer YOUR_VEZAPI_KEY. Use a unique Idempotency-Key for each submission; reuse it only when checking the same request.
Omnihuman 1.5
/api/v1/jobs/createTaskModel IDs: omnihuman-1-5
| Parameter | Type | Description & constraints |
|---|---|---|
modelrequired | string | The model name used for generation. This field is required. - This endpoint must use the `omnihuman-1-5` model Values: Default: |
inputrequired | object | Input parameters for the audio-driven portrait animation task. |
input.image_urlrequired | string | Portrait image URL. Supports any aspect ratio with subjects including people, pets, anime, etc. Accepted file types: image/jpeg, image/png, image/webp. Max file size: 10MB. |
input.mask_urloptional | array | Optional mask image URL(s). To have a specific subject in the image speak, use 'Subject Detection' to get the corresponding mask image and pass it as input. Accepted file types: image/jpeg, image/png, image/webp. Max file size: 10MB. Multiple file upload is supported, up to 5 files.
|
input.audio_urlrequired | string | Audio URL. Duration must be less than 60 seconds (recommended 15 seconds or less; exceeding this will cause quality degradation). Accepted file types: audio/mpeg, audio/wav, audio/x-wav, audio/aac, audio/ogg, audio/mp4. Max file size: 10MB. |
input.promptoptional | string | Optional. Supported languages: Chinese, English, Japanese, Korean, Spanish, Indonesian. Up to 300 characters.
|
input.output_resolutionoptional | string | Output video resolution. - `720`: 720P - `1080`: 1080P (default) The output keeps the aspect ratio of the input image; 720 and 1080 are resolution tiers, not exact heights. The output is an MP4 as long as the audio. Values: Default: |
input.pe_fast_modeoptional | boolean | Fast mode. Sacrifices some quality to speed up generation. Default value: `false`. Default: |
input.seedoptional | integer | Random seed. Default is `-1` (random). When using the same positive integer and keeping all other parameters identical, the result will be highly consistent. Default: |
callBackUrloptional | string | Callback URL. Once the task is fully completed, VezAPI will send the result to the business webhook URL. To verify callbacks, see [Webhook Verification Guide](/common-api/webhook-verification). |
Request example
curl -X POST 'https://api.vezapi.com/api/v1/jobs/createTask' \
-H 'Authorization: Bearer YOUR_VEZAPI_KEY' \
-H 'Idempotency-Key: your-unique-request-id' \
-H 'Content-Type: application/json' \
-d '{
"model": "omnihuman-1-5",
"input": {
"image_url": "https://example.com/input.png",
"audio_url": "https://example.com/input.png",
"prompt": "Your prompt"
}
}'Responses and errors
HTTP 200
Request successful
| Parameter | Type | Description & constraints |
|---|---|---|
codeoptional | integer | Status code of the request. The HTTP status is 200 even when the request fails, so always check this field: 200 means success; any other value means the request failed and msg describes the reason. Common values: 401 invalid or missing API key; 402 insufficient credits; 429 rate limit exceeded; 422 or 500 the request could not be processed (read msg and check your parameters before retrying). Values: |
msgoptional | string | Response message, error description upon failure |
datarequired | object | |
data.taskIdrequired | string | The task ID can be used with the "Get Task Details" endpoint to query the task status. |
Omnihuman 1.5 Human Identification
/api/v1/jobs/createTaskModel IDs: omnihuman-1-5/human-identification
| Parameter | Type | Description & constraints |
|---|---|---|
modelrequired | string | The model name used for human identification. This field is required. - This endpoint must use the `omnihuman-1-5/human-identification` model Values: Default: |
inputrequired | object | Input parameters for the human identification task. |
input.image_urlrequired | string | Portrait image URL. Requirements: JPG/PNG/JPEG format, less than 5MB, resolution under 4096x4096. Recommended: single person facing forward, with the face occupying a large proportion of the image. Accepted file types: image/jpeg, image/png, image/jpg. Max file size: 5MB. |
callBackUrloptional | string | Callback URL. Once the task is fully completed, VezAPI will send the result to the business webhook URL. To verify callbacks, see [Webhook Verification Guide](/common-api/webhook-verification). |
Request example
curl -X POST 'https://api.vezapi.com/api/v1/jobs/createTask' \
-H 'Authorization: Bearer YOUR_VEZAPI_KEY' \
-H 'Idempotency-Key: your-unique-request-id' \
-H 'Content-Type: application/json' \
-d '{
"model": "omnihuman-1-5/human-identification",
"input": {
"image_url": "https://example.com/input.png"
}
}'Responses and errors
HTTP 200
Request successful
| Parameter | Type | Description & constraints |
|---|---|---|
codeoptional | integer | Status code of the request. The HTTP status is 200 even when the request fails, so always check this field: 200 means success; any other value means the request failed and msg describes the reason. Common values: 401 invalid or missing API key; 402 insufficient credits; 429 rate limit exceeded; 422 or 500 the request could not be processed (read msg and check your parameters before retrying). Values: |
msgoptional | string | Response message, error description upon failure |
datarequired | object | |
data.taskIdrequired | string | The task ID can be used with the "Get Task Details" endpoint to query the task status. |
OmniHuman 1.5 Subject Detection
/api/v1/jobs/createTaskModel IDs: omnihuman-1-5/subject-detection
| Parameter | Type | Description & constraints |
|---|---|---|
modelrequired | string | The model name used for subject detection. This field is required. - This endpoint must use the `omnihuman-1-5/subject-detection` model Values: Default: |
inputrequired | object | Input parameters for the subject detection task. |
input.image_urlrequired | string | Portrait image URL. Supports detection of up to 5 subjects in the image. Accepted file types: image/jpeg, image/png, image/jpg. Max file size: 5MB. |
callBackUrloptional | string | Callback URL. Once the task is fully completed, VezAPI will send the result to the business webhook URL. To verify callbacks, see [Webhook Verification Guide](/common-api/webhook-verification). |
Request example
curl -X POST 'https://api.vezapi.com/api/v1/jobs/createTask' \
-H 'Authorization: Bearer YOUR_VEZAPI_KEY' \
-H 'Idempotency-Key: your-unique-request-id' \
-H 'Content-Type: application/json' \
-d '{
"model": "omnihuman-1-5/subject-detection",
"input": {
"image_url": "https://example.com/input.png"
}
}'Responses and errors
HTTP 200
Request successful
| Parameter | Type | Description & constraints |
|---|---|---|
codeoptional | integer | Status code of the request. The HTTP status is 200 even when the request fails, so always check this field: 200 means success; any other value means the request failed and msg describes the reason. Common values: 401 invalid or missing API key; 402 insufficient credits; 429 rate limit exceeded; 422 or 500 the request could not be processed (read msg and check your parameters before retrying). Values: |
msgoptional | string | Response message, error description upon failure |
datarequired | object | |
data.taskIdrequired | string | The task ID can be used with the "Get Task Details" endpoint to query the task status. |
Task status and callbacks
For asynchronous tasks, keep the returned taskId. Query GET /api/v1/jobs/recordInfo?taskId=... or provide callBackUrl when creating the task. Only the account that created a task can access it or derive new resources from it.
A timeout can mean the submission was accepted. Inspect the existing request in your dashboard; do not create another task automatically. Callback delivery is retried and may arrive more than once. Deduplicate with X-VezAPI-Event-Id.
Files, logs and billing
Generated media normally follows a 14-day provider lifetime; uploaded files expire after 24 hours. Save the files you need before expiration. VezAPI streams registered files without keeping a permanent media library. Request logs are retained for two calendar months.
Credits are reserved before submission. Final deductions match actual discounted consumption one for one. Unknown usage pauses new paid requests. If available funds cannot cover final usage while protecting other reservations, settlement stays pending until funded; model usage cannot make the wallet negative. Time-based inputs require server-side metadata reads; a failed read prevents submission.