Hoppa till huvudinnehåll
Den här artikeln introducerar en integrationsguide för Kling Videos Generation API, som kan generera Klings officiella videor genom att ange anpassade parametrar.

Ansökningsprocess

För att använda Kling Videos Generation API, gå först till Ace Data Cloud-konsolen för att hämta din API Token och spara den för senare användning. Om du ännu inte har loggat in eller registrerat dig omdirigeras du automatiskt till inloggningssidan, där du uppmanas att registrera dig och logga in. När detta är klart återgår du automatiskt till den aktuella sidan. En API Token kan anropa alla plattformens tjänster, utan att du behöver ansöka separat för varje tjänst. Vid den första ansökan får du en kostnadsfri kvot för att prova tjänsten gratis; när kvoten inte räcker till kan du ladda upp den gemensamma saldot i konsolen.
📘 Fullständig dokumentation: Kling Videos Generation API →

Grundläggande användning

Låt oss först förstå den grundläggande användningen: genom att ange prompten prompt, genereringsåtgärden action, referensbilden för första bildrutan start_image_url samt modellen model kan du få det bearbetade resultatet. Först behöver du enkelt skicka ett action-fält med värdet text2video. Det innehåller huvudsakligen tre typer av åtgärder: text-till-video (text2video), bild-till-video (image2video) och utökad video (extend). Därefter behöver vi även ange modellen model; för närvarande finns främst modellerna kling-v1, kling-v1-6, kling-v2-master, kling-v2-1-master, kling-v2-5-turbo, kling-v2-6, kling-v3, kling-v3-omni, kling-o1. Det specifika innehållet är följande:

Här kan vi se att vi har angett Request Headers, inklusive:
  • accept: vilket format du vill ta emot svarsresultatet i; här anges application/json, alltså JSON-format.
  • authorization: nyckeln för att anropa API:t, som kan väljas direkt i rullgardinsmenyn efter ansökan.
Dessutom har Request Body angetts, inklusive:
  • model: modellen för att generera video, huvudsakligen modellerna kling-v1, kling-v1-6, kling-v2-master, kling-v2-1-master, kling-v2-5-turbo, kling-v2-6, kling-v3, kling-v3-omni, kling-o1.
  • mode: läget för att generera video; valbara värden är standardläge std, snabbläge pro och inbyggt 4K-läge 4k. 4k stöds endast av kling-v3 och kling-v3-omni och är inte kompatibelt med camera_control (kamerarörelsekontroll).
  • 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 utökad video (extend).
  • start_image_url: länken till referensbilden för första bildrutan som måste laddas upp när åtgärden bild-till-video image2video väljs.
  • end_image_url: valfritt vid bild-till-video, anger sista bildrutan.
  • duration: videolängd i sekunder. kling-v3 och kling-v3-omni stöder heltalslängder på 3–15 sekunder; kling-o1 stöder endast 5 sekunder; övriga modeller stöder 5 eller 10 sekunder.
  • generate_audio: om ljud ska genereras samtidigt, valfritt, booleskt värde. Stöds av kling-v3, kling-v3-omni och kling-v2-6 (endast pro-läge). Standardvärdet är false.
  • aspect_ratio: videons bildförhållande, valfritt, stöder 16:9, 9:16, 1:1, standard är 16:9.
  • cfg_scale: relevansstyrka, intervall [0,1]; ju större värde, desto närmare följer resultatet prompten.
  • camera_control: valfritt, objektparameter för att styra kamerarörelse, stöder förinställningarna type/simple samt konfigurationer som horizontal, vertical, pan, tilt, roll och zoom.
  • negative_prompt: valfritt, negativ prompt för sådant som inte ska förekomma, högst 200 tecken.
  • image_list: Omni-lista över referensbilder, tillämplig för modellerna kling-o1 och kling-v3-omni; användning finns nedan under ”Omni universell referens”.
  • video_list: Omni-lista över referensvideor (stöder videoredigering), tillämplig för modellerna kling-o1 och kling-v3-omni; användning finns nedan under ”Omni universell referens”.
  • prompt: prompt.
  • callback_url: URL för återanrop av resultatet.
  • async: valfritt; när den anges som true returnerar gränssnittet omedelbart task_id, utan behov av att ange callback_url, och resultatet hämtas sedan genom polling via motsvarande gränssnitt för uppgiftsfrågor.
Efter valet kan du se att motsvarande kod också genereras till höger, som visas i bilden:

Klicka på knappen ”Try” för att testa. Som visas ovan får vi följande resultat:
Det returnerade resultatet innehåller flera fält, som beskrivs nedan:
  • success, status för videogenereringsuppgiften vid detta tillfälle.
  • task_id, ID för videogenereringsuppgiften vid detta tillfälle.
  • video_id, video-ID för videogenereringsuppgiften vid detta tillfälle.
  • video_url, videolänk för videogenereringsuppgiften vid detta tillfälle.
  • duration, videolängd för videogenereringsuppgiften vid detta tillfälle.
  • state, status för videogenereringsuppgiften vid detta tillfälle.
