Skip to main content
Denna artikel 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 Kling Videos Generation API, börja med att gå till Ace Data Cloud-konsolen för att hämta din API-token, som du ska spara. Om du inte har loggat in eller registrerat dig, kommer du automatiskt att omdirigeras till inloggningssidan för att registrera dig och logga in, och efter att ha slutfört detta kommer du automatiskt att återvända till den aktuella sidan. En API-token räcker för att anropa alla tjänster på plattformen, du behöver inte ansöka separat för varje tjänst. Första ansökan ger en gratis kvot, så att du kan prova gratis; om kvoten är otillräcklig kan du ladda på allmän balans i konsolen.
📘 Fullständig dokumentation: Kling Videos Generation API →

Grundläggande användning

Först bör du förstå den grundläggande användningen, vilket innebär att ange 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, som huvudsakligen innehåller 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 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, med specifikt innehåll som följer:

Här kan vi se att vi har ställt in Request Headers, inklusive:
  • accept: vilken typ av svar du vill ta emot, här anges som application/json, det vill säga JSON-format.
  • authorization: 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-v2-6, kling-v3, kling-v3-omni, kling-o1.
  • mode: läget för att generera videon, valfria värden är standardläge std, snabbläge pro och ursprungligt 4K-läge 4k. Observera att 4k endast stöder kling-v3 och kling-v3-omni, och är inkompatibelt med camera_control (kamerakontroll).
  • 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.
  • duration: videons längd, i sekunder. kling-v3 och kling-v3-omni stöder heltal från 3-15 sekunder; kling-o1 stöder endast 5 sekunder; andra modeller stöder 5 eller 10 sekunder.
  • generate_audio: om ljud ska genereras synkront, valfritt, boolean. Stöder kling-v3, kling-v3-omni samt kling-v2-6 (endast pro-läge). Standard är false.
  • 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 kamerarörelsens objektparametrar, 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, max 200 tecken.
  • image_list: Omni referensbildlista, tillämplig för modellerna kling-o1 och kling-v3-omni, se nedan för användning av “Omni Allround Referens”.
  • video_list: Omni referensvideolista (stödjer videoredigering), tillämplig för modellerna kling-o1 och kling-v3-omni, se nedan för användning av “Omni Allround Referens”.
  • prompt: promptord.
  • callback_url: URL för att få tillbaka resultatet.
  • async: valfritt, sätts till true för att omedelbart returnera task_id, utan att behöva ange callback_url, och sedan kan resultatet hämtas genom att fråga motsvarande uppgiftsgränssnitt.
När du har valt kan du se att motsvarande kod också har genererats till höger, som visas i bilden:

Klicka på “Try” knappen för att testa, som visas i bilden ovan, här fick vi följande resultat:
Det returnerade resultatet har flera fält, som beskrivs nedan:
  • success, statusen för videogenereringsuppgiften.
  • task_id, ID för videogenereringsuppgiften.
  • video_id, videons ID för videogenereringsuppgiften.
  • video_url, videons länk för videogenereringsuppgiften.
  • duration, längden på videogenereringsuppgiften.
  • state, statusen för videogenereringsuppgiften.
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 resultatet. Om du vill generera motsvarande integrationskod kan du direkt kopiera den som genererats, till exempel CURL-koden nedan:

Modellkapabilitetsmatris

Olika modeller har olika stöd för parametrar. Nedan matris är sammanställd från Kling officiella video modeller dokument, kontrollera innan anrop att den aktuella model / mode / duration kombinationen stöder de funktioner du behöver, annars kommer det att returnera fel som model/mode/duration(...) is not supported with image_tail. Noteringar:
  • mode=4k stöds endast av kling-v3 och kling-v3-omni; och är ömsesidigt uteslutande med camera_control (kamerakontroll).
  • end_image_url kan endast användas med action=image2video tillsammans med start_image_url. Att endast skicka end_image_url (utan start_image_url) kommer att avvisas.
  • kling-v3 / kling-v3-omni accepterar valfri heltal duration mellan 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.

Utvidgning av videofunktioner

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 baserat på grundläggande användning, som visas nedan:

Då kan du se att videons ID är:
Observera att 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 en video.
Därefter måste vi fylla i nästa steg med de promptord som behövs för att anpassa den genererade videon, och vi kan specificera följande innehåll:
  • model: Modellen för att generera videon, huvudsakligen kling-v1, kling-v1-5 och kling-v1-6.
  • mode: Läge för att generera videon, valfria värden är standardläge std, snabbläge pro och ursprungligt 4K-läge 4k (endast kling-v3 och kling-v3-omni stöder detta, och är inkompatibelt med kamerakontroll).
  • duration: Videons längd för denna genereringsuppgift, huvudsakligen 5s och 10s.
  • start_image_url: När du väljer bild till video-åtgärden image2video måste du ladda upp en referensbildlänk för första bilden.
  • prompt: Promptord.
Exempel på ifyllning:

När du har fyllt i det kommer koden att genereras automatiskt som följer:

Motsvarande Python-kod:
När du klickar på kör kan du se att du får ett resultat som följer:
Det kan ses att resultatinnehållet är i linje med det ovan, vilket också uppnår videoutvidgningsfunktionen.

Omni Allroundreferens (videoredigering / referensvideo / flera bildreferenser)

kling-o1 och kling-v3-omni är två oberoende modeller, båda stöder “allroundreferens” kapacitet. Baserat på text till video (action=text2video) kan referensbilder eller referensvideor skickas in för att uppnå flera bildreferenser, referensvideo och direkt redigering av befintliga videor. Kärnavtal: Referensmaterial måste refereras i prompt med formen &lt;&lt;<image_1>>>, &lt;&lt;<video_1>>> (nummer från 1) för att hänvisa till motsvarande position i image_list / video_list, annars kommer modellen inte att tillämpa dessa referenser. Om du bara skickar material utan att referera till det i prompten kommer materialet att ignoreras.
Säkerhetsmeddelande: Nuvarande API öppnar inte element_list. ID för Kling Element Library är inte isolerat för hyresgäster, så innan en hyresgästsisolering Element Management API tillhandahålls, vänligen använd image_list för att skicka in huvudreferensbilden.
Omni-förfrågningar stöder inte negative_prompt, cfg_scale eller camera_control, och mode=4k kan inte användas. 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, vilket är det vanligaste scenariot för denna funktionalitet. Fälten för arrayelementen är som följer:
  • video_url: Referensvideolänk, får inte vara tom. Högst 1 MP4/MOV-video, filstorlek ≤200MB, bildfrekvens 24–60fps. kling-o1 kräver en längd på 3–10 sekunder, bredd och höjd 700–2160px; kling-v3-omni kräver en längd på 3–15,5 sekunder, bredd och höjd 700–4553px, totalt pixlar ≤8,294,400, bildförhållande 0,4–2.
  • refer_type: Referenstyp, valfri base (standard, grundvideo som ska redigeras, det vill säga “redigera videon direkt”, kan lägga till, ta bort/modifiera element, ändra komposition, byta stil, byta färg, byta väder etc.) eller feature (funktionsreferens, referera till dess stil / kamerarörelse / fortsätta till nästa klipp).
  • keep_original_sound: Om den ursprungliga videoljudet ska behållas, valfri yes (behåll) eller no (ta bort).
Observera: När referensvideo finns, måste generate_audio vara false. Videon med refer_type=base kan inte ange första bild / sista bild.
Exempel på CURL för att redigera en befintlig video (ändra videon till anime-stil):

Flera bildreferenser (image_list)

image_list används för att skicka in referensbilder (element / scenarier / stilar etc.), fälten för arrayelementen är som följer:
  • image_url: Referensbildlänk, får inte vara tom. Krav: format .jpg/.jpeg/.png; filstorlek ≤10MB; kortaste sidan ≥300px; bildförhållande 1:2.5 ~ 2.5:1.
  • type: Valfritt. Om det inte anges, används som ren referensbild; ange first_frame / end_frame för att användas som första bild / sista bild (motsvarar start_image_url / end_image_url).
Vid användning måste det refereras i prompt med &lt;&lt;<image_1>>>, &lt;&lt;<image_2>>>. Antalsbegränsning: om ingen referensvideo finns, referensbilder ≤ 7; om referensvideo finns, referensbilder ≤ 4. Om endast första / sista bild skickas kan start_image_url / end_image_url användas direkt, men sista bild måste användas tillsammans med första bild.
Observera: Om både start_image_url / end_image_url och image_list skickas, kommer första / sista bild att placeras före image_list, vilket kan påverka sekvensnumret för &lt;&lt;<image_N>>>. Det rekommenderas att välja ett av alternativen: om första / sista bild behövs, ange direkt i image_list med type, blanda inte med start_image_url / end_image_url.
Exempel på CURL för att generera video med flera bildreferenser:

Asynkron callback

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. Därför erbjuder denna API också stöd för asynkron callback. Den övergripande processen är: när klienten initierar en begäran, specificeras 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 uppdragets resultat kan kopplas samman med ID. Låt oss förstå hur man gör detta med ett exempel. Först är Webhook-callback 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, exempelvis 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, innehållet ser ut som bilden visar:

Klicka på kör, så kan vi se att vi omedelbart får ett resultat, som följer:
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:
Vi kan se att resultatet innehåller ett task_id-fält, de andra fälten liknar de som nämnts ovan, och genom detta fält kan uppdraget kopplas samman.

Felhantering

Vid anrop av API:n, om ett fel uppstår, kommer API:n att returnera motsvarande felkod och information. Till exempel:
  • 400 token_mismatched: Bad request, kan bero på saknade eller ogiltiga parametrar.
  • 400 api_not_implemented: Bad request, kan bero på 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

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 en prompt och en referensbild för första ramen. Vi hoppas att detta dokument kan hjälpa dig att bättre integrera och använda API:et. Om du har några frågor, tveka inte att kontakta vårt tekniska supportteam.