CQTAI
Kling · Video

Reference to VideoNEW

📌 What is this:Generate a new video based on the subjects / style in reference images (some models also accept a reference video).
💡 When to use:Use to put a given character, product or style into a new scene. Reference materials cannot be combined with first/last frames.

Endpoints

UsageMethodPath
Submit taskPOST/api/cqt/generator/kling
Query ResultGET/api/cqt/info/kling?id={taskId}
⏱ Recommended polling interval:Generation takes ~1-3 min; poll every 10-15s until status = succeeded / failed.

Sub-models

Sub-models that support this mode. The tiers column is credits/sec (generateAudio → = audio tier, videoUrls → = with-reference-video tier). Resolutions / durations not listed are rejected at submit (no charge).

modelUsageMaterialsDuration (sec)Tier price (credits/sec)
kling-3.0-turbo3.0 Turbo; same price for all modes≤7 reference images3~15720P=80 / 1080P=100 / 2K=120 / 4K=144
kling-3.0-omni3.0 Omni; audio and reference video supported≤7 reference images · ≤1 reference video3~15720P=60 / 1080P=80 / 2K=100 / 4K=300 ; generateAudio → 720P=80 / 1080P=100 / 2K=120 / 4K=300 ; videoUrls → 720P=90 / 1080P=120 / 2K=150 / 4K=300
kling-3.03.0 standard; audio supported≤7 reference images3~15720P=60 / 1080P=80 / 2K=100 / 4K=300 ; generateAudio → 720P=90 / 1080P=120 / 2K=150 / 4K=300
kling-o1O1; reference video supported; 5 / 10 s only≤7 reference images · ≤1 reference video5 / 10720P=60 / 1080P=80 / 2K=120 / 4K=180 ; videoUrls → 720P=90 / 1080P=120 / 2K=180 / 4K=270
kling-2.62.6; audio supported (audio from 1080P); 5 / 10 s only≤7 reference images5 / 10720P=30 / 1080P=50 / 2K=75 / 4K=112 ; generateAudio → 1080P=100 / 2K=150 / 4K=225
kling-2.5-turbo2.5 Turbo; earlier version, lower price≤7 reference images5 / 10720P=30 / 1080P=50 / 2K=75 / 4K=112
kling-2.12.1; earlier version≤7 reference images5 / 10720P=40 / 1080P=70 / 2K=100 / 4K=150
kling-2.02.0; earlier version≤7 reference images5 / 10720P=40 / 1080P=70 / 2K=100 / 4K=150
kling-1.61.6; earlier version≤7 reference images5 / 10720P=40 / 1080P=70 / 2K=100 / 4K=150

Request Parameters

ParamTypeRequiredDescription
modelstringRequiredSub-model: kling-3.0-turbo / kling-3.0-omni / kling-3.0 / kling-o1 / kling-2.6 / kling-2.5-turbo / kling-2.1 / kling-2.0 / kling-1.6 (see the sub-model table below)
promptstring—Video description (optional; materials can drive generation)
imageUrlsarray—Reference image URL array (≤7, publicly reachable); send at least one of imageUrls / videoUrls
videoUrlsarray—Reference video URL (≤1; only kling-3.0-omni / kling-o1; billed at the "with reference video" tier and cannot be combined with audio)
negativePromptstring—Negative prompt (optional)
durationinteger—Duration (sec), range depends on the sub-model (see table), default 5
resolutionstring—540P / 720P / 1080P / 2K / 4K (available tiers depend on the sub-model), default 720P (or the lowest tier if 720P is unavailable); 2K / 4K are upscaled
aspectRatiostring—Aspect ratio, e.g. 16:9 / 9:16 / 1:1
generateAudioboolean—Whether to generate audio, default false (only kling-3.0-omni / kling-3.0 / kling-2.6; billed at the audio tier)
enhancePromptboolean—Whether to auto-enhance the prompt (optional)
seedinteger—Random seed (optional)
returnFirstFrame / returnLastFrame / returnFrameAtSecondboolean / boolean / number—Also return the first / last / given-second frame image of the result video (optional), 1 credit per frame

Request Example

curl -X POST https://api.cqtai.com/api/cqt/generator/kling \
  -H 'Authorization: Bearer <API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "kling-3.0-omni",
    "prompt": "the red vintage car from the reference image drifts around a corner on a wet neon street at night, cinematic",
    "duration": 3,
    "resolution": "720P",
    "aspectRatio": "16:9",
    "imageUrls": [
      "https://cdn.novapi.ai/seedream/1791950778488_c22c4d053b2a41fbb28193cd319473b1.jpg"
    ]
  }'
# -> { "code":200, "data":"<taskId>" }

Response Example

{
  "code": 200,
  "msg": "success",
  "data": {
    "id": "2eb9e623811744da9de6561f08d3b8a1",
    "resultUrl": "https://cdn.novapi.ai/kling/1791951233592_dfb3db6cc76d4480ab1b4584c1a961e2.mp4",
    "status": "succeeded",
    "errorMsg": null,
    "createTime": "2026-10-14 12:12:23",
    "completeTime": "2026-10-14 12:13:54"
  }
}

Response Fields

FieldTypeDescription
codenumberStatus code; 200 means success
msgstringStatus message; "success" on success
data.idstringTask ID (taskId); use it to poll GET /api/cqt/info
data.statusstringTask status: succeeded / failed / otherwise still processing
data.resultUrlstringURL of the generated video; returned when status = succeeded, null otherwise
data.errorMsgstring | nullFailure reason; null on success
data.createTimestringTask creation time
data.completeTimestring | nullTask completion time; null until finished