Zum Hauptinhalt springen
Dieser Artikel beschreibt eine Integrationsanleitung für die Kling Motion Generation API, die es ermöglicht, offizielle Kling-Videos durch Eingabe benutzerdefinierter Parameter zu generieren.

Antragsprozess

Um die API zu nutzen, müssen Sie zunächst auf die entsprechende Seite der Kling Motion Generation API gehen und den entsprechenden Dienst beantragen. Nach dem Betreten der Seite klicken Sie auf die Schaltfläche „Acquire“, wie im Bild gezeigt: Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Nach der Anmeldung werden Sie automatisch zur aktuellen Seite zurückgeleitet. Bei der ersten Beantragung gibt es ein kostenloses Kontingent, mit dem Sie die API kostenlos nutzen können.

Grundlegende Nutzung

Zunächst sollten Sie die grundlegende Nutzung verstehen, indem Sie die Eingabeaufforderung prompt, die Referenzbild-URL image_url und den Referenzvideolink video_url eingeben, um das verarbeitete Ergebnis zu erhalten. Außerdem müssen wir das Modell mode eingeben, das derzeit hauptsächlich die Modelle std und pro umfasst. Die genauen Inhalte sind wie folgt:

Hier sehen wir, dass wir die Request-Header festgelegt haben, einschließlich:
  • accept: In welchem Format Sie die Antwort erhalten möchten, hier eingetragen als application/json, also im JSON-Format.
  • authorization: Der Schlüssel zur Nutzung der API, den Sie nach der Beantragung direkt auswählen können.
Zusätzlich haben wir den Request-Body festgelegt, einschließlich:
  • image_url: Referenzbild, die Personen, Hintergründe und andere Elemente im generierten Video basieren auf diesem Bild.
  • video_url: Link zum Abrufen des Referenzvideos. Die Bewegungen der Personen im generierten Video stimmen mit dem Referenzvideo überein.
  • mode: Der Modus zur Generierung des Videos, hauptsächlich gibt es den Standardmodus std und den Hochgeschwindigkeitsmodus pro.
  • keep_original_sound: Wählen Sie, ob der Originalton des Videos beibehalten werden soll, mögliche Werte: yes, no.
  • character_orientation: Die Ausrichtung der Personen im generierten Video, wählbar, ob sie mit dem Bild oder dem Video übereinstimmen soll, mögliche Werte: image, video.
  • prompt: Eingabeaufforderung.
  • callback_url: Die URL, an die das Ergebnis zurückgerufen werden soll.
Nach der Auswahl können Sie sehen, dass auf der rechten Seite auch der entsprechende Code generiert wurde, wie im Bild gezeigt:

Klicken Sie auf die Schaltfläche „Try“, um einen Test durchzuführen, wie im obigen Bild gezeigt, und wir erhalten folgendes Ergebnis:
{
  "success": true,
  "video_id": "842578800134742051",
  "video_url": "https://v4-fdl.kechuangai.com/ksc2/yGPGHvUVDQEzDCs6tC0rYIbd_JwWNFaF8BEYAlw_xVcWX72xFuIUVqB_Hp5Sa7YEijI-yXqfKI92WW7bmyeCtpMjSOImlOFpQCmMUa-9iojt_ifXJnex_tvNkA0ZlJmuJLpeOfvX3j8d9oeeWgLeU3ftzBjQq1g9OC9FU92OfjRQLUTSzfWRzkhzirV32BT-BwfxgqJKsUD-WHxjqCJmOw.mp4?cacheKey=ChtzZWN1cml0eS5rbGluZy5tZXRhX2VuY3J5cHQSsAHtyCrKxB23NXn5ddMedV5Mw4pp_kOk_TRbCVA-wO9LJZuga8_KxXCzhw6bU3hS1V5PpNoSTxSkm_E80i5U1PkJ5d444cjPvoIq2VboPqCip2QbsoiVMu6CuGP7tB7fStLbezBNA4lQtHeSVPxWTE7Hy0wbJ33tKlf-X_-1ad3u0cyHfT_8EroD4iYZ1ZVasuYxAKjcdmbbVZ7NlDK9rqyI5euyz-70-M-QM5Lk6l88SRoSS2Y9drB8Z4ednHxTIh7XZcnaIiB5Xf4Mv8Rc51nUyIC5lKp02LP7oViCg6OaAhR4ynNJkCgFMAE&x-kcdn-pid=112757&pkey=AAX8ukavvkZsIz-IUg2pTvMOAV7LVItIdg_5TUYhGA1YINT8x-SR7rXY7BWLKqspLTYIjK7C0SjbXtX25Lm4_sx2V229AIyfVzjrlQQ7IjPsxvAv9cTG72YN0TPSjVowBZQ",
  "duration": "5.066",
  "state": "succeed",
  "task_id": "363c7a84-e880-472e-a4d4-098e50cfc292"
}
Die Rückgabe enthält mehrere Felder, die wie folgt beschrieben werden:
  • success: Der Status des Videoerstellungsauftrags.
  • task_id: Die ID des Videoerstellungsauftrags.
  • video_id: Die Video-ID des Videoerstellungsauftrags.
  • video_url: Der Link zum Video des Videoerstellungsauftrags.
  • duration: Die Dauer des Videos des Videoerstellungsauftrags.
  • state: Der Status des Videoerstellungsauftrags.
