MarketSupport← Back to app

OmniHuman

OmniHuman 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 3 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
OmniHuman 1.5Lip Syncomnihuman-1-5
OmniHuman 1.5Lip Syncomnihuman-1-5/human-identification
OmniHuman 1.5Lip Syncomnihuman-1-5/subject-detection

OmniHuman 1.5 · Lip Sync

POSTLip Syncomnihuman-1-5
input fields
image_urlstringrequired

Portrait image URL; any aspect ratio (people, pets, anime, etc.)

mask_urlarray<string>optional

Optional mask image URLs (max 5) for subject detection

audio_urlstringrequired

Audio URL; duration must be less than 60 seconds

promptstringoptional

Optional text prompt (max 1000 chars); multi-language

output_resolutionenum<string>optional

Output video resolution in pixels

pe_fast_modebooleanoptional

Sacrifices some quality to speed up generation

seedintegeroptional

Random seed; same positive integer gives consistent results

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "omnihuman-1-5",
  "input": {
    "image_url": "https://example.com/input.jpg",
    "mask_url": [
      "https://example.com/file"
    ],
    "audio_url": "https://example.com/reference.mp3",
    "prompt": "A cinematic red panda surfing through neon rain at dusk.",
    "output_resolution": "1080",
    "pe_fast_mode": false,
    "seed": -1
  }
}'

OmniHuman 1.5 · Lip Sync

POSTLip Syncomnihuman-1-5/human-identification
input fields
image_urlstringrequired

Portrait image URL; JPG/PNG/JPEG, <5MB, resolution under 4096x4096

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "omnihuman-1-5/human-identification",
  "input": {
    "image_url": "https://example.com/input.jpg"
  }
}'

OmniHuman 1.5 · Lip Sync

POSTLip Syncomnihuman-1-5/subject-detection
input fields
image_urlstringrequired

Portrait image URL; supports detection of up to 5 subjects

Example
cURL
curl -X POST https://api.lithovas.com/api/generate \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "omnihuman-1-5/subject-detection",
  "input": {
    "image_url": "https://example.com/input.jpg"
  }
}'