Hoppa till huvudinnehåll

Documentation Index

Fetch the complete documentation index at: https://docs.xhuoapi.ai/llms.txt

Use this file to discover all available pages before exploring further.

Den här dokumentationen beskriver hur man integrerar Kling Videos Generation API, vilket gör det möjligt att generera officiella Kling-videor genom att mata in anpassade parametrar.

Ansökningsprocess

För att använda API:et måste du först ansöka om tjänsten på motsvarande sida för Kling Videos Generation API. När du är på sidan klickar du på knappen “Acquire”, som visas nedan: Om du inte är inloggad eller inte har konto kommer du automatiskt att omdirigeras till inloggningssidan där du kan registrera dig och logga in. Efter inloggning återgår du automatiskt till aktuell sida. Vid första ansökan tilldelas en gratis kvot, så du kan använda API:et utan kostnad under denna period.

Grundläggande användning

För att börja använder du enkelt API:et genom att skicka in parametrarna prompt (prompt/ledtråd), action (genereringshandling), start_image_url (referensbild för första ramen) och model (modell). Först måste du ange ett action-fält, vars värde är text2video, vilket representerar tre huvudsakliga beteenden: text-till-video (text2video), bild-till-video (image2video) och utökad video (extend). Sedan specificerar du vilken modell du vill använda, med modeller som 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-video-o1 samt andra. Det huvudsakliga innehållet är som följer:

Du kan ställa in request headers inklusive:
  • accept: angiv vilken svarstyp du önskar, här är det application/json (JSON-format).
  • authorization: API-nyckel för anropet, som kan väljas från dropdown efter ansökan.
Request body innehåller bland annat:
  • model: vald modell för videoproduktion.
  • mode: generationsläge, valbart mellan std (standard), pro (snabb) och 4k (nativ 4K). Notera att 4k endast stöds av kling-v3 och kling-v3-omni och är inte kompatibelt med camera_control.
  • action: typen av videogenerering, text2video, image2video eller extend.
  • start_image_url: URL till referensbild för första ramen, obligatoriskt för image2video.
  • end_image_url: valfri, avslutande bild för image2video.
  • duration: videons längd i sekunder. För kling-v3 och kling-v3-omni kan du ange flexibel längd mellan 3-15 sekunder (heltal), andra modeller stödjer 5 eller 10 sekunder.
  • generate_audio: om ljud ska genereras samtidigt, valfritt boolean. Endast för kling-v3, kling-v3-omni och kling-v2-6 (endast pro). Standard är false.
  • aspect_ratio: bildförhållande, valbart mellan 16:9, 9:16, 1:1, standard är 16:9.
  • cfg_scale: relevansfaktor, mellan [0,1], ju högre desto mer matchande prompten.
  • camera_control: valfri, styrning av kamerarörelser, stöd för type/simple samt horizontal, vertical, pan, tilt, roll, zoom.
  • negative_prompt: motprompt, önskas undvikas, maximal 200 tecken.
  • element_list: referenslista för huvudobjekt, gäller endast modellen kling-video-o1, se officiell dokumentation.
  • video_list: referensvideo, hämtas via URL, endast för kling-video-o1, se samma dokument.
  • prompt: själva ledtråden.
  • callback_url: URL för att ta emot callback-Resultat.
När du har fyllt i fälten visas kod för exempelvis CURL som genereras till höger, som visar hur du kan testa:

Klicka på “Try” för att testa. Resultatet ser ut så här:
{
  "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"
}
Fält i svaret förklaras så här:
  • success: indikerar om videon genererades framgångsrikt.
  • task_id: ID för videoproduktionen.
  • video_id: ID för den genererade videon.
  • video_url: URL till videon.
  • duration: längden på videon.
  • state: status för processen.
Från resultatet kan du enkelt hämta videon via den angivna video_url. För att kopiera exempelvis CURL-koden kan du göra detta:
curl -X POST 'https://api.xhuoapi.ai/v1/kling/videos' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "action": "text2video",
  "model": "kling-v1",
  "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."
}'

Modeller och funktioners matriser

