Hoppa till huvudinnehåll
Detta dokument kommer att introducera en Kling Videos Generation API integrationsbeskrivning, som kan generera Kling officiella videor genom att ange anpassade parametrar.

Ansökningsprocess

För att använda API:et måste du först gå till Kling Videos Generation API motsvarande sida för att ansöka om den tjänst som behövs. När du kommer till sidan, klicka på knappen “Acquire”, som visas i bilden nedan: Om du inte har loggat in eller registrerat dig kommer du automatiskt att omdirigeras till inloggningssidan för att registrera dig och logga in. Efter att ha loggat in eller registrerat dig kommer du automatiskt att återvända till den aktuella sidan. Vid första ansökan kommer det att finnas en gratis kvot som ges, så att du kan använda API:et gratis.

Grundläggande användning

Först bör du förstå den grundläggande användningsmetoden, vilket innebär att du anger en prompt prompt, en åtgärd action, en referensbild för första ramen start_image_url samt en modell model, för att få det bearbetade resultatet. Först behöver du enkelt skicka ett action-fält, vars värde är text2video. Det innehåller huvudsakligen tre typer av åtgärder: text till video (text2video), bild till video (image2video), och utvidgad video (extend). Sedan behöver vi också ange modellen model, som för närvarande huvudsakligen inkluderar modellerna kling-v1, kling-v1-6, kling-v2-master, kling-v2-1-master, kling-v2-5-turbo, kling-video-o1, med specifikt innehåll som följer:

Här kan vi se att vi har ställt in Request Headers, inklusive:
  • accept: vilken format av svar du vill ta emot, här anges som application/json, det vill säga JSON-format.
  • authorization: API-nyckeln för att anropa API:et, som kan väljas direkt efter ansökan.
Dessutom har vi ställt in Request Body, inklusive:
  • model: modellen för att generera videon, huvudsakligen kling-v1, kling-v1-6, kling-v2-master, kling-v2-1-master, kling-v2-5-turbo, kling-video-o1.
  • mode: läget för att generera videon, huvudsakligen standardläge std och snabbläge pro.
  • action: åtgärden för denna videogenereringsuppgift, som huvudsakligen innehåller tre typer av åtgärder: text till video (text2video), bild till video (image2video), och utvidgad video (extend).
  • start_image_url: när bild till video-åtgärden image2video väljs, måste en länk till referensbilden för första ramen laddas upp.
  • end_image_url: valfritt vid bild till video, anger sista ramen.
  • aspect_ratio: videons bildförhållande, valfritt, stöder 16:9, 9:16, 1:1, standard är 16:9.
  • cfg_scale: relevansens styrka, intervall [0,1], ju större desto mer i linje med prompten.
  • camera_control: valfritt, kontrollerar kamerans rörelseparametrar, stöder typ/simple förinställningar samt horisontell, vertikal, panorera, luta, rulla, zoom och andra konfigurationer.
  • negative_prompt: valfritt, oönskade omvända promptord, högst 200 tecken.
  • element_list: huvudreferenslista, endast tillämplig för modellen kling-video-o1, den specifika användningen av denna parameter hänvisar till officiell dokumentation.
  • video_list: referensvideo, hämtas via URL, endast tillämplig för modellen kling-video-o1, den specifika användningen av denna parameter hänvisar till officiell dokumentation.
  • prompt: promptord.
  • callback_url: URL för att få tillbaka resultatet.
När du har valt kan du se att motsvarande kod också har genererats till höger, som visas i bilden nedan:

Klicka på knappen “Try” för att testa, som visas i bilden ovan, här får vi följande resultat:
{
  "success": true,
  "video_id": "af9a1af0-9aa0-4638-81c1-d41d6143c508",
  "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7485378259/text2video/Cjil4mfBfs0AAAAAAKbMQQ-0_raw_video_1.mp4",
  "duration": "5.1",
  "state": "succeed",
  "task_id": "e3a575aa-a4bd-49c8-9b12-cde38d5462e0"
}
Det returnerade resultatet har flera fält, som beskrivs nedan:
  • success, status för videogenereringsuppgiften.
  • task_id, ID för videogenereringsuppgiften.
  • video_id, video-ID för videogenereringsuppgiften.
  • video_url, videolänken för videogenereringsuppgiften.
  • duration, längden på videogenereringsuppgiften.
  • state, status för videogenereringsuppgiften.
Vi kan se att vi har fått tillfredsställande videoinformation, vi behöver bara hämta den genererade Kling-videon baserat på videolänken i data. Om du vill generera motsvarande integrationskod kan du direkt kopiera den som genererats, till exempel CURL-koden nedan:
curl -X POST 'https://api.acedata.cloud/kling/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "text2video",
  "model": "kling-v1",
  "prompt": "Vit keramik kaffekopp på glänsande marmorarbetsyta med morgonljus från fönstret. Kameran roterar långsamt 360 grader runt koppen och pausar kort vid handtaget."
}'