Vi kan se att vi har fått tillfredsställande videoinformation. Vi behöver bara hämta den genererade Kling-videon via videolänkadressen i resultatets data. Om du dessutom vill generera motsvarande integrationskod kan du kopiera den direkt. CURL-koden är till exempel följande:

Matris över modellfunktioner

Olika modeller skiljer sig avsevärt åt i sitt stöd för parametrar. Följande matris har sammanställts från Klings officiella dokumentation för video models. Kontrollera före anropet om den aktuella kombinationen av model / mode / duration stöder den funktion du behöver, annars returneras fel såsom model/mode/duration(...) is not supported with image_tail. Observera:
  • mode=4k stöds endast av kling-v3 och kling-v3-omni; och är ömsesidigt uteslutande med camera_control (kamerarörelse).
  • end_image_url kan endast användas tillsammans med start_image_url när action=image2video. Att endast skicka end_image_url (utan start_image_url) kommer att nekas.
  • kling-v3 / kling-v3-omni accepterar valfritt heltal för duration på 3–15 sekunder; kling-o1 accepterar endast 5; övriga modeller accepterar endast 5 eller 10.
  • generate_audio är som standard false. Endast kling-v3, kling-v3-omni och kling-v2-6 (pro-läge) stöder detta.

Funktion för att utöka video

Om du vill fortsätta generera en redan genererad Kling-video kan du ställa parametern action till extend, och ange ID:t för videon som behöver fortsätta genereras. Hämtning av video-ID sker enligt grundläggande användning, som visas i bilden nedan:

Vid denna tidpunkt kan du se att videons ID är:
Observera att video_id i videon här är ID:t för videon efter generering. Om du inte vet hur man genererar en video kan du hänvisa till den grundläggande användningen ovan för att generera en video.
Därefter måste vi fylla i prompten som behöver utökas i nästa steg för att anpassa den genererade videon, då kan följande innehåll anges:
  • model: Modellen för att generera videon, främst modellerna kling-v1, kling-v1-5 och kling-v1-6.
  • mode: Läget för att generera videon, valfria värden är standardläget std, extremt snabb-läget pro och inbyggt 4K-läge 4k (stöds endast av kling-v3 och kling-v3-omni, inkompatibelt med kamerarörelsekontroll).
  • duration: Videolängden för denna videogenereringsuppgift, omfattar främst 5s och 10s.
  • start_image_url: När bild-till-video-beteendet image2video väljs måste länken till den uppladdade referensbilden för första bildrutan anges.
  • prompt: Prompt.
Exempel på ifyllning är följande:

Efter att ifyllningen är klar genereras följande kod automatiskt:

Motsvarande Python-kod:
Klicka på kör, så kan du upptäcka att ett resultat erhålls, enligt följande:
Det kan ses att resultatinnehållet är detsamma som ovan, vilket också implementerar videons funktion för att utöka video.

Omni allsidig referens (videoredigering / referensvideo / referens med flera bilder)

kling-o1 och kling-v3-omni är två oberoende modeller, båda stöder kapaciteten ”allsidig referens”. På grundval av text-till-video (action=text2video) kan referensbilder eller referensvideor dessutom skickas in för att implementera referens med flera bilder, referensvideo samt direkt redigering av befintliga videor. Kärnöverenskommelse: Referensmaterial måste refereras i prompt i formen &lt;&lt;<image_1>>>, &lt;&lt;<video_1>>> (numreringen börjar från 1) till materialet på motsvarande position i image_list / video_list, först då kommer modellen att tillämpa dessa referenser. Om endast material skickas utan att refereras i prompten ignoreras materialet.
Säkerhetsinformation: Det aktuella API:et öppnar inte element_list. ID:n i Kling Element Library är inte hyresgästisolerade, använd image_list för att skicka in referensbilder av subjektet innan Element Management API med hyresgästisolering tillhandahålls.
Omni-förfrågningar stöder inte negative_prompt, cfg_scale eller camera_control, och kan inte heller använda mode=4k. När referensvideo ingår måste generate_audio vara false.

Referensvideo och videoredigering(video_list)

video_list används för att skicka in referensvideor och är det vanligaste scenariot för denna funktion. Fälten för arrayelementen är följande:
  • video_url: Referensvideolänk, får inte vara tom. Högst 1 MP4/MOV-video, filstorlek ≤200 MB, bildfrekvens 24–60 fps. kling-o1 kräver en längd på 3–10 sekunder och en bredd och höjd på vardera 700–2160 px; kling-v3-omni kräver en längd på 3–15,5 sekunder, en bredd och höjd på vardera 700–4553 px, totalt antal pixlar ≤8 294 400 och bildförhållande 0,4–2.
  • refer_type: Referenstyp, valfritt base (standard, basvideo som ska redigeras, dvs. ”redigera videon direkt”, där element kan läggas till/tas bort/ändras, kompositionen kan ändras och stil, färg, väder osv. kan bytas) eller feature (funktionsreferens, refererar till dess stil / kamerarörelser / fortsatt inspelning av nästa bild).
  • keep_original_sound: Om den ursprungliga videons ljud ska behållas, valfritt yes (behåll) eller no (ta bort).
