LTX-Video 13B 0.9.8 Distilled Ltxv
API kılavuzu ve entegrasyon referansı: uç nokta, girdi alanları, fiyatlar, webhook ve hatalar.
Mod
Bu modelin 3 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/ltx-video-13b-098-distilled-ltxv/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/ltx-video-13b-098-distilled-ltxv/generate \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"input": {
"prompt": "Prompt",
"negative_prompt": "worst quality, inconsistent motion, blurry, jittery, distorted",
"loras": "[]",
"resolution": "720p",
"aspect_ratio": "auto",
"num_frames": 121,
"first_pass_num_inference_steps": 8,
"second_pass_num_inference_steps": 8,
"second_pass_skip_initial_steps": 5,
"frame_rate": 24,
"expand_prompt": false,
"reverse_video": false,
"enable_safety_checker": true,
"enable_detail_pass": false,
"temporal_adain_factor": 0.5,
"tone_map_compression_ratio": 0,
"constant_rate_factor": 29,
"video": "Video"
},
"category_id": 24,
"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": "ltx-video-13b-098-distilled-ltxv",
"output_type": "video",
"source": "api",
"status": "queued",
"input_data": {
"prompt": "Prompt",
"negative_prompt": "worst quality, inconsistent motion, blurry, jittery, distorted",
"loras": "[]",
"resolution": "720p",
"aspect_ratio": "auto",
"num_frames": 121,
"first_pass_num_inference_steps": 8,
"second_pass_num_inference_steps": 8,
"second_pass_skip_initial_steps": 5,
"frame_rate": 24,
"expand_prompt": false,
"reverse_video": false,
"enable_safety_checker": true,
"enable_detail_pass": false,
"temporal_adain_factor": 0.5,
"tone_map_compression_ratio": 0,
"constant_rate_factor": 29,
"video": "Video"
},
"output_data": null,
"thumbnail_url": null,
"credit_cost": 17924,
"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": "ltx-video-13b-098-distilled-ltxv",
"output_type": "video",
"source": "api",
"status": "completed",
"input_data": {
"prompt": "Prompt",
"negative_prompt": "worst quality, inconsistent motion, blurry, jittery, distorted",
"loras": "[]",
"resolution": "720p",
"aspect_ratio": "auto",
"num_frames": 121,
"first_pass_num_inference_steps": 8,
"second_pass_num_inference_steps": 8,
"second_pass_skip_initial_steps": 5,
"frame_rate": 24,
"expand_prompt": false,
"reverse_video": false,
"enable_safety_checker": true,
"enable_detail_pass": false,
"temporal_adain_factor": 0.5,
"tone_map_compression_ratio": 0,
"constant_rate_factor": 29,
"video": "Video"
},
"output_data": {
"result": "https://<signed-url>/output.mp4"
},
"thumbnail_url": "https://<signed-url>/thumb.jpg",
"credit_cost": 17924,
"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": "ltx-video-13b-098-distilled-ltxv",
"output_type": "video",
"source": "api",
"status": "failed",
"input_data": {
"prompt": "Prompt",
"negative_prompt": "worst quality, inconsistent motion, blurry, jittery, distorted",
"loras": "[]",
"resolution": "720p",
"aspect_ratio": "auto",
"num_frames": 121,
"first_pass_num_inference_steps": 8,
"second_pass_num_inference_steps": 8,
"second_pass_skip_initial_steps": 5,
"frame_rate": 24,
"expand_prompt": false,
"reverse_video": false,
"enable_safety_checker": true,
"enable_detail_pass": false,
"temporal_adain_factor": 0.5,
"tone_map_compression_ratio": 0,
"constant_rate_factor": 29,
"video": "Video"
},
"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 ≈ 17924 kredi.
https://kolayzeka.com/api/models/ltx-video-13b-098-distilled-ltxv/quoteÇalıştırmadan, tam bu girdinin fiyatı. Token gerekmez; girdiyi üretimdeki gibi doğrular.
cURL
curl -X POST https://kolayzeka.com/api/models/ltx-video-13b-098-distilled-ltxv/quote \
-H "Content-Type: application/json" \
-d '{"input":{"prompt":"Prompt","negative_prompt":"worst quality, inconsistent motion, blurry, jittery, distorted","loras":"[]","resolution":"720p","aspect_ratio":"auto","num_frames":121,"first_pass_num_inference_steps":8,"second_pass_num_inference_steps":8,"second_pass_skip_initial_steps":5,"frame_rate":24,"expand_prompt":false,"reverse_video":false,"enable_safety_checker":true,"enable_detail_pass":false,"temporal_adain_factor":0.5,"tone_map_compression_ratio":0,"constant_rate_factor":29,"video":"Video"},"category_id":24}'Yanıt
{
"success": true,
"data": {
"credits": 17924,
"basis": "per_second",
"exact": true,
"mode": {
"category_id": 24,
"label": "Video to Video"
}
}
}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/ltx-video-13b-098-distilled-ltxv yanıtında.
promptPrompt · Text prompt to guide generation
negative_promptNegative Prompt · Negative prompt for generation
Varsayılan: "worst quality, inconsistent motion, blurry, jittery, distorted" (gönderilmezse bu kullanılır)
lorasLoras · LoRA weights to use for generation
Varsayılan: "[]" (gönderilmezse bu kullanılır)
resolutionResolution · Resolution of the generated video.
Kabul edilen değerler:"480p""720p"
Varsayılan: "720p" (gönderilmezse bu kullanılır)
aspect_ratioAspect Ratio · The aspect ratio of the video.
Kabul edilen değerler:"9:16""1:1""16:9""auto"
Varsayılan: "auto" (gönderilmezse bu kullanılır)
seedSeed · Random seed for generation
num_framesNumber of Frames · The number of frames in the video.
Varsayılan: 121 (gönderilmezse bu kullanılır)
Sınırlar: en az 9 · en çok 1441
first_pass_num_inference_stepsNumber of Inference Steps · Number of inference steps during the first pass.
Varsayılan: 8 (gönderilmezse bu kullanılır)
Sınırlar: en az 2 · en çok 12
second_pass_num_inference_stepsSecond Pass Number of Inference Steps · Number of inference steps during the second pass.
Varsayılan: 8 (gönderilmezse bu kullanılır)
Sınırlar: en az 2 · en çok 12
second_pass_skip_initial_stepsSecond Pass Skip Initial Steps · The number of inference steps to skip in the initial steps of the second pass. By skipping some steps at the beginning, the second pass can focus on smaller details instead of larger changes.
Varsayılan: 5 (gönderilmezse bu kullanılır)
Sınırlar: en az 1 · en çok 11
frame_rateFrame Rate · The frame rate of the video.
Varsayılan: 24 (gönderilmezse bu kullanılır)
Sınırlar: en az 1 · en çok 60
expand_promptExpand Prompt · Whether to expand the prompt using a language model.
Varsayılan: false (gönderilmezse bu kullanılır)
reverse_videoReverse Video · Whether to reverse the video.
Varsayılan: false (gönderilmezse bu kullanılır)
enable_safety_checkerEnable Safety Checker · Whether to enable the safety checker. Disabling it requires account authorization; unauthorized requests are always checked.
Varsayılan: true (gönderilmezse bu kullanılır)
enable_detail_passEnable Detail Pass · Whether to use a detail pass. If True, the model will perform a second pass to refine the video and enhance details. This incurs a 2.0x cost multiplier on the base price.
Varsayılan: false (gönderilmezse bu kullanılır)
temporal_adain_factorTemporal AdaIN Factor · The factor for adaptive instance normalization (AdaIN) applied to generated video chunks after the first. This can help deal with a gradual increase in saturation/contrast in the generated video by normalizing the color distribution across the video. A high value will ensure the color distribution is more consistent across the video, while a low value will allow for more variation in color distribution.
Varsayılan: 0.5 (gönderilmezse bu kullanılır)
Sınırlar: en az 0 · en çok 1
tone_map_compression_ratioTone Map Compression Ratio · The compression ratio for tone mapping. This is used to compress the dynamic range of the video to improve visual quality. A value of 0.0 means no compression, while a value of 1.0 means maximum compression.
Varsayılan: 0 (gönderilmezse bu kullanılır)
Sınırlar: en az 0 · en çok 1
constant_rate_factorConstant Rate Factor · The constant rate factor (CRF) to compress input media with. Compressed input media more closely matches the model's training data, which can improve motion quality.
Varsayılan: 29 (gönderilmezse bu kullanılır)
Sınırlar: en az 0 · en çok 51
videoVideo · Video to be extended.
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."
]
}
}