Build with OmniHuman 1.5
Make your first request
Use your Sorceress API key on your server. The playground uses your signed-in account; your application uses the same model with an API key.
curl -X POST 'https://sorceress.games/api/v1/jobs' \
-H 'Authorization: Bearer $SORCERESS_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"model": "omnihuman-1-5",
"input": {
"seed": -1,
"pe_fast_mode": false,
"output_resolution": "1080",
"image_url": "<image_url>",
"audio_url": "<audio_url>"
}
}'Inputs & settings
seedintegerRandom seed. Default is `-1` (random). When using the same positive integer and keeping all other parameters identical, the result will be highly consistent.
promptstringOptional. Supported languages: Chinese, English, Japanese, Korean, Spanish, Indonesian. Up to 300 characters.
mask_urlarrayOptional 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.
audio_urlstringRequiredAudio 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.
image_urlstringRequiredPortrait 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.
pe_fast_modebooleanFast mode. Sacrifices some quality to speed up generation. Default value: `false`.
output_resolutionstringOutput 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.
Options: 720, 1080
Full input schema
{
"type": "object",
"required": [
"image_url",
"audio_url"
],
"properties": {
"seed": {
"type": "integer",
"title": "Seed",
"default": -1,
"description": "Random seed. Default is `-1` (random). When using the same positive integer and keeping all other parameters identical, the result will be highly consistent."
},
"prompt": {
"type": "string",
"title": "Prompt",
"maxLength": 300,
"description": "Optional. Supported languages: Chinese, English, Japanese, Korean, Spanish, Indonesian. Up to 300 characters."
},
"mask_url": {
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Mask URL",
"x-media": "image",
"maxItems": 5,
"description": "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."
},
"audio_url": {
"type": "string",
"title": "Audio URL",
"format": "uri",
"x-media": "audio",
"description": "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."
},
"image_url": {
"type": "string",
"title": "Image URL",
"format": "uri",
"x-media": "image",
"description": "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."
},
"pe_fast_mode": {
"type": "boolean",
"title": "Pe fast mode",
"default": false,
"description": "Fast mode. Sacrifices some quality to speed up generation. Default value: `false`."
},
"output_resolution": {
"enum": [
"720",
"1080"
],
"type": "string",
"title": "Output resolution",
"default": "1080",
"description": "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."
}
}
}Results, saved runs & billing
Media requests return a job ID. Poll GET /api/v1/jobs/:id until it succeeds or fails; keep the same ID while it is processing. Long chat requests can also return a saved job to poll. Completed outputs are stored in your account, and successful work is billed using your model's current rates.
A multi-step workflow may include separately billed successful actions. If a connection drops, check your saved run before submitting it again.