Obs: När det finns en referensvideo måste generate_audio vara false. En video med refer_type=base kan inte dessutom ange första bildrutan / sista bildrutan.
Ett CURL-exempel för att redigera en befintlig video (ändra videon till anime-stil) är följande:

Referens med flera bilder (image_list)

image_list används för att skicka in referensbilder (element / scener / stilar osv.). Fälten för arrayelementen är följande:
  • image_url: Referensbildlänk, får inte vara tom. Krav: format .jpg/.jpeg/.png; filstorlek ≤10 MB; kortaste sida ≥300 px; bildförhållande 1:2,5 ~ 2,5:1.
  • type: Valfritt. Om det inte skickas används bilden som en ren referensbild; om first_frame / end_frame skickas används den som första bildruta / sista bildruta (motsvarar start_image_url / end_image_url).
Vid användning måste den refereras i prompt med &lt;&lt;<image_1>>>, &lt;&lt;<image_2>>>. Antalsgräns: referensbilder ≤ 7 när det inte finns någon referensvideo; referensbilder ≤ 4 när det finns en referensvideo. När endast första / sista bildrutan skickas kan även start_image_url / end_image_url användas direkt, men sista bildrutan måste användas tillsammans med första bildrutan.
Obs: Om start_image_url / end_image_url och image_list skickas samtidigt placeras första / sista bildrutan före image_list, vilket kan påverka motsvarigheten för indexnumren i &lt;&lt;<image_N>>>. Vi rekommenderar att du väljer ett av alternativen: när första / sista bildrutor behövs ska du ange type direkt i image_list och inte blanda det med start_image_url / end_image_url.
CURL-exempel för att generera video med referens från flera bilder:

Asynkron återuppringning

Eftersom tiden för generering med Kling Videos Generation API är relativt lång, ungefär 1–2 minuter, kommer HTTP-begäran att behålla anslutningen om API:et inte svarar under en längre tid, vilket leder till ytterligare förbrukning av systemresurser. Därför erbjuder detta API även stöd för asynkron återuppringning. Det övergripande flödet är: När klienten initierar en begäran anges dessutom fältet callback_url. Efter att klienten har initierat API-begäran returnerar API:et omedelbart ett resultat som innehåller fältet task_id, vilket representerar ID:t för den aktuella uppgiften. När uppgiften är klar skickas resultatet av videogenereringen i form av POST JSON till den callback_url som klienten har angett, vilket även innehåller fältet task_id, så att uppgiftsresultaten kan kopplas samman via ID:t. Nedan använder vi ett exempel för att förstå hur den konkreta processen fungerar. Först är Webhook-återuppringningen en tjänst som kan ta emot HTTP-begäranden, och utvecklare bör ersätta den med URL:en för sin egen HTTP-server. För att underlätta demonstrationen används här en offentlig exempelsida för Webhook, 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 ange fältet callback_url till ovanstående Webhook-URL och samtidigt fylla i motsvarande parametrar. Det specifika innehållet visas i bilden:

Klicka på kör, så kan du se att ett resultat returneras omedelbart, enligt följande:
Efter en kort stund kan vi på https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3 se resultatet av videogenereringen, som visas i bilden: Innehållet är följande:
Det går att se att resultatet innehåller ett task_id-fält. De övriga fälten liknar dem ovan, och uppgifter kan kopplas samman via detta fält.

Felhantering

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

Exempel på felsvar

Slutsats

Genom detta dokument har du förstått hur du använder Kling Videos Generation API för att generera videor genom att ange promptord samt en referensbild för första bildrutan. 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, kontakta gärna vårt tekniska supportteam.

Kling 3.0 Turbo

model="kling-v3-turbo" stöder text-till-video och bild-till-video med första bildruta, med en längd på heltal mellan 3–15 sekunder. mode="std" ger utdata i 720p och mode="pro" ger utdata i 1080p. Denna modell har inbyggt naturligt ljud och erbjuder ingen avstängningsfunktion; utelämna generate_audio eller sätt det till true. Denna modell stöder inte sista bildrutan, kamerarörelseobjekt, separata negativa promptord eller cfg_scale. Beskriv direkt i prompt innehållet som behövs eller bör undvikas.

Video med flera bildrutor

kling-v3 och kling-v3-omni stöder multi_shot=true. shot_type="intelligence" delar automatiskt upp i bildrutor baserat på prompt; shot_type="customize" tillhandahåller 1–6 bildrutor genom multi_prompt, där varje post innehåller ett index som ökar kontinuerligt från 1, en prompt på högst 512 tecken och en heltalsbaserad duration på minst 1 sekund. Summan av varaktigheten för alla bildrutor måste vara lika med den totala duration. Anpassade bildrutor använder inte den globala prompt. Flera bildrutor debiteras enligt vald modell, bildkvalitet, ljudkonfiguration och total varaktighet.