Kling Bild zu Video
Verwenden Sie den Endpunkt „Bild zu Video", um einen asynchronen Task zu erstellen.
Übersicht
Verwenden Sie den Endpunkt „Bild 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-o113 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
first_frame_image_urlstringÖffentliche HTTP(S)-JPG-, JPEG- oder PNG-Bild-URL des ersten Frames.
last_frame_image_urlstringÖffentliche HTTP(S)-JPG-, JPEG- oder PNG-Bild-URL des letzten Frames; kann nicht mit reference_image_urls oder reference_video_url kombiniert werden.
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; kann nicht mit last_frame_image_url kombiniert werden.
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; kann nicht mit last_frame_image_url kombiniert werden.
kling-v2.1-master-image-to-video9 Felder
aspect_ratiostringAusgabe-Seitenverhältnis.
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
cfg_scalenumberFührungsskala (0–1).
duration_secondsintegerDauer in Sekunden.
Zulässige Werte:5, 10
first_frame_image_urlstringURL des ersten Frames.
last_frame_image_urlstringURL des abschließenden Frames für unterstützte Bild-zu-Video-Modelle.
modelstringModell-Slug.
negative_promptstringNegativer Prompt.
promptstringVideobeschreibung.
kling-v2.1-pro9 Felder
aspect_ratiostringAusgabe-Seitenverhältnis.
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
cfg_scalenumberFührungsskala (0–1).
duration_secondsintegerDauer in Sekunden.
Zulässige Werte:5, 10
first_frame_image_urlstringURL des ersten Frames.
last_frame_image_urlstringURL des abschließenden Frames für unterstützte Bild-zu-Video-Modelle.
modelstringModell-Slug.
negative_promptstringNegativer Prompt.
promptstringVideobeschreibung.
kling-v2.1-standard9 Felder
aspect_ratiostringAusgabe-Seitenverhältnis.
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
cfg_scalenumberFührungsskala (0–1).
duration_secondsintegerDauer in Sekunden.
Zulässige Werte:5, 10
first_frame_image_urlstringURL des ersten Frames.
last_frame_image_urlstringURL des abschließenden Frames für unterstützte Bild-zu-Video-Modelle.
modelstringModell-Slug.
negative_promptstringNegativer Prompt.
promptstringVideobeschreibung.
kling-v2.5-turbo-image-to-video-pro9 Felder
aspect_ratiostringAusgabe-Seitenverhältnis.
callback_urlstringWebhook-URL für asynchrone Benachrichtigungen.
cfg_scalenumberFührungsskala (0–1).
duration_secondsintegerDauer in Sekunden.
Zulässige Werte:5, 10
first_frame_image_urlstringURL des ersten Frames.
last_frame_image_urlstringURL des abschließenden Frames für unterstützte Bild-zu-Video-Modelle.
modelstringModell-Slug.
negative_promptstringNegativer Prompt.
promptstringVideobeschreibung.
kling-v2.69 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
first_frame_image_urlstringURL des ersten Frames.
last_frame_image_urlstringURL des abschließenden Frames; erfordert den Pro-Modus und 5 Sekunden.
modestringGenerierungsmodus.
Zulässige Werte:std, pro
Standard: std
modelstringModell-Slug.
promptstringVideobeschreibung.
Bereich:1 - 2500
kling-v3-omni9 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
first_frame_image_urlstringURL des ersten Frames.
last_frame_image_urlstringURL des abschließenden Frames; erfordert eine Dauer von 5 Sekunden.
modelstringModell-Slug.
output_resolutionstringAusgabeauflösung.
Zulässige Werte:720p, 1080p, 4k
Standard: 720p
promptstringVideobeschreibung.
Bereich:1 - 2500
kling-v3-turbo-image-to-video6 Felder
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
first_frame_image_urlstringURL des ersten Frames.
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-o1- Erforderlich
- Nicht akzeptiert
output_resolution,negative_prompt,cfg_scale
-
Wenn
model = kling-v2.1-master-image-to-video- Erforderlich
- Nicht akzeptiert
output_resolution,enable_sound,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wenn
model = kling-v2.1-pro- Erforderlich
- Nicht akzeptiert
output_resolution,enable_sound,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wenn
model = kling-v2.1-standard- Erforderlich
- Nicht akzeptiert
output_resolution,enable_sound,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wenn
model = kling-v2.5-turbo-image-to-video-pro- Erforderlich
- Nicht akzeptiert
output_resolution,enable_sound,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,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wenn
model = kling-v3-omni- Erforderlich
- Nicht akzeptiert
negative_prompt,cfg_scale,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
-
Wenn
model = kling-v3-turbo-image-to-video- Erforderlich
- Nicht akzeptiert
enable_sound,aspect_ratio,negative_prompt,cfg_scale,last_frame_image_url,reference_image_urls,reference_video_url,reference_video_type,preserve_reference_video_audio
Annahme erstellen
POST /api/v1/kling/image_to_video
Antwort-Schema
{
"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
}
Antwortbeispiel
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "processing"
}
Abfrage wird verarbeitet
GET /api/v1/kling/image_to_video/:id
Antwort-Schema
{
"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
}
Antwortbeispiel
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "processing"
}
Abfrage abgeschlossen
GET /api/v1/kling/image_to_video/:id
Antwort-Schema
{
"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
}
Antwortbeispiel
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"id": "tsk_reference_demo",
"status": "completed",
"videos": [
{
"url": "https://file.runapi.ai/reference-video.mp4"
}
]
}
Abfrage fehlgeschlagen
GET /api/v1/kling/image_to_video/:id
Antwort-Schema
{
"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
}
Antwortbeispiel
{
"billing": {
"refund": null,
"reservation": null,
"settlement": null
},
"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"
},
"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
}
Antwortbeispiel
{
"id": "tsk_reference_demo",
"status": "completed",
"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/image_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/image_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/image_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-o1, kling-v2.1-master-image-to-video, kling-v2.1-pro, kling-v2.1-standard, kling-v2.5-turbo-image-to-video-pro, kling-v2.6, kling-v3-omni, kling-v3-turbo-image-to-video"
}
Fehler
POST /api/v1/kling/image_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/image_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/image_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/image_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/image_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/image_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/image_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.image_to_video.create(
model="kling-o1",
prompt="A gentle camera pan across the scene.",
first_frame_image_url="https://file.runapi.ai/first-frame.png"
)