Skip to main content
POST
/
v1
/
videos
/
generations
OmniHuman-1.5 Digital Human Video Generation
curl --request POST \
  --url https://api.evolink.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "omnihuman-1.5",
  "audio_url": "https://example.com/audio.mp3",
  "image_urls": [
    "https://example.com/person.jpg"
  ]
}
'
{
"created": 1757169743,
"id": "task-unified-1757169743-7cvnl5zw",
"model": "omnihuman-1.5",
"object": "video.generation.task",
"progress": 0,
"status": "pending",
"task_info": {
"can_cancel": false,
"estimated_time": 120,
"video_duration": 10
},
"type": "video",
"usage": {
"billing_rule": "per_second",
"credits_reserved": 10,
"user_group": "default"
}
}

Authorizations

Authorization
string
header
required

##All APIs require Bearer Token authentication##

Get API Key:

Visit API Key Management Page to get your API Key

Add to request header when using:

Authorization: Bearer YOUR_API_KEY

Body

application/json
model
string
default:omnihuman-1.5
required

Digital human video generation model name

Example:

"omnihuman-1.5"

audio_url
string<uri>
required

Audio URL for driving lip-sync and body movements

Note:

  • Maximum audio duration: 35 seconds
  • Supported formats: .mp3, .wav
  • Audio URLs must be directly accessible by the server
  • Billing is based on audio duration (rounded up to the nearest second)
Example:

"https://example.com/audio.mp3"

image_urls
string<uri>[]
required

Reference image URL list containing the person to animate

Note:

  • Number of images per request: 1
  • Image should contain a clear human figure
  • Image size: no more than 10MB
  • Supported file formats: .jpg, .jpeg, .png, .webp
  • Image URLs must be directly viewable by the server
Maximum array length: 1
Example:
["https://example.com/person.jpg"]
prompt
string

Optional text prompt to guide the generation style, only supports Chinese, English, Japanese, Korean, Mexican Spanish, and Indonesian

Example:

"A person speaking naturally with subtle expressions"

pe_fast_mode
boolean
default:false

Enable fast processing mode

Note:

  • true: Faster generation with potentially lower quality
  • false: Standard quality processing (default)
Example:

false

mask_url
string<uri>[]

Mask URL array for specifying animation regions

Note:

  • Optional parameter for advanced control
  • Mask images should match the reference image dimensions
Example:
["https://example.com/mask.png"]
seed
integer

Random seed as the basis for determining the initial diffusion state, default random. If the seed is the same positive integer and all other parameters are consistent, the generated content may have consistent results

subject_check
boolean
default:false

Enable subject detection to verify human presence in the image

Note:

  • true: Enable subject detection, request initiation time will increase
  • false: Skip subject detection (default)
Example:

false

auto_mask
boolean
default:false

Enable automatic mask generation

Note:

  • true: Automatically detect and mask the human figure, request initiation time will increase. This parameter is ignored when mask_url has a value
  • false: Use provided mask_url or no mask (default)
Example:

false

callback_url
string<uri>

HTTPS callback address after task completion

Callback Timing:

  • Triggered when task is completed, failed, or cancelled
  • Sent after billing confirmation is completed

Security Restrictions:

  • Only HTTPS protocol is supported
  • Callback to internal IP addresses is prohibited (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
  • URL length must not exceed 2048 characters

Callback Mechanism:

  • Timeout: 10 seconds
  • Maximum 3 retries on failure (retries after 1 second/2 seconds/4 seconds)
  • Callback response body format is consistent with the task query API response format
  • Callback address returning 2xx status code is considered successful, other status codes will trigger retry
Example:

"https://your-domain.com/webhooks/video-task-completed"

Response

Digital human video generation task created successfully

created
integer

Task creation timestamp

Example:

1757169743

id
string

Task ID

Example:

"task-unified-1757169743-7cvnl5zw"

model
string

Actual model name used

Example:

"omnihuman-1.5"

object
enum<string>

Specific task type

Available options:
video.generation.task
progress
integer

Task progress percentage (0-100)

Required range: 0 <= x <= 100
Example:

0

status
enum<string>

Task status

Available options:
pending,
processing,
completed,
failed
Example:

"pending"

task_info
object

Video task detailed information

type
enum<string>

Task output type

Available options:
text,
image,
audio,
video
Example:

"video"

usage
object

Usage and billing information