Kling Image 3.0 & 3.0 Omni

API kılavuzu ve entegrasyon referansı

Mod

Bu modelin 3 modu var. Aşağıdaki şema ve örnekler seçili moda göredir. API'de modu seçmek için isteğe category_id ekleyin (örnek istekte hazır).

API Referansı

Endpoint

POST
https://kolayzeka.com/api/models/kling-image-3-0-omni/generate

cURL — JSON gövdesi

curl -X POST https://kolayzeka.com/api/models/kling-image-3-0-omni/generate \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "input": {
    "model_name": "kling-v3",
    "prompt": "Prompt buraya…",
    "image_reference": "subject",
    "image_fidelity": 0.5,
    "human_fidelity": 0.45,
    "resolution": "1k",
    "n": 1,
    "aspect_ratio": "16:9",
    "watermark_enabled": false
  },
  "category_id": 15,
  "webhook_url": "https://your-server.com/hooks/kolayzeka"
}'

cURL — multipart/form-data

curl -X POST https://kolayzeka.com/api/models/kling-image-3-0-omni/generate \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F 'input[model_name]=kling-v3' \
  -F 'input[prompt]=Prompt buraya…' \
  -F 'input[image_reference]=subject' \
  -F 'input[image_fidelity]=0.5' \
  -F 'input[human_fidelity]=0.45' \
  -F 'input[resolution]=1k' \
  -F 'input[n]=1' \
  -F 'input[aspect_ratio]=16:9' \
  -F 'input[watermark_enabled]=false' \
  -F 'input[image]=@/path/to/image.jpg' \
  -F 'webhook_url=https://your-server.com/hooks/kolayzeka'

Yanıt akışı (asenkron)

Tüm üretimler asenkrondur. POST isteği HTTP 202 + status: "queued" döner — bu yanıtta henüz sonuç yoktur. Nihai sonucu (status: "completed" + output_data) almak için GET https://kolayzeka.com/api/generations/{id} adresini sorgulayın veya bir webhook_url belirtin (webhook gövdesi bu nihai yanıtın aynısıdır).

estimated_seconds = bu modun geçmiş çalıştırmalardan hesaplanan ortalama tamamlanma süresi (saniye); kuyruğa alınırken döner, null olabilir.

1 · POST yanıtı — kuyruğa alındı (HTTP 202)

{
  "data": {
    "id": "<uuid>",
    "model": "kling-image-3-0-omni",
    "output_type": "image",
    "source": "api",
    "status": "queued",
    "input_data": {
      "model_name": "kling-v3",
      "prompt": "Prompt buraya…",
      "image_reference": "subject",
      "image_fidelity": 0.5,
      "human_fidelity": 0.45,
      "resolution": "1k",
      "n": 1,
      "aspect_ratio": "16:9",
      "watermark_enabled": false
    },
    "output_data": null,
    "thumbnail_url": null,
    "credit_cost": null,
    "duration": null,
    "estimated_seconds": 12,
    "error_message": null,
    "webhook_url": "https://your-server.com/hooks/kolayzeka",
    "created_at": "2026-06-29T12:00:00.000000Z",
    "updated_at": "2026-06-29T12:00:00.000000Z"
  },
  "success": true
}

2 · Nihai sonuç (başarılı) — GET https://kolayzeka.com/api/generations/{id} veya webhook

{
  "data": {
    "id": "<uuid>",
    "model": "kling-image-3-0-omni",
    "output_type": "image",
    "source": "api",
    "status": "completed",
    "input_data": {
      "model_name": "kling-v3",
      "prompt": "Prompt buraya…",
      "image_reference": "subject",
      "image_fidelity": 0.5,
      "human_fidelity": 0.45,
      "resolution": "1k",
      "n": 1,
      "aspect_ratio": "16:9",
      "watermark_enabled": false
    },
    "output_data": {
      "result": "https://<s3-signed-url>/output.jpg"
    },
    "thumbnail_url": "https://<s3-signed-url>/thumb.jpg",
    "credit_cost": 5,
    "duration": 4.52,
    "error_message": null,
    "webhook_url": "https://your-server.com/hooks/kolayzeka",
    "created_at": "2026-06-29T12:00:00.000000Z",
    "updated_at": "2026-06-29T12:00:05.000000Z"
  },
  "success": true
}

3 · Nihai sonuç (başarısız) — status: "failed"

{
  "data": {
    "id": "<uuid>",
    "model": "kling-image-3-0-omni",
    "output_type": "image",
    "source": "api",
    "status": "failed",
    "input_data": {
      "model_name": "kling-v3",
      "prompt": "Prompt buraya…",
      "image_reference": "subject",
      "image_fidelity": 0.5,
      "human_fidelity": 0.45,
      "resolution": "1k",
      "n": 1,
      "aspect_ratio": "16:9",
      "watermark_enabled": false
    },
    "output_data": null,
    "thumbnail_url": null,
    "credit_cost": 0,
    "duration": null,
    "error_message": "Sağlayıcı isteği reddetti: ...",
    "webhook_url": "https://your-server.com/hooks/kolayzeka",
    "created_at": "2026-06-29T12:00:00.000000Z",
    "updated_at": "2026-06-29T12:00:03.000000Z"
  },
  "success": true
}

İstek anında reddedilirse (4xx/5xx) API { "success": false, "error": "…" } döndürür. Krediler yalnızca başarılı bir üretimde düşülür.

