Kling Metinden Videoya
Asenkron bir Görev oluşturmak için metinden videoya uç noktasını kullanın.
Genel Bakış
Metinden videoya uç noktasını desteklenen bir modelle kullanın. Durumunu almak için döndürülen Görev Kimliğini kullanın veya aşağıda belgelenen teslimler için callback_url sağlayın.
Hızlı başlangıç
- Bir API anahtarı oluşturun ve RUNAPI_API_KEY olarak ayarlayın.
- Desteklenen bir model seçin ve gövdesi o modelin şemasıyla eşleşen bir POST isteği gönderin.
- Döndürülen görev kimliğini saklayın, ardından bir terminal durumuna ulaşana kadar yoklama yapın ya da aşağıda belgelenen geri çağırmaları işleyin.
Uç Nokta
- Temel URL
https://runapi.ai- API sürümü
v1- Kimlik doğrulama
Authorization: Bearer YOUR_API_TOKEN
Desteklenen modeller
Güncel fiyatlandırma, hız sınırları ve ticari kullanım ayrıntıları için bir model sayfası açın.
İstek şeması
Alanlar ve izin verilen değerler seçili modele göre değişir. Sağlandığında, callback_url aşağıda belgelenen Görev teslimatlarını alır.
kling-3.014 alan
aspect_ratiostringÇıktı en boy oranı.
İzin verilen değerler:16:9, 9:16, 1:1
callback_urlstringAsenkron bildirimler için webhook URL'si.
cfg_scalenumberRehberlik ölçeği (0-1).
duration_secondsintegerSaniye cinsinden süre.
İzin verilen değerler:3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
enable_soundbooleanSes oluşturmayı etkinleştirin.
first_frame_image_urlstringİlk kare görüntü URL'si.
kling_elementsarrayGörüntü, video veya ses materyalleri içeren öğe referansları.
last_frame_image_urlstringTek çekim modunda son kare resim URL'si.
modelstringModel tanımlayıcısı.
multi_promptarrayÇok çekimli mod için istem bölümleri.
multi_shotsbooleanÇok çekimli oluşturmayı etkinleştirin.
negative_promptstringNegatif istem.
output_resolutionstringÇıktı çözünürlüğü.
İzin verilen değerler:720p, 1080p, 4k
promptstringVideo açıklaması. multi_shots etkinleştirilmediği sürece zorunludur.
kling-o111 alan
aspect_ratiostringÇıktı en boy oranı.
İzin verilen değerler:16:9, 9:16, 1:1
Varsayılan: 16:9
callback_urlstringAsenkron bildirimler için webhook URL'si.
duration_secondsintegerSaniye cinsinden süre.
İzin verilen değerler:5
Varsayılan: 5
enable_soundbooleanSes üretimi devre dışı bırakılmış kalmalıdır.
Varsayılan:false
modestringÜretim modu.
İzin verilen değerler:std, pro
Varsayılan: std
modelstringModel tanımlayıcısı.
preserve_reference_video_audiobooleanReferans videonun orijinal sesini koruyun.
Varsayılan:false
promptstringVideo açıklaması; eşleşen numaralı işaretçilerle medyaya başvurun.
Aralık:1 - 2500
reference_image_urlsarraySıralı genel HTTP(S) JPG, JPEG veya PNG referans resim URL'leri.
Öğe aralığı:1 - 7
reference_video_typestringVideoyu temel düzenleme veya özellik referansı olarak kullanın.
İzin verilen değerler:base, feature
Varsayılan: base
reference_video_urlstringGenel HTTP(S) MP4 veya MOV referans video URL'si.
kling-v2.1-master-text-to-video8 alan
aspect_ratiostringÇıktı en boy oranı.
İzin verilen değerler:16:9, 9:16, 1:1
callback_urlstringAsenkron bildirimler için webhook URL'si.
cfg_scalenumberRehberlik ölçeği (0-1).
duration_secondsintegerSaniye cinsinden süre.
İzin verilen değerler:5, 10
enable_soundbooleanSes oluşturmayı etkinleştirin.
modelstringModel tanımlayıcısı.
negative_promptstringNegatif istem.
promptstringVideo açıklaması.
kling-v2.5-turbo-text-to-video-pro8 alan
aspect_ratiostringÇıktı en boy oranı.
İzin verilen değerler:16:9, 9:16, 1:1
callback_urlstringAsenkron bildirimler için webhook URL'si.
cfg_scalenumberRehberlik ölçeği (0-1).
duration_secondsintegerSaniye cinsinden süre.
İzin verilen değerler:5, 10
enable_soundbooleanSes oluşturmayı etkinleştirin.
modelstringModel tanımlayıcısı.
negative_promptstringNegatif istem.
promptstringVideo açıklaması.
kling-v2.67 alan
aspect_ratiostringÇıktı en boy oranı.
İzin verilen değerler:16:9, 9:16, 1:1
Varsayılan: 16:9
callback_urlstringAsenkron bildirimler için webhook URL'si.
duration_secondsintegerSaniye cinsinden süre.
İzin verilen değerler:5, 10
Varsayılan: 5
enable_soundbooleanSes oluşturmayı etkinleştirin; pro modu gerektirir.
Varsayılan:false
modestringÜretim modu.
İzin verilen değerler:std, pro
Varsayılan: std
modelstringModel tanımlayıcısı.
promptstringVideo açıklaması.
Aralık:1 - 2500
kling-v3-omni7 alan
aspect_ratiostringÇıktı en boy oranı.
İzin verilen değerler:16:9, 9:16, 1:1
Varsayılan: 16:9
callback_urlstringAsenkron bildirimler için webhook URL'si.
duration_secondsintegerSaniye cinsinden süre.
İzin verilen değerler:3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Varsayılan: 5
enable_soundbooleanSenkronize ses oluşturmayı etkinleştirin.
Varsayılan:false
modelstringModel tanımlayıcısı.
output_resolutionstringÇıktı çözünürlüğü.
İzin verilen değerler:720p, 1080p, 4k
Varsayılan: 720p
promptstringVideo açıklaması.
Aralık:1 - 2500
kling-v3-omni-reference8 alan
aspect_ratiostringÇıktı en boy oranı.
İzin verilen değerler:16:9, 9:16, 1:1
callback_urlstringAsenkron bildirimler için webhook URL'si.
duration_secondsintegerSaniye cinsinden çıktı süresi.
İzin verilen değerler:3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Varsayılan: 5
enable_soundbooleanSenkronize ses oluşturmayı etkinleştirin.
Varsayılan:false
modelstringModel tanımlayıcısı.
output_resolutionstringÇıktı çözünürlüğü.
İzin verilen değerler:720p, 1080p, 4k
Varsayılan: 720p
promptstringVideo açıklaması.
Aralık:1 - 2500
reference_image_urlsarraySıralı referans resim URL'leri.
Öğe aralığı:1 - 7
kling-v3-turbo-text-to-video6 alan
aspect_ratiostringÇıktı en boy oranı.
İzin verilen değerler:16:9, 9:16, 1:1
Varsayılan: 16:9
callback_urlstringAsenkron bildirimler için webhook URL'si.
duration_secondsintegerSaniye cinsinden süre.
İzin verilen değerler:3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Varsayılan: 5
modelstringModel tanımlayıcısı.
output_resolutionstringÇıktı çözünürlüğü.
İzin verilen değerler:720p, 1080p
Varsayılan: 720p
promptstringVideo açıklaması.
Aralık:1 - 2500
Koşullu kurallar
Bu gereksinimler, listelenen tüm koşulların eşleştiği durumlarda uygulanır.
-
Şu durumlarda
model = kling-3.0- Gerekli
- Kabul edilmez
reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Şu durumlarda
model = kling-o1- Gerekli
- Kabul edilmez
output_resolution,negative_prompt,cfg_scale,multi_shots,multi_prompt,first_frame_image_url,last_frame_image_url,kling_elements
-
Şu durumlarda
model = kling-v2.1-master-text-to-video- Gerekli
- Kabul edilmez
mode,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Şu durumlarda
model = kling-v2.5-turbo-text-to-video-pro- Gerekli
- Kabul edilmez
mode,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Şu durumlarda
model = kling-v2.6- Gerekli
- Kabul edilmez
output_resolution,negative_prompt,cfg_scale,multi_shots,multi_prompt,first_frame_image_url,last_frame_image_url,kling_elements,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Şu durumlarda
model = kling-v3-omni- Gerekli
- Kabul edilmez
negative_prompt,cfg_scale,multi_shots,multi_prompt,first_frame_image_url,last_frame_image_url,kling_elements,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Şu durumlarda
model = kling-v3-turbo-text-to-video- Gerekli
- Kabul edilmez
enable_sound,negative_prompt,cfg_scale,multi_shots,multi_prompt,first_frame_image_url,last_frame_image_url,kling_elements,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
Kabul oluştur
POST /api/v1/kling/text_to_video
Yanıt şeması
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
},
"task_replayed": {
"type": "boolean"
}
},
"required": [
"id",
"status",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "processing"
}
Yoklama işleniyor
GET /api/v1/kling/text_to_video/:id
Yanıt şeması
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
}
},
"required": [
"id",
"status",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "processing"
}
Yoklama tamamlandı
GET /api/v1/kling/text_to_video/:id
Yanıt şeması
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
},
"videos": {
"items": {
"properties": {
"url": {
"type": "string",
"x-runapi-generated-media": true
}
},
"required": [
"url"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
}
},
"required": [
"id",
"status",
"videos",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "completed",
"videos": [
{
"url": "https://file.runapi.ai/reference-video.mp4"
}
]
}
Yoklama başarısız oldu
GET /api/v1/kling/text_to_video/:id
Yanıt şeması
{
"properties": {
"billing": {
"properties": {
"refund": {
"oneOf": [
{
"properties": {
"refunded_at": {
"type": "string"
}
},
"required": [
"refunded_at"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"reservation": {
"oneOf": [
{
"properties": {
"amount_cents": {
"type": "integer"
}
},
"required": [
"amount_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
},
"settlement": {
"oneOf": [
{
"properties": {
"amount_micro_cents": {
"type": "integer"
},
"charged_amount_cents": {
"type": "integer"
}
},
"required": [
"charged_amount_cents",
"amount_micro_cents"
],
"type": "object",
"unevaluatedProperties": false
},
{
"enum": [
null
]
}
]
}
},
"required": [
"reservation",
"settlement",
"refund"
],
"type": "object",
"unevaluatedProperties": false
},
"error": {
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error",
"billing"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"error": "Task processing failed.",
"id": "tsk_reference_demo",
"status": "failed"
}
Müşteri geri çağırması: tamamlandı
POST callback_url
Yanıt şeması
{
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
},
"videos": {
"items": {
"properties": {
"url": {
"type": "string",
"x-runapi-generated-media": true
}
},
"required": [
"url"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
}
},
"required": [
"id",
"status",
"videos"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"id": "tsk_reference_demo",
"status": "completed",
"videos": [
{
"url": "https://file.runapi.ai/reference-video.mp4"
}
]
}
Müşteri geri çağırması: başarısız oldu
POST callback_url
Yanıt şeması
{
"properties": {
"error": {
"oneOf": [
{
"type": "string"
},
{
"properties": {
"code": {
"type": "string"
},
"limit_cents": {
"type": "integer"
},
"message": {
"type": "string"
},
"reset_at": {
"format": "date-time",
"type": [
"string",
"null"
]
},
"used_cents": {
"type": "integer"
},
"window": {
"enum": [
"1h",
"1d",
"7d",
"daily",
"weekly",
"monthly",
"lifetime"
],
"type": "string"
}
},
"required": [
"code",
"message"
],
"type": "object",
"unevaluatedProperties": false
}
]
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": {
"code": "generation_failed",
"message": "Task processing failed."
},
"id": "tsk_reference_demo",
"status": "failed"
}
Hatalar
POST /api/v1/kling/text_to_video
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Authentication required"
}
Hatalar
GET /api/v1/kling/text_to_video/:id
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Authentication required"
}
Hatalar
POST /api/v1/kling/text_to_video
Yanıt şeması
{
"oneOf": [
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir doğrulama özeti.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Herkese açık istek alanına göre anahtarlanan doğrulama mesajları; her alan için insan tarafından okunabilir dizelerden oluşan bir dizi içerir.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
Yanıt örneği
{
"error": "model must be one of: kling-3.0, kling-o1, kling-v2.1-master-text-to-video, kling-v2.5-turbo-text-to-video-pro, kling-v2.6, kling-v3-omni, kling-v3-omni-reference, kling-v3-turbo-text-to-video"
}
Hatalar
POST /api/v1/kling/text_to_video
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Insufficient balance"
}
Hatalar
POST /api/v1/kling/text_to_video
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "API key credit limit exceeded"
}
Hatalar
POST /api/v1/kling/text_to_video
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "The request uses features that are not supported for the selected model"
}
Hatalar
POST /api/v1/kling/text_to_video
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Rate limit reached. Please retry later."
}
Hatalar
POST /api/v1/kling/text_to_video
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Service under maintenance, please try again later"
}
Hatalar
POST /api/v1/kling/text_to_video
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "The request timed out"
}
Hatalar
GET /api/v1/kling/text_to_video/:id
Yanıt şeması
{
"properties": {
"error": {
"description": "İnsan tarafından okunabilir hata mesajı.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Yanıt örneği
{
"error": "Task with id 'tsk_reference_demo' not found"
}
Oluşturulan Kod Örnekleri
Doğrudan cURL kullanın veya diliniz için bir SDK yükleyin. Her örnek, bu başvuruda gösterilen doğrulanmış isteği gönderir.
Yükle
pip install runapi-kling
import os
from runapi.kling import KlingClient
client = KlingClient(api_key=os.environ["RUNAPI_API_KEY"])
task = client.text_to_video.create(
model="kling-v3-turbo-text-to-video",
prompt="A paper kite flying above a quiet coastal town at sunrise",
duration_seconds=5,
aspect_ratio="16:9",
output_resolution="720p"
)