Kling Text zu Video
Erzeuge Clips aus Eingaben mit den Kling 3.0-Modellen, mit Ton, mehreren Einstellungen und Omni reference-to-video.
Übersicht
Verwenden Sie den Endpunkt „Text zu Video" mit einem unterstützten Modell. Verwenden Sie die zurückgegebene Task-ID, um den Status abzurufen, oder geben Sie callback_url für die unten dokumentierten Zustellungen an.
Schnellstart
- Erstellen Sie einen API-Schlüssel und setzen Sie ihn als RUNAPI_API_KEY.
- Wählen Sie ein unterstütztes Modell und senden Sie eine POST-Anfrage, deren Body dem Schema dieses Modells entspricht.
- Speichern Sie die zurückgegebene Task-ID und fragen Sie den Status ab, bis ein Endzustand erreicht ist, oder verarbeiten Sie die unten dokumentierten Callbacks.
Endpunkt
- Basis-URL
https://runapi.ai- API-Version
v1- Authentifizierung
Authorization: Bearer YOUR_API_TOKEN
Unterstützte Modelle
Öffnen Sie eine Modellseite für aktuelle Preise, Ratenlimits und Details zur kommerziellen Nutzung.
Anfrage-Schema
Felder und zulässige Werte hängen vom ausgewählten Modell ab. Wenn angegeben, empfängt callback_url die unten dokumentierten Task-Zustellungen.
kling-3.015 Felder
aspect_ratiostringAusgabe-Seitenverhältnis.
Zulässige Werte:16:9, 9:16, 1:1
Standard: 16:9
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
cfg_scalenumberFührungsskala (0–1).
duration_secondsintegerDauer in Sekunden.
Zulässige Werte:3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Standard: 5
enable_soundbooleanTongenerierung aktivieren.
Standard:false
first_frame_image_urlstringURL des ersten Frames.
kling_elementsarrayElementreferenzen mit Bild-, Video- oder Audiomaterial.
last_frame_image_urlstringURL des letzten Frame-Bildes für den Einzelaufnahme-Modus.
modelstringModell-Slug.
multi_promptarrayFür benutzerdefinierte Storyboards erforderlich: 1–6 Einstellungen mit nicht leeren Prompts bis 500 Zeichen (jede @element-Referenz zählt als 37), jeweils duration_seconds 1–12, deren Summe duration_seconds entspricht.
multi_shotsbooleanMulti-Shot-Generierung aktivieren.
negative_promptstringNegativer Prompt.
output_resolutionstringAusgabeauflösung.
Zulässige Werte:720p, 1080p, 4k
Standard: 1080p
promptstringVideobeschreibung. Für einzelne Einstellungen und automatische Storyboards erforderlich.
shot_typestringStoryboard-Methode für mehrere Einstellungen: custom oder automatic; Standardwert custom nur bei multi_shots gleich true.
Zulässige Werte:custom, automatic
kling-o111 Felder
aspect_ratiostringAusgabe-Seitenverhältnis.
Zulässige Werte:16:9, 9:16, 1:1
Standard: 16:9
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
duration_secondsintegerDauer in Sekunden.
Zulässige Werte:5
Standard: 5
enable_soundbooleanDie Klanggenerierung muss deaktiviert bleiben.
Standard:false
modestringGenerierungsmodus.
Zulässige Werte:std, pro
Standard: std
modelstringModell-Slug.
preserve_reference_video_audiobooleanDen Originalton des Referenzvideos beibehalten.
Standard:false
promptstringVideobeschreibung; Referenzmedien mit entsprechend nummerierten Markierungen angeben.
Bereich:1 - 2500
reference_image_urlsarrayGeordnete öffentliche HTTP(S) JPG-, JPEG- oder PNG-ReferenzbildURLs.
Elementbereich:1 - 7
reference_video_typestringVerwenden Sie das Video als Basis für die Bearbeitung oder als Funktionsreferenz.
Zulässige Werte:base, feature
Standard: base
reference_video_urlstringÖffentliche HTTP(S)-MP4- oder MOV-Referenzvideo-URL.
kling-v2.1-master-text-to-video8 Felder
aspect_ratiostringAusgabe-Seitenverhältnis.
Zulässige Werte:16:9, 9:16, 1:1
Standard: 16:9
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
cfg_scalenumberFührungsskala (0–1).
duration_secondsintegerDauer in Sekunden.
Zulässige Werte:5, 10
Standard: 5
enable_soundbooleanTongenerierung aktivieren.
modelstringModell-Slug.
negative_promptstringNegativer Prompt.
promptstringVideobeschreibung.
kling-v2.5-turbo-text-to-video-pro8 Felder
aspect_ratiostringAusgabe-Seitenverhältnis.
Zulässige Werte:16:9, 9:16, 1:1
Standard: 16:9
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
cfg_scalenumberFührungsskala (0–1).
duration_secondsintegerDauer in Sekunden.
Zulässige Werte:5, 10
Standard: 5
enable_soundbooleanTongenerierung aktivieren.
modelstringModell-Slug.
negative_promptstringNegativer Prompt.
promptstringVideobeschreibung.
kling-v2.67 Felder
aspect_ratiostringAusgabe-Seitenverhältnis.
Zulässige Werte:16:9, 9:16, 1:1
Standard: 16:9
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
duration_secondsintegerDauer in Sekunden.
Zulässige Werte:5, 10
Standard: 5
enable_soundbooleanTongenerierung aktivieren; erfordert den Pro-Modus.
Standard:false
modestringGenerierungsmodus.
Zulässige Werte:std, pro
Standard: std
modelstringModell-Slug.
promptstringVideobeschreibung.
Bereich:1 - 2500
kling-v3-omni7 Felder
aspect_ratiostringAusgabe-Seitenverhältnis.
Zulässige Werte:16:9, 9:16, 1:1
Standard: 16:9
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
duration_secondsintegerDauer in Sekunden.
Zulässige Werte:3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Standard: 5
enable_soundbooleanSynchronisierte Tongenerierung aktivieren.
Standard:false
modelstringModell-Slug.
output_resolutionstringAusgabeauflösung.
Zulässige Werte:720p, 1080p, 4k
Standard: 720p
promptstringVideobeschreibung.
Bereich:1 - 2500
kling-v3-omni-reference8 Felder
aspect_ratiostringAusgabe-Seitenverhältnis.
Zulässige Werte:16:9, 9:16, 1:1
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
duration_secondsintegerAusgabedauer in Sekunden.
Zulässige Werte:3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Standard: 5
enable_soundbooleanSynchronisierte Tongenerierung aktivieren.
Standard:false
modelstringModell-Slug.
output_resolutionstringAusgabeauflösung.
Zulässige Werte:720p, 1080p, 4k
Standard: 720p
promptstringVideobeschreibung.
Bereich:1 - 2500
reference_image_urlsarrayGeordnete ReferenzbildURLs.
Elementbereich:1 - 7
kling-v3-turbo-text-to-video6 Felder
aspect_ratiostringAusgabe-Seitenverhältnis.
Zulässige Werte:16:9, 9:16, 1:1
Standard: 16:9
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
duration_secondsintegerDauer in Sekunden.
Zulässige Werte:3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Standard: 5
modelstringModell-Slug.
output_resolutionstringAusgabeauflösung.
Zulässige Werte:720p, 1080p
Standard: 720p
promptstringVideobeschreibung.
Bereich:1 - 2500
Bedingte Regeln
Diese Anforderungen gelten, wenn alle aufgeführten Bedingungen zutreffen.
-
Wenn
model = kling-3.0- Erforderlich
- Nicht akzeptiert
reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wenn
model = kling-o1- Erforderlich
- Nicht akzeptiert
output_resolution,negative_prompt,cfg_scale,multi_shots,multi_prompt,first_frame_image_url,last_frame_image_url,kling_elements
-
Wenn
model = kling-v2.1-master-text-to-video- Erforderlich
- Nicht akzeptiert
mode,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wenn
model = kling-v2.5-turbo-text-to-video-pro- Erforderlich
- Nicht akzeptiert
mode,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wenn
model = kling-v2.6- Erforderlich
- Nicht akzeptiert
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
-
Wenn
mode = std,model = kling-v2.6- Erforderlich
- Nicht akzeptiert
-
Wenn
mode absent,model = kling-v2.6- Erforderlich
- Nicht akzeptiert
-
Wenn
model = kling-v3-omni- Erforderlich
- Nicht akzeptiert
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
-
Wenn
model = kling-v3-turbo-text-to-video- Erforderlich
- Nicht akzeptiert
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
Annahme erstellen
POST /api/v1/kling/text_to_video
Antwort-Schema
{
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
},
"task_replayed": {
"type": "boolean"
}
},
"required": [
"id",
"status"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"id": "tsk_reference_demo",
"status": "processing"
}
Abfrage wird verarbeitet
GET /api/v1/kling/text_to_video/:id
Antwort-Schema
{
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"processing"
],
"type": "string"
}
},
"required": [
"id",
"status"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"id": "tsk_reference_demo",
"status": "processing"
}
Abfrage abgeschlossen
GET /api/v1/kling/text_to_video/:id
Antwort-Schema
{
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
},
"usage": {
"properties": {
"cost": {
"type": "number"
}
},
"required": [
"cost"
],
"type": "object",
"unevaluatedProperties": false
},
"videos": {
"items": {
"properties": {
"url": {
"type": "string",
"x-runapi-generated-media": true
}
},
"required": [
"url"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
}
},
"required": [
"id",
"status",
"videos",
"usage"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"id": "tsk_reference_demo",
"status": "completed",
"usage": {
"cost": 0.05
},
"videos": [
{
"url": "https://file.runapi.ai/reference-video.mp4"
}
]
}
Abfrage fehlgeschlagen
GET /api/v1/kling/text_to_video/:id
Antwort-Schema
{
"properties": {
"error": {
"type": "string"
},
"id": {
"type": "string"
},
"status": {
"enum": [
"failed"
],
"type": "string"
}
},
"required": [
"id",
"status",
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Task processing failed.",
"id": "tsk_reference_demo",
"status": "failed"
}
Kunden-Callback: abgeschlossen
POST callback_url
Antwort-Schema
{
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"completed"
],
"type": "string"
},
"usage": {
"properties": {
"cost": {
"type": "number"
}
},
"required": [
"cost"
],
"type": "object",
"unevaluatedProperties": false
},
"videos": {
"items": {
"properties": {
"url": {
"type": "string",
"x-runapi-generated-media": true
}
},
"required": [
"url"
],
"type": "object",
"unevaluatedProperties": false
},
"type": "array"
}
},
"required": [
"id",
"status",
"videos",
"usage"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"id": "tsk_reference_demo",
"status": "completed",
"usage": {
"cost": 0.05
},
"videos": [
{
"url": "https://file.runapi.ai/reference-video.mp4"
}
]
}
Kunden-Callback: fehlgeschlagen
POST callback_url
Antwort-Schema
{
"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
}
Antwortbeispiel
{
"error": {
"code": "generation_failed",
"message": "Task processing failed."
},
"id": "tsk_reference_demo",
"status": "failed"
}
Fehler
POST /api/v1/kling/text_to_video
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Authentication required"
}
Fehler
GET /api/v1/kling/text_to_video/:id
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Authentication required"
}
Fehler
POST /api/v1/kling/text_to_video
Antwort-Schema
{
"oneOf": [
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
},
{
"properties": {
"error": {
"description": "Menschenlesbare Validierungszusammenfassung.",
"type": "string"
},
"errors": {
"additionalProperties": {
"items": {
"type": "string"
},
"type": "array"
},
"description": "Validierungsmeldungen nach öffentlichem Anforderungsfeld gegliedert, mit einem Array menschenlesbarer Zeichenketten für jedes Feld.",
"type": "object"
}
},
"required": [
"error",
"errors"
],
"type": "object",
"unevaluatedProperties": false
}
]
}
Antwortbeispiel
{
"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"
}
Fehler
POST /api/v1/kling/text_to_video
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Insufficient balance"
}
Fehler
POST /api/v1/kling/text_to_video
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "API key credit limit exceeded"
}
Fehler
POST /api/v1/kling/text_to_video
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "The request uses features that are not supported for the selected model"
}
Fehler
POST /api/v1/kling/text_to_video
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Rate limit reached. Please retry later."
}
Fehler
POST /api/v1/kling/text_to_video
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Service under maintenance, please try again later"
}
Fehler
POST /api/v1/kling/text_to_video
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "The request timed out"
}
Fehler
GET /api/v1/kling/text_to_video/:id
Antwort-Schema
{
"properties": {
"error": {
"description": "Für Menschen lesbare Fehlermeldung.",
"type": "string"
}
},
"required": [
"error"
],
"type": "object",
"unevaluatedProperties": false
}
Antwortbeispiel
{
"error": "Task with id 'tsk_reference_demo' not found"
}
Generierte Code-Beispiele
Verwende cURL direkt oder installiere ein SDK für deine Programmiersprache. Jedes Beispiel übermittelt die in dieser Referenz gezeigte validierte Anfrage.
Installieren
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"
)