Kling Image · Image
Reference to ImageNEW
📌 What is this:Generate new images based on the subjects / style of reference images (image-to-image / multi-reference).
💡 When to use:Use to keep a given character, product or style while changing the scene / composition; sending imageUrls means reference mode.
Endpoints
| Usage | Method | Path |
|---|---|---|
| Submit task | POST | /api/cqt/generator/kling |
| Query Result | GET | /api/cqt/info/kling?id={taskId} |
⏱ Recommended polling interval:Poll every 5-10s until status = succeeded / failed.
Sub-models
The tier price column is credits/image (credits/call for per-call models); (default output) = default output only, resolution not accepted; ≥N refs → = multi-reference tier.
| model | Usage | Materials | Images | Tier price (credits) |
|---|---|---|---|---|
| kling-image-3.0 | 3.0; 1 reference image; 1K / 2K | ≤1 reference images | 1~9 | 1K=20 / 2K=20 |
| kling-image-3.0-omni | 3.0 Omni; ≤10 reference images; up to 4K | ≤10 reference images | 1~9 | 1K=20 / 2K=20 / 4K=40 |
| kling-image-o1 | O1; ≤10 reference images; up to 4K | ≤10 reference images | 1~9 | 1K=20 / 2K=20 / 4K=40 |
| kling-image-2.1 | 2.1; cheaper; single / multi-reference priced separately | ≤4 reference images (≥2 = multi-reference tier) | 1~9 | 1K=20 / 2K=20 ; ≥2 refs → 1K=40 / 2K=48 |
⚠ kling-image-3.0: numImages 1-9, billed per image; kling-image-3.0-omni: numImages 1-9, billed per image; kling-image-o1: numImages 1-9, billed per image; kling-image-2.1: numImages 1-9, billed per image
Request Parameters
| Param | Type | Required | Description |
|---|---|---|---|
| model | string | Required | Sub-model: kling-image-3.0 / kling-image-3.0-omni / kling-image-o1 / kling-image-2.1 |
| prompt | string | — | Image description (optional) |
| imageUrls | array | Required | Reference image URL array (publicly reachable); limit per the table |
| resolution | string | — | 1K / 2K / 4K, only tiers priced in the table, default = lowest tier; accepted only by kling-image-3.0 / kling-image-3.0-omni / kling-image-o1 / kling-image-2.1 (others use the default output and reject it) |
| aspectRatio | string | — | Aspect ratio, e.g. 1:1 / 16:9 / 9:16 |
| numImages | integer | — | Number of images 1-9, billed per image, default 1 (only kling-image-3.0 / kling-image-3.0-omni / kling-image-o1 / kling-image-2.1) |
| negativePrompt / seed / enhancePrompt | string / integer / boolean | — | Negative prompt / random seed / auto-enhance prompt (optional) |
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-image-3.0-omni",
"prompt": "the same woman sitting in a cozy cafe by the window on a rainy day, soft light",
"resolution": "1K",
"imageUrls": [
"https://cdn.novapi.ai/kling/1791949942892_d18ee23dfa3048e097c58c9c3e32a754.png"
],
"aspectRatio": "16:9"
}'
# -> { "code":200, "data":"<taskId>" }Response Example
{
"code": 200,
"msg": "success",
"data": {
"id": "9249148346a247c9b32e3dcf3880c2f5",
"resultUrl": "https://cdn.novapi.ai/kling/1791950063587_6f7221941d6c4f478f248028ec87f8e9.png",
"status": "succeeded",
"errorMsg": null,
"createTime": "2026-10-14 11:53:24",
"completeTime": "2026-10-14 11:54:24"
}
}Response Fields
| Field | Type | Description |
|---|---|---|
| code | number | 200 means success |
| data.id | string | Task ID (taskId) |
| data.status | string | queued / running / succeeded / failed |
| data.resultUrl | string | Result URL(s) on our CDN (long-lived); multiple results are comma-separated; null until done or on failure |
| data.errorMsg | string | null | Failure reason; null on success |