Olika modeller har olika stöd för parametrar. Nedan sammanställning är hämtad från Kling officiell dokumentation för videomodeller. Kontrollera före användning att kombinationen av model, mode och duration stöder funktionen; annars kan fel som model/mode/duration(...) is not supported with image_tail uppstå.
ModellModeend_image_url (start/slut-bild)generate_audio (ljud)camera_control (genomförande)Noteringar
kling-v1std / pro✅ Endast duration=5✅ Endast duration=5extend stödjer ej negative_prompt och cfg_scale
kling-v1-6stdMulti-image videoproduktion, extend i alla lägen
kling-v1-6pro
kling-v2-masterEndast ett läge, endast duration=5/10
kling-v2-1-masterEndast ett läge, endast duration=5/10
kling-v2-5-turbostd
kling-v2-5-turbopro
kling-v2-6std
kling-v2-6proDen enda icke-v3 modell som stöder ljud samtidigt
kling-v3std / produration 3–15 sek.
kling-v34k4K-läge stöder ej genomförande
kling-v3-omnistd / pro / 4k
kling-video-o1std / proEndast duration=5/10
Viktiga punkter:
  • mode=4k stöds endast av kling-v3 och kling-v3-omni; samt är inte kompatibelt med camera_control.
  • end_image_url kan endast användas tillsammans med start_image_url vid action=image2video. Att endast ange end_image_url utan start_image_url vägras.
  • kling-v3 / kling-v3-omni accepterar godtycklig duration mellan 3-15 sek, medan andra modeller endast stödjer 5 eller 10 sek.
  • generate_audio är standard false. Stöds endast av kling-v3, kling-v3-omni, kling-v2-6 (endast pro).

Utökad videofunktion (extend)

För att fortsätta generera en redan skapad Kling-video, sätt action till extend och mata in den video-ID som du hämtar via grundläggande användning. Video-ID kan hämtas exempelvis så här:

Där ser du att videons ID är:
"video_id": "030bb06d-98d4-4044-9042-0aa0822e8c8c"
Notera: Det video_id du ser i videon är det ID som tillhör den genererade videon. Om du är osäker på hur man genererar video, se avsnittet för grundläggande användning.
För att fortsätta skapa utifrån tidigare video använder du följande exempel:
  • model: exempelvis kling-v1, kling-v1-5, kling-v1-6.
  • mode: std, pro, 4k.
  • duration: 5 eller 10 sek.
  • prompt: Ledtråd för fortsättning.
Exempel:

Den automatiskte genererade koden i Python:
import requests

url = "https://api.xhuoapi.ai/v1/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 kör detta kommer API:et att returnera exempelvis:
{
  "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"
}
Detta liknar tidigare exempel och illustrerar videons fortsatta generering.

Asynkront callback

Pga att videokonstruktionsprocessen kan ta 1–2 minuter erbjuder API:et stöd för asynkrona callbacks. Processen är att du vid förfrågan anger callback_url. API:et svarar genast med ett task_id. När videon är klar skickas resultatet via POST i JSON till detta URL, inklusive samma task_id, vilket gör det möjligt att koppla ihop uppgiften. Exempel: Du kan t ex använda en testwebhook som https://webhook.site/ för att ta emot callback-resultaten. Efter att ha angett URL:n och skickat förfrågan kommer du att få ett svar:
{
  "task_id": "20068983-0cc9-4c6a-aeb6-9c6a3c668be0"
}
När videon är klar kan du se resultatet på den angivna webhook-adressen, exempelvis: Innehåll i resultatet:
{
  "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 centrala är task_id, vilken kopplar ihop den asynkrona processen.

Felhantering

Om ett API-anrop misslyckas ges ett felmeddelande med kod och information.
Exempel på fel:
  • 400 token_mismatched: dålig förfrågan, saknade eller felaktiga parametrar.
  • 400 api_not_implemented: inte implementerad funktion.
  • 401 invalid_token: ogiltig eller saknad API-nyckel.
  • 429 too_many_requests: för många förfrågningar, takgräns överskriden.
  • 500 api_error: serverfel.
Exempel på felrespons:
{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Sammanfattning

Med denna dokumentation är du nu bekant med att använda Kling Videos Generation API för att skapa videor utifrån prompt och referensbilder. Hoppas att detta underlättar din integration. Vid frågor kontakta gärna vår tekniska support.