Kling: Video O1
Kling VIDEO O1 to prowadzony referencjami model wideo Kuaishou do generowania i edycji scen z tekstem, obrazami, elementami podmiotów i klipem źródłowym. Korzystaj z profilu generacji od trzech do dziesięciu sekund do ciągłości wizualnej, prowadzonych przejść klatek i ukierunkowanych zmian istniejącego materiału.
O modelu
Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.
Kling VIDEO O1 to zunifikowany, prowadzony referencjami model wideo Kuaishou. Łączy opis tekstowy z obrazami, przygotowanymi elementami podmiotów lub źródłowym filmem, prowadząc nowe sceny i ukierunkowane zmiany istniejącego materiału. Jego podstawowym interfejsem jest brief wizualny: wskaż materiał referencyjny, opisz jego rolę i określ wygląd, akcję lub przekształcenie oczekiwane w wynikowym wideo.
Nowe ujęcie może zacząć się od tekstu, obrazu otwierającego lub zestawu referencji wizualnych. Użyj obrazu do ustanowienia postaci lub obiektu i opisz słowami scenerię, akcję oraz punkt widzenia. Gdy kilka referencji wnosi różne cechy, jawnie przypisz ich role. Oryginalny brief produktu może przejąć obiekt z jednego obrazu, a otoczenie z drugiego, po czym opisać ruch obiektu w tej scenerii.
Prompt O1 może nazywać obrazy, elementy i wideo konkretnymi znacznikami referencyjnymi, takimi jak <<<image_1>>> lub <<<video_1>>>. Zachowuj powiązanie znaczników z rzeczywiście dostarczonym materiałem i wyjaśniaj, co z niego przejąć. Limit promptu producenta wynosi 2500 znaków. Zwięzła instrukcja wskazująca podmiot i zmianę jest użyteczniejsza niż zbiór niepowiązanych określeń stylu.
Dla referencji obrazowych bez wejścia wideo udokumentowany łączny budżet wynosi do siedmiu obrazów referencyjnych i elementów wieloobrazowych. Przy filmie referencyjnym budżet obrazów i elementów wynosi cztery. Limity te dotyczą elementów opartych na obrazach; inne typy elementów mają osobne reguły zgodności. Wybieraj materiał dostarczający kluczowego wyglądu lub informacji o scenie, zamiast wypełniać budżet redundantnymi widokami.
Wejścia obrazowe używają JPG, JPEG lub PNG, dostarczanych jako dostępny URL lub dane obrazu, z plikami do 10 MB, wymiarami co najmniej 300 pikseli i proporcjami od 1:2.5 do 2.5:1. Przygotuj wyraźne podmioty i zachowaj ważne szczegóły w przycięciu. Jeśli zadanie wymaga rozpoznawalności postaci lub produktu, określ cechy do zachowania i kontroluj je w całym ukończonym klipie.
Klatki początkowa i końcowa warunkują przejście między granicami wizualnymi. Udokumentowany proces klatek granicznych O1 wymaga pierwszej klatki, gdy dostarczono ostatnią, i nie obsługuje sterowania początkiem i końcem przy więcej niż dwóch obrazach w tablicy. Gdy używa się obu klatek granicznych, dodatkowe elementy podmiotów nie należą do tej konfiguracji O1. Oddziel zadanie sterowane klatkami od edycji dostarczonego wideo bazowego.
Film źródłowy może mieć dwie odrębne role. Jako klip bazowy jest materiałem do edycji: kieruj konkretnym dodaniem, usunięciem, opracowaniem stylu lub zmianą kompozycji, wskazując elementy do zachowania. Edycja podąża za długością wejściowego klipu i nie łączy zadania wideo bazowego ze sterowaniem klatkami granicznymi lub generacją wielu ujęć. Jako referencja cech film dostarcza treść, styl lub informacje kamery do nowego ujęcia.
Promptowanie filmem referencyjnym może też żądać ujęcia poprzedzającego lub następującego. Wskaż klip źródłowy i opisz nowe widoczne zdarzenie, takie jak kontynuacja działania podmiotu lub odsłonięcie otaczającego środowiska. Wykorzystuje to referencję do przekazania informacji wizualnej; przed złożeniem nowego segmentu z oryginalnym materiałem oceń połączenie i ciągłość podmiotu.
Profil wejścia wideo producenta przyjmuje jedno źródło MP4 lub MOV, do 200 MB, z minimalną długością trzech sekund. Szczegółowy profil wejścia określa wymiary od 720 do 2160 pikseli i liczbę klatek od 24 do 60 fps, z proporcjami wejściowymi od 1:2.5 do 2.5:1. Ten udokumentowany proces wideo źródłowego zwraca film 24 fps. Dokładna dozwolona długość klipu zależy też od wybranego profilu modelu. Zakres nowej generacji O1 wynosi od trzech do dziesięciu sekund i różni się od późniejszego zakresu 3.0 Omni.
Tryby O1 producenta zapewniają wyjście 720p Standard lub 1080p Pro. Kadrowanie nowych ujęć obsługuje udokumentowane wybory poziome, pionowe i kwadratowe tam, gdzie wybrany proces używa tego parametru; edycja bazowego wideo podąża za kadrowaniem źródła. Audio źródłowego wideo można zachować lub odrzucić. Proces referencji i edycji O1 powinien pozostawać odrębny od późniejszego profilu natywnego audio i własnego storyboardu 3.0 Omni.
Generacja tworzy zadanie, którego ukończony wynik zawiera materiał wideo i rzeczywistą długość. Dokumentacja wyników producenta mówi, że generowane filmy są usuwane po 30 dniach, więc niezwłocznie zapisz ukończony klip. Zachowaj z nim materiały źródłowe i brief, a następnie oceń żądaną zmianę, użycie referencji i ciągłość. W edycji porównuj zmieniany obszar i części do zachowania. W nowym ujęciu prowadzonym referencjami sprawdź, czy każdy materiał dostarczył zamierzoną informację wizualną. Zachowaj ukończony klip do późniejszego montażu lub sekwencji produkcyjnej.
Ailoot Ultra · Wideo POST /v1/videos kwaivgi/kling-video-o1
kwaivgi/kling-video-o1Start
Kling VIDEO O1 to prowadzony referencjami model wideo Kuaishou do generowania i edycji scen z tekstem, obrazami, elementami podmiotów i klipem źródłowym. Korzystaj z profilu generacji od trzech do dziesięciu sekund do ciągłości wizualnej, prowadzonych przejść klatek i ukierunkowanych zmian istniejącego materiału.
- Akceptowane dane wejściowe
- Tekst · Obrazy
- Wyniki
- Wideo
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Wideo POST /v1/videos
- Wejście
text,image- Wyjście
video- Format wyjściowy
- oryginalne bajty MP4; bez normalizacji i transkodowania
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity kwaivgi/kling-video-o1 | Domyślnie— |
Poleprompt | Typstring | WymaganieWymagane | Wartości i limity | Domyślnie— |
Poleduration | Typinteger | WymaganieWymagane | Wartości i limity 5, 10 Minimum: 1 Maksimum: 600 | Domyślnie— |
Poleresolution | Typstring | WymaganieOpcjonalne | Wartości i limity 720p | Domyślnie— |
Poleaspect_ratio | Typstring | WymaganieOpcjonalne | Wartości i limity 16:9, 9:16, 1:1 | Domyślnie— |
Polegenerate_audio | Typboolean | WymaganieOpcjonalne | Wartości i limity false, true | Domyślnie— |
Poleframe_images | Typarray | WymaganieOpcjonalne | Wartości i limity Minimalna liczba elementów: 1 Maksymalna liczba elementów: 2 Treść wejściowa: Tablica obiektów klatek. Każdy obiekt zawiera type=image_url, image_url z polem url oraz frame_type. Użyj adresu URL obrazu przez HTTPS i ustaw frame_type na first_frame lub last_frame. Każda rola klatki może wystąpić najwyżej raz. Dokładne klucze: type, image_url, frame_type Warunki: Te klucze opisują każdy obiekt klatki; image_url zawiera wyłącznie url. Pomiń frame_images w żądaniu zawierającym wyłącznie tekst. | Domyślnie— |
Poleinput_references | Typarray | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
Polesize | Typstring | WymaganieOpcjonalne | Wartości i limity 1280x720, 720x1280, 720x720 Wzorzec: ^[1-9][0-9]*x[1-9][0-9]*$ | Domyślnie— |
Polecallback_url | Typstring | WymaganieOpcjonalne | Wartości i limity Wzorzec: ^https:// | Domyślnie— |
Polesession_id | Typstring | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
Poletrace | Typobject | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
Poleuser | Typstring | WymaganieOpcjonalne | Wartości i limity | Domyślnie— |
Kombinacje materiałów wejściowych
Tekst na wideo · Prompt tekstowy. · Wymagane: model, prompt, duration
Podaj prompt jako tekst, a czas trwania jako pełne sekundy. Wybierz obsługiwaną rozdzielczość; dodaj proporcje obrazu lub użyj rozmiaru z listy.
model: Typ: string · kwaivgi/kling-video-o1
prompt: Typ: string · Maksymalna liczba bajtów UTF-8: 10 000 · Wymagana treść inna niż białe znaki: Tak
Obraz na wideo · Prompt tekstowy i obraz pierwszej klatki. · Wymagane: model, prompt, duration, frame_images
frame_images to tablica. Każdy obiekt klatki zawiera type, image_url i frame_type; image_url zawiera url. Ustaw type na image_url. Użyj first_frame z opcjonalnym last_frame. Każda rola klatki może wystąpić najwyżej raz. Dla każdej klatki podaj publiczny URL obrazu przez HTTPS. Wybierz obsługiwaną rozdzielczość; dodaj proporcje obrazu lub użyj rozmiaru z listy.
Dokładne klucze: type, image_url, frame_type
model: Typ: string · kwaivgi/kling-video-o1
prompt: Typ: string · Maksymalna liczba bajtów UTF-8: 10 000 · Wymagana treść inna niż białe znaki: Tak
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt, duration |
Parametrmaterial_types | Kontrakttext, image |
Parametradditional_properties | Kontraktfalse |
Parametroptional_controls | Kontraktresolution, aspect_ratio, generate_audio, frame_images, input_references, size, callback_url, session_id, trace, user |
Cykl życia: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
Cennik
Jak obliczana jest ostateczna opłata
Wyświetlane stawki służą do oszacowania kosztu przed generowaniem. Ostateczna opłata jest obliczana na podstawie kosztu zarejestrowanego dla pierwotnego generowania. Zmierzony czas trwania wyniku i prognozowane ilości nie stanowią ostatecznej ilości podlegającej rozliczeniu.
Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.
- Tryb szybki
- Nie określono Gdy wybrany jest tryb szybki
- Tryb flex
- Nie określono Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Szacunkowe stawki do porównania
Ceny według konfiguracji
Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.
| Konfiguracja | Tabela stawek | Przewidywana ilość | Jednostka rozliczeniowa | Warunki rozliczania | Opłata |
|---|---|---|---|---|---|
| KonfiguracjaBazowe stawki za tokeny | Tabela stawekStawka podstawowa | Przewidywana ilość— | Jednostka rozliczeniowa— | Warunki rozliczania— | Opłata Wejście · Tokeny wejściowe · Szacunek tylko do porównania — / 1K tokenów Wyjście · Tokeny wyjściowe · Szacunek tylko do porównania — / 1K tokenów Wejście · Odczyt cache · Szacunek tylko do porównania — / 1K tokenów Wejście · Zapis do cache · Szacunek tylko do porównania — / 1K tokenów Wejście · Zapis do cache, 1 godz. · Szacunek tylko do porównania — / 1K tokenów |
| KonfiguracjaCena wideo | Tabela stawek— | Przewidywana ilość— | Jednostka rozliczeniowaza sekundę wideo | Warunki rozliczaniaW tym kluczu cenowym nie zadeklarowano dodatkowego warunku. | Opłata Wyjście · Cena wideo · Szacunek tylko do porównania $0.224 za sekundę wideo |
| KonfiguracjaSzacowany koszt generowania | Tabela stawek— | Przewidywana ilośćszacunek dla jednego generowania | Jednostka rozliczeniowa— | Warunki rozliczania— | Opłata Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania $1.12 szacunek przed generowaniem Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie. |
Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →
Szczegóły taryfy referencyjnej
Referencyjne tabele modelu nie zmieniają wyboru metody, wyceny ani opłat. Naliczane opłaty korzystają ze stawek wybranej metody Ailoot.
Referencje cenowe konfiguracji wideo
Ceny według konfiguracji
| Konfiguracja | Warunki rozliczania | Opłata |
|---|---|---|
| KonfiguracjaCena wideo | Warunki rozliczaniaW tym kluczu cenowym nie zadeklarowano dodatkowego warunku. | Opłata Wyjście · Cena wideo $0.224 za sekundę wideo Opublikowana cena referencyjna dla pokazanej konfiguracji. Ostateczne opłaty wynikają z faktycznie rozliczonej konfiguracji. |
Przykładowe żądania
Ailoot Ultra · Wideo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":5,"model":"kwaivgi/kling-video-o1","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Odbieranie i zapisywanie wyników
Ailoot Ultra · Wideo
podpisane adresy URL treści należących do użytkownika
GET /v1/videos/{public_id}GET /v1/videos/{public_id}/content
Sprawdź status zadania
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Inne odczyty treści
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path('status.json').read_text())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Zachowaj wszystkie ukończone wyniki
Zapisz każde ukończone wideo lub zwrócony plik; pobierz każdy faktycznie zwrócony URL zasobu.
Zachowaj wszystkie faktyczne wyniki należące do użytkownika oraz zwrócone metadane pomiarowe.
Jeśli trzeba sprawdzić pierwotną odpowiedź
503 result_pending_check + pierwotne id + X-Should-Retry:false; nigdy nie ponawiaj pierwotnego żądania
Pola odpowiedzi
| Pole | Typ | Znaczenie |
|---|---|---|
Poleindex | Typinteger | ZnaczeniePozycja tego wideo na liście wyników, liczona od zera. |
Polecontent_url | Typstring | ZnaczeniePodpisany URL HTTPS do pobrania tego ukończonego wideo. |
Polesha256 | Typstring | null | ZnaczenieSkrót SHA-256 oryginalnych bajtów wideo; null, jeśli jest niedostępny. |
Polesize_bytes | Typinteger | null | ZnaczenieRozmiar oryginalnego pliku wideo w bajtach; null, jeśli jest niedostępny. |
Poleduration_ms | Typinteger | null | ZnaczenieZmierzony czas trwania wideo w milisekundach; null, jeśli jest niedostępny. |
Polewidth | Typinteger | null | ZnaczenieSzerokość wideo w pikselach; null, jeśli jest niedostępna. |
Poleheight | Typinteger | null | ZnaczenieWysokość wideo w pikselach; null, jeśli jest niedostępna. |
Polevideo_codec | Typstring | null | ZnaczenieIdentyfikator kodeka wideo; null, jeśli go nie zapisano. |
Polehas_audio | Typboolean | null | ZnaczenieCzy wideo zawiera ścieżkę dźwiękową; null, jeśli tego nie zmierzono. |
Poleaudio_codec | Typstring | null | ZnaczenieIdentyfikator kodeka dźwięku; null, gdy nie zapisano identyfikatora. |
Błędy i dalsze kroki
| Odpowiedź | Warunek | Następny krok |
|---|---|---|
Odpowiedź404 · not_found_error | WarunekNie można uzyskać dostępu do wideo albo nie znaleziono tego identyfikatora wideo. | Następny krokSprawdź dostęp do wideo. W przypadku istniejącego wideo użyj jego pierwotnego publicznego identyfikatora i tego samego klucza API. |
Odpowiedź401 · authentication_error | WarunekKlucz API nie odpowiada uwierzytelnionemu kontu. | Następny krokSprawdź swój klucz API i dostęp do konta przed wysłaniem. |
Odpowiedź400 · invalid_request_error | WarunekNie można odczytać żądania lub indeks pobierania jest nieprawidłowy. | Następny krokPopraw treść żądania. Przy pobieraniu wybierz indeks wyniku zwrócony przez pierwotne zadanie. |
Odpowiedź422 · price_unavailable | WarunekNie można wycenić wybranej konfiguracji wideo. | Następny krokWybierz obsługiwaną konfigurację wideo i uzupełnij jej wymagane opcje przed wysłaniem poprawionego żądania. |
Odpowiedź422 · invalid_request_error | WarunekWejściowe wideo lub pierwotne zadanie kontynuacji są nieprawidłowe. | Następny krokUżywaj prawidłowych danych wejściowych przez HTTPS. Do kontynuacji użyj publicznego identyfikatora ukończonego pierwotnego wideo z tym samym kluczem API. |
Odpowiedź402 · billing_error | WarunekDostępne saldo lub limity nie pozwalają na rezerwację. | Następny krokSprawdź dostępne saldo i limity przed wysłaniem nowego żądania. |
Odpowiedź503 · server_error | WarunekWeryfikacja wideo, magazyn lub dostęp do usługi są chwilowo niedostępne. | Następny krokPoczekaj na dostępność usługi. Jeśli masz już identyfikator wideo, sprawdź to pierwotne zadanie zamiast tworzyć kolejne generowanie. |
Odpowiedź503 · result_pending_check | WarunekWynik pierwotnego wideo i opłata wymagają sprawdzenia. | Następny krokZachowaj zwrócony identyfikator wideo i sprawdzaj to zadanie. Nie wysyłaj zastępczego żądania generowania podczas jego sprawdzania. |
Odpowiedź503 · owned_result_unavailable | WarunekPobieranie istniejącego wideo jest chwilowo niedostępne. | Następny krokSprawdź później to samo zadanie wideo i pobierz jego istniejący wynik. Nowe generowanie tworzy osobną operację. |
Odpowiedź409 · video_not_ready | WarunekTreść wideo nie została opublikowana. | Następny krokSprawdź status pierwotnego zadania. Pobierz wynik po zgłoszeniu completed; jeśli zgłosi failed, postępuj zgodnie z komunikatem dotyczącym sprawdzenia opłaty. |
Aliasy
Aliasy modelu
Ailoot Ultra kwaivgi/kling-video-o1
Aliasy ścieżek metod
Użyj ścieżek metod podanych powyżej.
Powiązane ID modeli
FAQ · Kling: Video O1
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/videos·kwaivgi/kling-video-o1:text,image→video- Jakich pól używa żądanie?
POST /v1/videos·kwaivgi/kling-video-o1:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,callback_url,session_id,trace,user- Jakie limity obowiązują?
POST /v1/videos·kwaivgi/kling-video-o1:duration.minimum:1;duration.maximum:600;frame_images.max_items:2;frame_images.min_items:1