Wir sehen, dass wir die gewünschten Videoinformationen erhalten haben. Wir müssen nur die Video-URL aus dem data-Ergebnis abrufen, um das generierte Kling-Video zu erhalten. Wenn Sie den entsprechenden Integrationscode generieren möchten, können Sie ihn direkt kopieren, zum Beispiel ist der CURL-Code wie folgt:
curl -X POST 'https://api.acedata.cloud/kling/motion' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "image_url": "https://sourceyoya.wenge.com/2025/06/03/683e9f76e4b0684509ab1aca.jpg",
  "video_url": "https://cdn.acedata.cloud/odwfm5.mp4",
  "prompt": "Lass das Bild lebendig werden",
  "mode": "std",
  "character_orientation": "image"
}'

Asynchrone Rückrufe

Da die Generierung durch die Kling Motion Generation API relativ lange dauert, etwa 1-2 Minuten, bleibt die HTTP-Anfrage bei langer Nichtreaktion verbunden, was zu einem zusätzlichen Verbrauch von Systemressourcen führt. Daher bietet diese API auch Unterstützung für asynchrone Rückrufe. Der gesamte Prozess ist: Wenn der Client die Anfrage stellt, gibt er zusätzlich ein callback_url-Feld an. Nach der API-Anfrage gibt die API sofort ein Ergebnis zurück, das ein task_id-Feld enthält, das die aktuelle Aufgaben-ID darstellt. Wenn die Aufgabe abgeschlossen ist, wird das Ergebnis des generierten Videos in Form von POST JSON an die vom Client angegebene callback_url gesendet, wobei auch das task_id-Feld enthalten ist, sodass die Aufgabenergebnisse über die ID verknüpft werden können. Lassen Sie uns anhand eines Beispiels verstehen, wie dies konkret funktioniert. Zunächst ist der Webhook-Rückruf ein Dienst, der HTTP-Anfragen empfangen kann. Entwickler sollten die URL ihres eigenen HTTP-Servers ersetzen. Zur Vereinfachung der Demonstration verwenden wir eine öffentliche Webhook-Beispielwebsite https://webhook.site/, auf dieser Website können Sie eine Webhook-URL erhalten, wie im Bild gezeigt: Kopieren Sie diese URL, um sie als Webhook zu verwenden. Das Beispiel hier ist https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3. Als nächstes können wir das Feld callback_url auf die oben genannte Webhook-URL setzen und die entsprechenden Parameter eingeben. Die genauen Inhalte sind wie im Bild dargestellt:

Klicken Sie auf Ausführen, und Sie werden sofort ein Ergebnis erhalten, wie folgt:
{
  "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
Nach einem Moment können wir auf https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3 das Ergebnis des generierten Videos beobachten, wie im Bild dargestellt: Der Inhalt ist wie folgt:
{
    "success": true,
    "video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c",
    "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7822108635/text2video/CjJzzGfBfqcAAAAAAKdVMQ-0_raw_video_1.mp4",
    "duration": "5.1",
    "state": "succeed",
    "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
Es ist zu sehen, dass im Ergebnis ein Feld task_id vorhanden ist, die anderen Felder sind ähnlich wie oben, und über dieses Feld kann die Zuordnung der Aufgaben erfolgen.

Fehlerbehandlung

Beim Aufruf der API, wenn ein Fehler auftritt, gibt die API den entsprechenden Fehlercode und die Informationen zurück. Zum Beispiel:
  • 400 token_mismatched: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 400 api_not_implemented: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 401 invalid_token: Unbefugt, ungültiges oder fehlendes Autorisierungstoken.
  • 429 too_many_requests: Zu viele Anfragen, Sie haben das Rate-Limit überschritten.
  • 500 api_error: Interner Serverfehler, etwas ist auf dem Server schiefgelaufen.

Beispiel für eine Fehlerantwort

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Fazit

Durch dieses Dokument haben Sie gelernt, wie Sie die Kling Motion Generation API nutzen, um die offiziellen Bewegungssteuerungsfunktionen von Kling zu implementieren. Wir hoffen, dass dieses Dokument Ihnen hilft, die API besser zu integrieren und zu nutzen. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.