Üretim kuyruğa alındıktan sonra başarısız olursa terminal yanıt status: "failed" olur; sebep error_message alanındadır (webhook event'i generation.failed).

Kimlik Doğrulama

Tüm istekler Authorization başlığında bir Sanctum kişisel erişim token'ı gerektirir.

Authorization: Bearer YOUR_TOKEN

Token oluşturmak / yenilemek için Profil ayarları'na gidin.

İstek şeması

model_name
isteğe bağlı
string (enum)

Model Versiyonu

İzin verilen:kling-v1kling-v1-5kling-v2kling-v2-newkling-v2-1kling-v3

Varsayılan: kling-v3

prompt
zorunlu
string

Prompt

negative_prompt
isteğe bağlı
string

Negatif Prompt (yalnızca metin→görsel)

image
isteğe bağlı
string (URL) or file
dosya

Referans Görsel (opsiyonel; dolu ise görsel→görsel modu)

JSON gövdesinde string olarak herkese açık erişilebilir bir URL geçirin veya dosyayı multipart/form-data ile -F 'input[image]=@./file.jpg' kullanarak yükleyin. Kabul edilen formatlar: jpg, jpeg, png, webp.

image_reference
isteğe bağlı
string (enum)

Referans Tipi

İzin verilen:subjectface

Varsayılan: subject

image_fidelity
isteğe bağlı
number

Referans Yoğunluğu (image_fidelity)

Varsayılan: 0.5

human_fidelity
isteğe bağlı
number

Yüz Yoğunluğu (human_fidelity)

Varsayılan: 0.45

element_list
isteğe bağlı
kling_element

Element Listesi (element_list)

resolution
isteğe bağlı
string (enum)

Çözünürlük

İzin verilen:1k2k

Varsayılan: 1k

n
isteğe bağlı
integer

Adet (n)

Varsayılan: 1

aspect_ratio
isteğe bağlı
string (enum)

En-Boy Oranı

İzin verilen:16:99:161:14:33:43:22:321:9

Varsayılan: 16:9

watermark_enabled
isteğe bağlı
boolean

Filigran Oluştur

Varsayılan: false

Dosya girdileri

Bu model 1 dosya türünde alan bekliyor. Ya (a) dosyayı herkese açık bir yerde barındırıp URL'sini JSON içinde geçirin, ya da (b) baytları doğrudan multipart/form-data ile yükleyin.

image

JSON: "input": { "image": "https://…" }

Multipart: -F "input[image]=@./file"

Webhook

Üretim tamamlandığında (veya başarısız olduğunda) sunucudan sunucuya geri çağrı almak için herhangi bir isteğe bir webhook_url ekleyin. Uzun süren video üretimleri veya sürekli sorgulamadan kaçınmak için kullanışlıdır.

Uç noktanız, nihai üretim verisini içeren imzalı bir POST isteği alır.X-KolayZeka-Signature başlığını (sha256=<hex>) kullanarak özgünlüğü doğrulayın; bu değer, ham gövdeden HMAC-SHA256 ve hesabınızın Webhook Gizli Anahtarı ile hesaplanır.

Webhook Gizli Anahtarınızı nasıl alırsınız

Hesabınızın tek bir webhook imzalama gizli anahtarı vardır. Bunu Profil sayfasında oluşturup yönetin — hangi API token'ı isteği tetiklerse tetiklesin, bu tek değer adınıza gönderdiğimiz her webhook'u doğrular.

  1. Webhook imzalama gizli anahtarı kartını açın ve Oluştur'a tıklayın. Değer yalnızca bir kez gösterilir — kopyalayıp güvenli bir şekilde saklayın.
  2. Geçersiz kılmanız mı gerekiyor? Yeni bir gizli anahtar üretmek için Yenile'ye veya webhook gönderimlerini tamamen devre dışı bırakmak için İptal Et'e tıklayın. Önceki değer anında çalışmayı durdurur.

Oluşturulmuş gizli anahtarı olmayan hesaplar webhook gönderemez — biri oluşturulana kadar giden gönderimler atlanır.

Gönderilen başlıklar

X-KolayZeka-Event: generation.completed // veya generation.failed

X-KolayZeka-Signature: sha256=<hex>

User-Agent: KolayZeka-Webhook/1.0

İmza doğrulama (Node.js)

import crypto from 'node:crypto';

const expected = 'sha256=' + crypto
  .createHmac('sha256', process.env.KOLAYZEKA_WEBHOOK_SECRET)
  .update(rawBody)
  .digest('hex');

if (!crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(req.headers['x-kolayzeka-signature']))) {
  return res.status(401).end();
}

Özel / loopback / bulut-meta veri URL'leri gönderim sırasında reddedilir (SSRF koruması). Gönderim, ağ hatalarında veya 2xx olmayan yanıtlarda, geri çekilmeli olarak en fazla 5 kez yeniden denenir.

Hata yönetimi

401

Yetkisiz

Bearer token eksik veya geçersiz.

402

Ödeme Gerekli

Tahmini maliyet için yetersiz kredi.

422

Doğrulama Başarısız

Girdi zorunlu alanları içermiyor veya şemaya aykırı.

400

Geçersiz İstek

Sağlayıcı veriyi reddetti. Ayrıntılar için `error` alanına bakın.

404

Bulunamadı

Model slug mevcut değil veya aktif değil.

502

Sağlayıcı Hatası

Yukarı akış AI motoru hata döndürdü. Tekrar denemek genellikle güvenlidir.