Proces aplikacji
Aby korzystać z API generacji filmów Kling, najpierw przejdź do konsoli Ace Data Cloud, aby uzyskać swój token API, który należy zachować na przyszłość.
Jeśli nie jesteś zalogowany lub zarejestrowany, automatycznie zostaniesz przekierowany na stronę logowania, aby zarejestrować się i zalogować, a po zakończeniu zostaniesz automatycznie przekierowany z powrotem na bieżącą stronę.
Jeden token API wystarczy do wywołania wszystkich usług platformy, nie ma potrzeby składania osobnych wniosków dla każdej usługi. Przy pierwszym wniosku otrzymasz darmowy limit, aby móc skorzystać z usługi; gdy limit się wyczerpie, możesz doładować saldo ogólne w konsoli.
📘 Pełna dokumentacja: API generacji filmów Kling →
Podstawowe użycie
Najpierw zapoznaj się z podstawowym sposobem użycia, polegającym na wprowadzeniu słowa kluczowegoprompt, działania action, linku do referencyjnego obrazu start_image_url oraz modelu model, aby uzyskać przetworzony wynik. Najpierw musisz przekazać pole action, którego wartość to text2video. Obejmuje ono trzy główne działania: generowanie wideo z tekstu (text2video), generowanie wideo z obrazu (image2video), rozszerzanie wideo (extend). Następnie musimy również wprowadzić model model, który obecnie obejmuje głównie modele 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, szczegóły są następujące:

accept: format odpowiedzi, który chcemy otrzymać, tutaj wpisujemyapplication/json, czyli format JSON.authorization: klucz do wywołania API, po złożeniu wniosku można go bezpośrednio wybrać z rozwijanej listy.
model: model do generowania wideo, główniekling-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: tryb generowania wideo, opcjonalne wartości to standardowy trybstd, tryb superszybkiprooraz natywny tryb 4K4k. Tryb4kobsługuje tylko modelekling-v3ikling-v3-omni, a także jest niekompatybilny zcamera_control(kontrola kamery).action: działanie związane z generowaniem wideo, głównie obejmujące trzy działania: generowanie wideo z tekstu (text2video), generowanie wideo z obrazu (image2video), rozszerzanie wideo (extend).start_image_url: przy wyborze działania generowania wideo z obrazuimage2videonależy przesłać link do referencyjnego obrazu.end_image_url: opcjonalne przy generowaniu wideo z obrazu, określa ostatnią klatkę.duration: długość wideo, w sekundach.kling-v3ikling-v3-omniobsługują długości całkowite od 3 do 15 sekund;kling-o1obsługuje tylko 5 sekund; inne modele obsługują 5 lub 10 sekund.generate_audio: czy synchronizować generowanie dźwięku, opcjonalne, wartość logiczna. Obsługujekling-v3,kling-v3-omniorazkling-v2-6(tylko w trybie pro). Domyślniefalse.aspect_ratio: proporcje wideo, opcjonalne, obsługuje16:9,9:16,1:1, domyślnie16:9.cfg_scale: siła związku, zakres [0,1], im większa, tym bardziej zgodna z podanym słowem kluczowym.camera_control: opcjonalne, parametry kontrolujące ruch kamery, obsługuje predefiniowane typy/simple oraz konfiguracje horizontal, vertical, pan, tilt, roll, zoom.negative_prompt: opcjonalne, słowa kluczowe, których nie chcemy, maksymalnie 200 znaków.image_list: lista referencyjnych obrazów Omni, odpowiednia dla modelikling-o1ikling-v3-omni, sposób użycia opisany poniżej w sekcji „Omni pełne odniesienie”.video_list: lista referencyjnych filmów Omni (obsługuje edycję wideo), odpowiednia dla modelikling-o1ikling-v3-omni, sposób użycia opisany poniżej w sekcji „Omni pełne odniesienie”.prompt: słowo kluczowe.callback_url: URL, na który mają być zwracane wyniki.async: opcjonalne, ustawione natrue, interfejs natychmiast zwracatask_id, nie ma potrzeby podawaniacallback_url, a następnie można uzyskać wyniki, korzystając z odpowiedniego interfejsu zapytań o zadania.