Utvidgad videofunktion

Om du vill fortsätta generera en redan skapad Kling-video kan du ställa in parametern action till extend och ange ID för videon som ska fortsätta genereras. Videons ID kan hämtas enligt grundläggande användning, som visas i bilden nedan:

I det här fallet kan vi se att videons ID är:
"video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c"
Observera att videons video_id här är ID för den genererade videon. Om du inte vet hur man genererar en video kan du hänvisa till den grundläggande användningen ovan för att generera videon.
Nästa steg är att fylla i den prompt som behövs för att anpassa den fortsatta videogenereringen, så kan följande innehåll specificeras:
  • model:Modellen för att generera video, huvudsakligen kling-v1, kling-v1-5 och kling-v1-6 modeller.
  • mode:Videogenereringsläget, huvudsakligen standardläge std och snabbläge pro.
  • duration:Videons längd för denna videogenereringsuppgift, huvudsakligen 5s och 10s.
  • start_image_url:När du väljer bild-till-video beteendet image2video måste du ladda upp en referensbildlänk för första ramen.
  • prompt:Promptord.
Fyll i exempel enligt nedan:

När du har fyllt i det genereras automatiskt koden nedan:

Motsvarande Python-kod:
import requests

url = "https://api.acedata.cloud/kling/videos"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "extend",
    "model": "kling-v1",
    "video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c",
    "prompt": "White ceramic coffee mug on glossy marble countertop with morning window light. Camera slowly rotates 360 degrees around the mug, pausing briefly at the handle.",
    "duration": 10
}

response = requests.post(url, json=payload, headers=headers)
print(response.text)
När du klickar på kör kan du se att du får ett resultat som nedan:
{
  "success": true,
  "video_id": "bbc3b105-ac72-4de2-8390-0cb37dc7d41e",
  "video_url": "https://cdn.klingai.com/bs2/upload-kling-api/7822108635/extendVideo/Cjil4mfBfs0AAAAAAKhr6A-0_raw_video_1.mp4",
  "duration": "9.6",
  "state": "succeed",
  "task_id": "3ece87e6-3ee3-4f5e-bd70-5ae5eca89a23"
}
Det kan ses att resultatinnehållet är i linje med ovanstående, vilket också realiserar videoutvidgningsfunktionen.

Asynkron återkoppling

Eftersom Kling Videos Generation API:s genereringstid är relativt lång, cirka 1-2 minuter, om API:n inte svarar under en längre tid, kommer HTTP-förfrågan att hålla anslutningen öppen, vilket leder till extra systemresursförbrukning, så detta API erbjuder också stöd för asynkron återkoppling. Den övergripande processen är: När klienten initierar en begäran, specificerar den ett extra callback_url fält, efter att klienten har initierat API-begäran kommer API:n omedelbart att returnera ett resultat som innehåller ett task_id fält, vilket representerar det aktuella uppdragets ID. När uppdraget är slutfört kommer resultatet av den genererade videon att skickas till klientens angivna callback_url i POST JSON-format, vilket också inkluderar task_id fältet, så att uppdragsresultatet kan kopplas ihop med ID. Låt oss förstå hur man gör detta genom ett exempel. Först är Webhook-återkoppling en tjänst som kan ta emot HTTP-förfrågningar, utvecklare bör ersätta med URL:en till sin egen byggda HTTP-server. Här för att underlätta demonstration använder vi en offentlig Webhook-exempelsida https://webhook.site/, öppna denna webbplats för att få en Webhook-URL, som visas i bilden: Kopiera denna URL så kan den användas som Webhook, exemplet här är https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3. Därefter kan vi ställa in fältet callback_url till ovanstående Webhook-URL, samtidigt som vi fyller i motsvarande parametrar, det specifika innehållet visas i bilden:

När du klickar på kör kan du se att du omedelbart får ett resultat som nedan:
{
  "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
Vänta en stund, så kan vi observera resultatet av den genererade videon på https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3, som visas i bilden: Innehållet är som följer:
{
    "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"
}
Det kan ses att resultatet innehåller ett task_id fält, medan de andra fälten liknar ovanstående, genom detta fält kan uppdraget kopplas ihop.

Felhantering

Vid anrop av API:t, om ett fel uppstår, kommer API:t att returnera motsvarande felkod och information. Till exempel:
  • 400 token_mismatched:Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 400 api_not_implemented:Felaktig begäran, möjligtvis på grund av saknade eller ogiltiga parametrar.
  • 401 invalid_token:Obehörig, ogiltig eller saknad auktoriseringstoken.
  • 429 too_many_requests:För många förfrågningar, du har överskridit hastighetsgränsen.
  • 500 api_error:Intern serverfel, något gick fel på servern.

Exempel på felrespons

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

Slutsats

Genom detta dokument har du fått en förståelse för hur du använder Kling Videos Generation API för att generera video genom att ange promptord och en referensbild för första ramen. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda detta API. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.