Kling Video Effects
API kılavuzu ve entegrasyon referansı: uç nokta, girdi alanları, fiyatlar, webhook ve hatalar.
Mod
Bu modelin 2 modu var; alanlar, çıktı ve fiyatlar seçili moda göredir. Modu istekte category_id ile seçin (örneklerde hazır). Göndermezseniz girdinize uyan mod, o da yoksa varsayılan mod çalışır.
İstek ve yanıt
https://kolayzeka.com/api/models/kling-video-effects/generateGövde: { "input": {…alanlar}, "category_id"?: sayı, "webhook_url"?: "https://…" }. Alanlar aşağıda; tanımlı olmayan bir alan 422 döner.
cURL · JSON
curl -X POST https://kolayzeka.com/api/models/kling-video-effects/generate \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"input": {
"effect_scene": "squish",
"image": "https://cdn.example.com/input.jpg"
},
"category_id": 8,
"webhook_url": "https://your-server.com/hooks/kolayzeka"
}'cURL · multipart (dosya yükleyerek)
curl -X POST https://kolayzeka.com/api/models/kling-video-effects/generate \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -F 'input[effect_scene]=squish' \ -F 'input[image]=@./image.jpg' \ -F 'category_id=8' \ -F 'webhook_url=https://your-server.com/hooks/kolayzeka'
202 ve status: "queued" döner; sonuç henüz yoktur. Sonucu GET https://kolayzeka.com/api/generations/{id} ile sorgulayın ya da webhook_url verin (aynı nesne gelir). Durumlar: queued → processing → completed | failed. estimated_seconds bu modun geçmiş ortalama süresidir (null olabilir).1 · POST yanıtı (202)
{
"data": {
"id": "9d1c…-uuid",
"model": "kling-video-effects",
"output_type": "video",
"source": "api",
"status": "queued",
"input_data": {
"effect_scene": "squish",
"image": "https://cdn.example.com/input.jpg"
},
"output_data": null,
"thumbnail_url": null,
"credit_cost": 0,
"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 · Tamamlandı (GET /generations/{id} veya webhook)
{
"data": {
"id": "9d1c…-uuid",
"model": "kling-video-effects",
"output_type": "video",
"source": "api",
"status": "completed",
"input_data": {
"effect_scene": "squish",
"image": "https://cdn.example.com/input.jpg"
},
"output_data": {
"result": "https://<signed-url>/output.mp4"
},
"thumbnail_url": "https://<signed-url>/thumb.jpg",
"credit_cost": 0,
"duration": 4.52,
"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:05.000000Z"
},
"success": true
}3 · Başarısız
{
"data": {
"id": "9d1c…-uuid",
"model": "kling-video-effects",
"output_type": "video",
"source": "api",
"status": "failed",
"input_data": {
"effect_scene": "squish",
"image": "https://cdn.example.com/input.jpg"
},
"output_data": null,
"thumbnail_url": null,
"credit_cost": 0,
"duration": null,
"estimated_seconds": 12,
"error_message": "Sağlayıcı yoğun, lütfen tekrar deneyin.",
"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
}- Sonuç
output_data.resultalanındadır (imzalı URL, süreli: kalıcı tutmak için kendi depolamanıza indirin). - Medya URL'leri imzalıdır ve süresi dolar; eski bir URL için işi tekrar
GETedin, taze URL gelir. - Geçmiş:
GET https://kolayzeka.com/api/generations(en yeni önce, sayfa başına 20,?page=).
Fiyat ve teklif
Fiyat kredi cinsindendir ve seçtiğiniz seçeneklere (kalite, boyut, süre, adet…) göre değişir. Varsayılan ayarlarla bu mod ≈ 0 kredi.
https://kolayzeka.com/api/models/kling-video-effects/quoteÇalıştırmadan, tam bu girdinin fiyatı. Token gerekmez; girdiyi üretimdeki gibi doğrular.
cURL
curl -X POST https://kolayzeka.com/api/models/kling-video-effects/quote \
-H "Content-Type: application/json" \
-d '{"input":{"effect_scene":"squish","image":"https://cdn.example.com/input.jpg"},"category_id":8}'Yanıt
{
"success": true,
"data": {
"credits": 0,
"basis": "per_generation",
"exact": true,
"mode": {
"category_id": 8,
"label": "Tek Görsel Efekt"
}
}
}exact: false: fiyat çıktıya bağlı (ör. token, gerçek süre); teklif tipik değerle hesaplanır.- Kredi, istek kabul edilince teklif tutarı kadar ayrılır. İş bitince gerçek tutara göre fark düşülür ya da iade edilir; iş başarısız olursa tamamı iade edilir. Kesin tutar: sonuçtaki
credit_cost. - Bakiye:
GET https://kolayzeka.com/api/me→credit_balance. Yetmezse 402insufficient_credits.
Girdi alanları
input içine gönderilir. Tip etiketi gönderilecek JSON değeridir (string, integer, number, boolean, url, array<url>). Aynı liste makine-okunur olarak GET https://kolayzeka.com/api/ai-models/kling-video-effects yanıtında.
effect_sceneEfekt Sahnesi
Kabul edilen değerler:"squish""expansion""jelly_press""jelly_slice""jelly_squish""jelly_jiggle""fuzzyfuzzy""dizzydizzy""pixelpixel""plushcut""color_mixing""hot_feet_dance""swag_dance""pigeon_dance""bloodline_dance""chanel_dance""cute_dance""pumpitup_dance""subject_3_dance""ghost_step_dance""motorcycle_dance""daoma_dance""bouncy_dance""drunk_dance""drunk_dance_pet""pet_dance""heart_gesture_dance""soccer_star""bra_hot_dance""arg_hot_dance""fra_hot_dance""bra_goal""arg_goal""por_goal""victory_slide""samba_fever""bicycle_kick""football_dance_2""red_card_sent_off""football_dance""air_dunk""tennis_trend""tennis_trend_9_16""f1_live""football_live""korean_baseball""baseball""snowboarding""trampoline""trampoline_night""witch_transform""vampire_transform""pumpkin_head_transform""demon_transform""mummy_transform""zombie_transform""cute_pumpkin_transform""cute_ghost_transform""fortune_god_transform""instant_kid""piggy_morph""pure_white_wings""black_wings""golden_wing""pink_pink_wings""fairy_wing""angel_wing""dark_wing""luminous_elf""woodland_elf""guardian_spirit""venomous_spider""throne_of_king""japanese_anime_1""american_comics""mythic_style""steampunk""3d_cartoon_2""c4d_cartoon_pro""3d_cartoon_1_pro""yearbook""instant_film""anime_figure""glamour_photo_shoot""christmas_photo_shoot""bullet_time""bullet_time_lite""bullet_time_360""zoom_out""phantom_jewel""magic_fireball""gallery_ring""firework""firework_2026""unique_firework""dollar_rain""dollar_rain_pro""make_it_rain""get_rich_quick""lucky_money_come""particle_santa_surround""santa_gift""santa_gifts""santa_hug""santa_express""instant_christmas""santa_random_surprise""my_santa_pic""steampunk_christmas""snowglobe""coronation_of_frost""building_sweater""spark_in_the_snow""scarlet_and_snow""cozy_toon_wrap""magic_cloak""balloon_parade""jumping_ginger_joy""box_of_joy""first_toast_of_the_year""happy_birthday""birthday_star""surprise_bouquet""bouquet_drop""lion_dance""lion_dance_pet""prosperity""great_success""golden_horse_fortune""red_packet_box""lucky_horse_year""lucky_red_packet""crystal_horse""horse_year_firework""new_year_greeting""ring_in_new""new_year_feast""fortune_knocks_cartoon""tangyuan_to_animal""horse_mask""unique_spring_couplets""lantern_festival_cuju""lantern_glow""sedan_chair_dance""chinese_trend""yangge_dance""laicai_dance""good_luck_dance""smooth_sailing_dance""lateral_shift_transition""fortune_in_motion""palm_sized_figure""palm_sized_figure_pro""dumpling_making_pet""fish_making_pet""pet_red_packet""pet_bee""pet_bee_pro""pet_lion_pro""pet_moto_rider""muscle_pet""squeeze_scream""pet_delivery""pet_chinese_opera""pet_warrior""pet_wizard""pet_chef""running_man""disappear""eagle_snatch""hug_from_past""media_interview""smoke_smoke""cry_cry""building_collapse""gun_shot""mushroom""double_gun""lightning_power""jesus_hug""shark_alert""long_hair""lie_flat""polar_bear_hug""brown_bear_hug""jazz_jazz""office_escape_plow""fly_fly""watermelon_bomb""boss_coming""wool_curly""marry_me""swing_swing""day_to_night""wig_out""car_explosion""ski_ski""siblings""construction_worker""let's_ride""snatched""magic_broom""felt_felt""jumpdrop""surfsurf""skateskate""rocketrocket""bloombloom""magic_world_vlog""a_list_look""memory_alive""inner_voice""guess_what""pucker_up""feed_mooncake""landmark_reveal""tiny_beast_printer""winter_charm""flash_ride""maestro_of_magic""magic_carpet_ride""good_luck_spirit""shooting_star""sparkler_wand""sovereign_scepter""dirt_rush""return_of_the_king""dance_with_dragon""minimalist_light""martial_meow""sassy_shake""knock_at_a_door_revenge""prank_box""perler_beads""spring_bloom""twist_shake""the_hip_sway""send_my_love""funky_martian""wealth_drive""the_high_kick""the_exercise""lucky_veggie""flash_drive""shush_my_dreams""advent_of_flora""raid_check""skyfall""city_to_village""love_theme_song""expression_challenge""overdrive""poping""martial_arts""running""nezha""countdown_teleport""magic_match_tree""thumbs_up_pro""tiger_hug_pro""ornament_crash""whirling_beverage""whirling_beverage_9_16""football_live_9_16""spielberg_transition""korean_baseball_9_16""swish_swish""knock_knock_halloween""halloween_escape""rampage_ape""flyer""dishwasher""heart_gesture_1""emoji"
Varsayılan: "squish"
imageReferans Görsel · Videonun İLK karesi olacak görsel. PNG/JPG/WEBP, en fazla 10MB.
Sınırlar: biçim: image/jpeg,image/png
JSON'da herkese açık bir https URL gönderin, ya da dosyayı multipart ile yükleyin: -F 'input[image]=@./dosya.jpg'
Kimlik doğrulama
Her istekte Authorization: Bearer YOUR_API_TOKEN. Token'ı Profil sayfasında oluşturun. Katalog ve teklif (/ai-models, /quote) token istemez. Ayrıntılar: geliştirici rehberi.
Webhook
İsteğe bir webhook_url (https) ekleyin; iş bitince oraya imzalı bir POST gelir. Gövde { event, success, data }: data, durum endpoint'inin döndüğü nesnenin aynısıdır. Sorgulamaya gerek kalmaz; uzun işler (video, çok adımlı uygulamalar) için önerilir.
Gelen başlıklar
X-KolayZeka-Event: generation.completed // veya generation.failed
X-KolayZeka-Signature: sha256=<hex>
User-Agent: KolayZeka-Webhook/1.0
İmza = ham gövdenin, hesabınızın webhook imzalama anahtarı ile HMAC-SHA256'sı. Anahtarı Profil sayfasında oluşturun (bir kez gösterilir). Anahtar yoksa webhook gönderilmez.
Doğrulama · Node.js
import crypto from 'node:crypto';
// rawBody: the request body exactly as received (before JSON.parse).
const expected = 'sha256=' + crypto
.createHmac('sha256', process.env.KOLAYZEKA_WEBHOOK_SECRET)
.update(rawBody)
.digest('hex');
const given = req.headers['x-kolayzeka-signature'] ?? '';
if (given.length !== expected.length ||
!crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(given))) {
return res.status(401).end();
}Doğrulama · PHP / Laravel
$expected = 'sha256='.hash_hmac('sha256', $request->getContent(), config('services.kolayzeka.webhook_secret'));
abort_unless(hash_equals($expected, (string) $request->header('X-KolayZeka-Signature')), 401);- 2xx dönün. Diğer yanıtlar ve ağ hataları 30 sn arayla en çok 5 kez yeniden denenir.
- Aynı iş için birden fazla gelebilir:
data.idile tekilleştirin. - Özel / iç ağ / bulut-metadata adresleri reddedilir (422 invalid_webhook_url).
Hatalar
Her hata aynı şekildedir: { success: false, code, error, … }. Kodunuzu code'a göre yazın; error insan için mesajdır.
| HTTP | code | Ne zaman |
|---|---|---|
400 | invalid_mode | Modelin şu an çalıştırılabilir bir modu yok (geçici; başka model deneyin). |
401 | unauthenticated | Bearer token yok, geçersiz ya da iptal edilmiş. |
402 | insufficient_credits | Bakiye yetmiyor. Yanıtta balance (bakiye) ve required (gereken) var. |
403 | forbidden | Bu kaynağa erişim yetkiniz yok. |
404 | not_found | Model / uygulama / iş yok, aktif değil ya da size ait değil. |
405 | method_not_allowed | Endpoint bu HTTP metodunu kabul etmiyor. |
422 | validation_failed | Girdi şemaya uymuyor. errors alanı: alan → mesajlar. |
422 | invalid_webhook_url | webhook_url https değil, çözümlenmiyor ya da özel / iç ağ adresi. |
429 | rate_limited | Hız sınırı aşıldı. retry_after saniye sonra tekrar deneyin. |
500 | server_error | Beklenmeyen hata. Tekrar denemeden önce listeden (GET /api/generations) işin oluşup oluşmadığına bakın. |
402 örneği
{
"success": false,
"code": "insufficient_credits",
"error": "Yetersiz kredi. Bakiye: 40, Gerekli: 55",
"balance": 40,
"required": 55
}422 örneği
{
"success": false,
"code": "validation_failed",
"error": "Doğrulama başarısız oldu.",
"errors": {
"quality": [
"`quality` alanı şunlardan biri olmalıdır: low, medium, high."
]
}
}