success, status zadania generowania wideo.task_id, ID zadania generowania wideo.video_id, ID wideo generowanego w ramach zadania.video_url, link do wideo generowanego w ramach zadania.duration, długość wideo generowanego w ramach zadania.state, status zadania generowania wideo.
data uzyskamy wygenerowane wideo Kling.
Dodatkowo, jeśli chcesz wygenerować odpowiedni kod integracyjny, możesz go bezpośrednio skopiować, na przykład kod CURL wygląda następująco:
Macierz możliwości modeli
Różne modele mają różne wsparcie dla parametrów. Poniższa macierz została opracowana na podstawie oficjalnej dokumentacji modeli wideo Kling, przed wywołaniem proszę sprawdzić, czy aktualna kombinacjamodel / mode / duration obsługuje wymagane funkcje, w przeciwnym razie serwer zwróci błędy, takie jak model/mode/duration(...) is not supported with image_tail.
Uwagi:
mode=4kwspierają tylkokling-v3ikling-v3-omni; jest to również wykluczone zcamera_control(sterowanie kamerą).end_image_urlmoże być używane tylko w połączeniu zstart_image_urlpodczasaction=image2video. Przesłanie tylkoend_image_url(bezstart_image_url) zostanie odrzucone.kling-v3/kling-v3-omniakceptują dowolny całkowitydurationod 3 do 15 sekund;kling-o1akceptuje tylko 5; pozostałe modele akceptują tylko 5 lub 10.generate_audiodomyślniefalse. Tylkokling-v3,kling-v3-omniikling-v2-6(tryb pro) wspierają.
Funkcje rozszerzonego wideo
Jeśli chcesz kontynuować generowanie już wygenerowanego wideo Kling, możesz ustawić parametraction na extend i wprowadzić ID wideo, które chcesz kontynuować. ID wideo można uzyskać na podstawie podstawowego użycia, jak pokazano na poniższym obrazku:

Uwaga, tutaj video_id w wideo to ID wygenerowanego wideo. Jeśli nie wiesz, jak wygenerować wideo, możesz odwołać się do powyższego opisu podstawowego użycia.
Następnie musimy wypełnić kolejne kroki, aby rozszerzyć podpowiedzi do dostosowania generowanego wideo, można określić następujące treści:
model: model generujący wideo, główniekling-v1,kling-v1-5ikling-v1-6.mode: tryb generowania wideo, możliwe wartości to standardowy trybstd, tryb superszybkiproi natywny tryb 4K4k(tylkokling-v3ikling-v3-omniwspierają, niekompatybilny z kontrolą kamery).duration: czas trwania zadania generowania wideo, głównie 5s i 10s.start_image_url: gdy wybierasz działanie generowania wideo z obrazuimage2video, musisz przesłać link do referencyjnego obrazu klatki początkowej.prompt: podpowiedź.


