Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.unifically.com/llms.txt

Use this file to discover all available pages before exploring further.

Generate high-quality AI videos using Kling v3.0 Omni. Supports text-to-video, raw reference images, persistent subject/object elements, start/end frames, video transform, video reference, and multi-shot generation.

Model

kuaishou/kling-3.0-omni-video

Parameters

ParameterTypeRequiredDefaultDescription
video_modestringNo-Input mode. Allowed: "elements", "start_end_frame", "transform", "video_reference". Omit for text-to-video
promptstringConditional-Text prompt. Mutually exclusive with multi_shots
modestringNo"pro""std" (720p), "pro" (1080p), or "4k" (4K — $0.30/sec)
durationintegerNo5Video length in seconds (3–15)
aspect_ratiostringNo-"1:1", "9:16", "16:9", or "auto". Must be "auto" when video_url is set; rejected otherwise. Omit to let the server choose ("auto" if video_url, else "16:9")
native_audiobooleanNofalseGenerate AI audio from the video content
image_urlsstring[]No-Raw reference image URLs uploaded per request (max 7). No description, no reuse. Use @Image1, @Image2 in prompt
start_image_indexintegerNo-1-based index into image_urls marking which reference image anchors the first frame. No end-frame equivalent
elementsElementInput30[]No-Persistent subject/object assets. Auto-created on Kling and auto-deleted if submit fails. Use @Element1, @Element2 in prompt. Coexists with image_urls
start_frame_urlstringNo-First frame image URL (start_end_frame mode)
end_frame_urlstringNo-Last frame image URL (start_end_frame mode)
video_urlstringNo-Source video URL (transform / video_reference modes)
multi_shotsarrayNo-Multi-shot sequence (2–6 shots, each with prompt and duration). Mutually exclusive with prompt

Modes

ModeRequired inputsOptional inputsNotes
omitted (text-to-video)prompt or multi_shotsRejects every input field including elements, image_urls, start_frame_url, video_url
elementsAt least one of image_urls, elementsCombined image_urls + elements cap of 7. video_url rejected
start_end_framestart_frame_urlend_frame_url, elements
transformvideo_urlimage_urls, elementsCombined image_urls + elements cap of 4. aspect_ratio must be "auto"
video_referencevideo_urlimage_urls, elementsCombined image_urls + elements cap of 4. aspect_ratio must be "auto"
Text-to-video with elements — set video_mode: "elements" and pass only the elements array (no image_urls required). The omit-video_mode path is strictly for pure text-to-video with zero inputs; any reference (image or element) requires elements mode.

Reference images vs elements

  • image_urls — raw images uploaded per request. Single-use, no description, no reuse across tasks. Cap 7. Reference in prompt as @Image1, @Image2, …
  • elements — persistent subject/object assets stored on the Kling account. Auto-created from your input on submit and auto-deleted if the submit fails. Reference in prompt as @Element1, @Element2, …
Both can be used together; they share the per-mode combined cap.

Elements

v3 Omni supports both IMAGE and VIDEO elements. A video_url and any element with type: "video" are mutually exclusive — passing both returns 400 (the video element counts as your video reference).
"elements": [
  {"description": "Woman in red jacket", "type": "image", "image_urls": ["front.jpg", "side.jpg"]},
  {"description": "Man dancing", "type": "video", "video_url": "dance.mp4"}
]
Each element accepts:
ParameterTypeDefaultDescription
descriptionstring""Short description of the element (max 100 chars)
typestring"image"Element source type: "image" or "video"
image_urlsstring[]-Source image URLs for an image element (max 4)
video_urlstring-Source video URL for a video element

Example - Text-to-Video

curl -X POST https://api.unifically.com/v1/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "kuaishou/kling-3.0-omni-video",
    "input": {
      "prompt": "A majestic eagle soaring through mountain peaks at sunset",
      "duration": 5,
      "mode": "pro"
    }
  }'

Example - With Elements

curl -X POST https://api.unifically.com/v1/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "kuaishou/kling-3.0-omni-video",
    "input": {
      "video_mode": "elements",
      "prompt": "@Element1 walks through a park at sunset",
      "elements": [
        {"description": "Woman in red jacket", "type": "image", "image_urls": ["https://example.com/front.jpg"]}
      ],
      "duration": 10,
      "mode": "pro"
    }
  }'

Example - Reference Images with Start Frame

curl -X POST https://api.unifically.com/v1/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "kuaishou/kling-3.0-omni-video",
    "input": {
      "video_mode": "elements",
      "prompt": "@Image2 walks toward @Image1 across a meadow",
      "image_urls": [
        "https://example.com/character.jpg",
        "https://example.com/scene.jpg"
      ],
      "start_image_index": 2,
      "duration": 5,
      "mode": "pro"
    }
  }'

Example - Multi-Shot

curl -X POST https://api.unifically.com/v1/tasks \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "kuaishou/kling-3.0-omni-video",
    "input": {
      "mode": "pro",
      "multi_shots": [
        { "prompt": "Wide shot of city skyline", "duration": 5 },
        { "prompt": "Close-up of glass buildings", "duration": 5 }
      ]
    }
  }'

Response

{
  "code": 200,
  "success": true,
  "data": {
    "task_id": "abc123def456",
    "status": "pending"
  }
}