Omni wszechstronny odniesienie (edycja wideo / wideo referencyjne / wiele obrazów referencyjnych)
kling-o1 i kling-v3-omni to dwa niezależne modele, które wspierają zdolność „wszechstronnego odniesienia”. Na podstawie generowania wideo z tekstu (action=text2video) można dodatkowo przesłać obrazy referencyjne lub wideo referencyjne, aby zrealizować wiele obrazów referencyjnych, wideo referencyjne oraz bezpośrednią edycję istniejącego wideo.
Podstawowe ustalenie: Materiały referencyjne muszą być cytowane w prompt w formie <<<image_1>>>, <<<video_1>>> (numeracja zaczyna się od 1) w odniesieniu do odpowiednich pozycji w image_list / video_list, aby model mógł zastosować te odniesienia. Jeśli przesłano tylko materiały bez ich cytowania w podpowiedzi, materiały zostaną zignorowane.
Uwaga bezpieczeństwa: obecne API nie udostępniaŻądania Omni nie wspierająelement_list. ID z biblioteki Kling Element Library należy do przestrzeni nazw konta dostawcy, przed udostępnieniem API zarządzania elementami z izolacją najemców, klienci powinni przesyłać materiały referencyjne za pomocąimage_list.
negative_prompt, cfg_scale ani camera_control, a także nie mogą używać mode=4k. W przypadku zawierania wideo referencyjnego, generate_audio musi być ustawione na false.
Przykładowe wideo i edycja wideo (video_list)
video_list służy do przekazywania przykładowych wideo, jest to najczęściej używany scenariusz w tej funkcjonalności, elementy tablicy mają następujące pola:
video_url: link do przykładowego wideo, nie może być pusty. Wymagania: format MP4/MOV; rozdzielczość 720px–2160px; czas trwania 3–10 sekund; liczba klatek 24–60fps; rozmiar pliku ≤200MB; maksymalnie 1 wideo.refer_type: typ odniesienia, opcjonalniebase(domyślnie, podstawowe wideo do edycji, czyli “bezpośrednia edycja wideo”, można dodawać/usuwać/modyfikować elementy, zmieniać kompozycję, styl, kolor, pogodę itp.) lubfeature(odniesienie do cech, odniesienie do stylu / ruchu kamery / kontynuacji następnej sceny).keep_original_sound: czy zachować oryginalny dźwięk wideo, opcjonalnieyes(zachować) lubno(usunąć).
Uwaga: gdy istnieje przykładowe wideo,Przykład CURL do edycji istniejącego wideo (zmiana wideo na styl anime) wygląda następująco:generate_audiomusi być ustawione nafalse. Wideo zrefer_type=basenie może mieć określonej pierwszej/ostatniej klatki.
Przykłady wielu obrazów (image_list)
image_list służy do przekazywania przykładowych obrazów (elementy / sceny / styl itp.), elementy tablicy mają następujące pola:
image_url: link do przykładowego obrazu, nie może być pusty. Wymagania: format .jpg/.jpeg/.png; rozmiar pliku ≤10MB; najkrótszy bok ≥300px; proporcje 1:2.5 ~ 2.5:1.type: opcjonalnie. Jeśli nie jest przekazywane, traktowane jako czysty obraz referencyjny; przekazującfirst_frame/end_frame, będzie traktowane jako pierwsza/ostatnia klatka (równoważnestart_image_url/end_image_url).
prompt odwołać się do <<<image_1>>>, <<<image_2>>>. Ograniczenie liczby: gdy nie ma przykładowego wideo, obrazy referencyjne ≤ 7; gdy istnieje przykładowe wideo, obrazy referencyjne ≤ 4. Można również bezpośrednio użyć start_image_url / end_image_url, ale ostatnia klatka musi być używana razem z pierwszą klatką.
Uwaga: jeśli jednocześnie przekazywane sąPrzykład CURL do generowania wideo z wielu obrazów:start_image_url/end_image_urlorazimage_list, pierwsza/ostatnia klatka będzie miała pierwszeństwo przedimage_list, co może wpłynąć na powiązania numerów<<<image_N>>>. Zaleca się wybór jednej opcji: jeśli potrzebne są pierwsza/ostatnia klatka, należy bezpośrednio wimage_listużyćtype, nie mieszając zstart_image_url/end_image_url.
Asynchroniczne powiadomienia
Ponieważ czas generacji wideo przez API Kling Videos jest stosunkowo długi, wynosi około 1-2 minut, jeśli API nie odpowiada przez dłuższy czas, żądanie HTTP będzie utrzymywać połączenie, co prowadzi do dodatkowego zużycia zasobów systemowych, dlatego to API oferuje również wsparcie dla asynchronicznych powiadomień. Cały proces wygląda następująco: klient inicjuje żądanie, dodatkowo określając polecallback_url, po wysłaniu żądania API natychmiast zwraca wynik, zawierający pole task_id, które reprezentuje aktualny identyfikator zadania. Po zakończeniu zadania, wynik generacji wideo zostanie wysłany do określonego przez klienta callback_url w formie POST JSON, w którym również znajduje się pole task_id, co pozwala na powiązanie wyniku zadania z jego identyfikatorem.
Poniżej przedstawiamy przykład, aby zrozumieć, jak to działa.
Najpierw, powiadomienia Webhook to usługa, która może odbierać żądania HTTP, deweloperzy powinni zastąpić to URL swojego serwera HTTP. W tym celu, dla wygody demonstracji, używamy publicznej strony przykładowej Webhook https://webhook.site/, otwierając tę stronę można uzyskać URL Webhook, jak pokazano na obrazku:
Skopiuj ten URL, aby użyć go jako Webhook, przykładowy URL to https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3.
Następnie możemy ustawić pole callback_url na powyższy URL Webhook, a także wypełnić odpowiednie parametry, szczegóły jak na obrazku:

https://webhook.site/624b2c78-6dbd-4618-9d2b-b32eade6d8c3 zobaczyć wynik generacji wideo, jak pokazano na obrazku:
Zawartość wygląda następująco:
task_id, a pozostałe pola są podobne do wcześniej, dzięki czemu można powiązać zadanie z jego identyfikatorem.
Obsługa błędów
Podczas wywoływania API, jeśli wystąpią błędy, API zwróci odpowiedni kod błędu i informacje. Na przykład:400 token_mismatched: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.400 api_not_implemented: Złe żądanie, prawdopodobnie z powodu brakujących lub nieprawidłowych parametrów.401 invalid_token: Nieautoryzowany, nieprawidłowy lub brakujący token autoryzacyjny.429 too_many_requests: Zbyt wiele żądań, przekroczono limit.500 api_error: Błąd wewnętrzny serwera, coś poszło nie tak na serwerze.

