Kling v2.1 Master
Kling v2.1 Master generuje wideo na podstawie tekstu lub briefu opartego na obrazie. Użyj go do przedstawienia określonego zdarzenia wizualnego, planując główny obiekt, działanie, prowadzenie kamery i zakończenie jako jedno spójne krótkie ujęcie.
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 v2.1 Master to wersja modelu wideo Kling, która zgodnie z udokumentowanym katalogiem umożliwia generowanie wideo zarówno z tekstu, jak i z obrazu. Wybierz pisemny brief sceny, gdy rozwijasz pomysł wizualny z tekstu, lub brief oparty na obrazie, gdy główny obiekt i kompozycja są już określone. W obu przypadkach zdefiniuj zdarzenie, które ma pokazać gotowe ujęcie.
Przy tworzeniu na podstawie tekstu opisz w jasnej kolejności główny obiekt, otoczenie i działanie. Tancerz przemierzający studio, pojazd jadący pod drzewami lub szklany przedmiot chwytający zmieniające się światło nadają sekwencji konkretny cel. Uwzględnij szczegóły określające wygląd sceny i zachowaj ich spójność w całym briefie.
Przy tworzeniu na podstawie obrazu przygotuj materiał referencyjny pokazujący cechy, które ujęcie ma zachować. Twarze, krawędzie przedmiotów i charakterystyczne materiały powinny być widoczne. Opisz, co zmienia się względem widoku początkowego: gest postaci, ruch otoczenia lub położenie kamery. Zachowaj obraz źródłowy do oceny wyniku.
Zaplanuj działanie z myślą o zakończeniu. Osoba odkładająca przedmiot powinna zakończyć ruch tak, by przedmiot znalazł się w rozpoznawalnym miejscu; odsłanianie powinno kończyć się widoczną istotną cechą. Ułatwia to wybór punktu cięcia i ocenę, czy ruch spełnił swój cel.
Udokumentowany wpis modelu obejmuje czas trwania pięciu lub dziesięciu sekund, tryby std i pro oraz kadry poziome, pionowe i kwadratowe. Wybierz opcje dostępne w danym procesie i zachowaj ich rzeczywiste wartości. Oceniaj powstały klip względem zamierzonego działania i kadrowania, a nie względem nazwy wersji modelu.
Opisz ruch głównego obiektu i kamery oddzielnie. W ujęciu śledzącym określ, za kim lub za czym podąża kamera i które części otoczenia mają przesuwać się przez kadr. W ujęciu nieruchomym wskaż ruch zachodzący wewnątrz kadru. Powiąż prowadzenie kamery z tym, co widz ma zauważyć.
Sprawdź spójność całej sekwencji. Upewnij się, że główny obiekt pozostaje rozpoznawalny, interakcje są przestrzennie spójne, a rozłożenie akcji w czasie pozostawia miejsce na zamierzone cięcie. Obserwuj zmiany dłoni, twarzy, szczegółów powierzchni i nakładających się obiektów. Oceniaj ruch wraz z najbardziej udanym pojedynczym kadrem.
Przechowuj każde gotowe wideo wraz z promptem, materiałem referencyjnym i ustawieniami. Porównując scenę między wersjami, używaj tego samego briefu i zapisuj rzeczywiste różnice wizualne. Poprawiając wariant, opisz zaobserwowany problem i zmień związaną z nim instrukcję, zachowując przydatne elementy sceny.
Ailoot Ultra · Video POST /v1/videos kling-v2-1-master
kling-v2-1-masterStart
Kling v2.1 Master generuje wideo na podstawie tekstu lub briefu opartego na obrazie. Użyj go do przedstawienia określonego zdarzenia wizualnego, planując główny obiekt, działanie, prowadzenie kamery i zakończenie jako jedno spójne krótkie ujęcie.
- Akceptowane dane wejściowe
- Tekst
- Wyniki
- Wideo
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Video POST /v1/videos
- Wejście
text- Wyjście
video
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity kling-v2-1-master Warunki: Użyj dokładnie tego selektora trasowania Ailoot. | Domyślnie— |
Poleprompt | Typstring | WymaganieWymagane | Wartości i limity Maksymalna długość: 500 Warunki: | Domyślnie— |
Polemode | Typstring | WymaganieWymagane | Wartości i limity std, pro Warunki: | Domyślnie— |
Polemodel_name | Typstring | WymaganieOpcjonalne | Wartości i limity Warunki: Opcjonalne natywne nadpisanie wyboru modelu. Pomiń je, aby automatycznie użyć wybranego modelu; jawnie podana wartość zostanie zachowana. | Domyślnie— |
Polecfg_scale | Typnumber | WymaganieOpcjonalne | Wartości i limity Minimum: 0 Maksimum: 1 Warunki: | Domyślnie— |
Poleaspect_ratio | Typstring | WymaganieOpcjonalne | Wartości i limity Warunki: | Domyślnie— |
Polenegative_prompt | Typstring | WymaganieOpcjonalne | Wartości i limity Maksymalna długość: 200 Warunki: | Domyślnie— |
Poleduration | Typinteger | WymaganieOpcjonalne | Wartości i limity 5, 10 Warunki: | Domyślnie— |
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt, mode |
Parametroptional | Kontraktmodel_name, cfg_scale, aspect_ratio, negative_prompt, duration |
Parametrmaterial_types | Kontrakttext |
Parametrconditions | KontraktUżyj dokładnie tego selektora trasowania Ailoot., Opcjonalne natywne nadpisanie wyboru modelu. Pomiń je, aby automatycznie użyć wybranego modelu; jawnie podana wartość zostanie zachowana. |
Aliasy metody: /v1/videos/generations
Cykl życia: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
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ść | Opłata |
|---|---|---|---|
| KonfiguracjaBazowe stawki za tokeny | Tabela stawekStawka podstawowa | Przewidywana ilość— | 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 |
| KonfiguracjaSzacowany koszt generowania | Tabela stawek— | Przewidywana ilośćszacunek dla jednego generowania | Opłata Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania $6 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 →
Przykładowe żądania
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "kling-v2-1-master", "prompt": "A happy holiday scene at the beach.", "mode": "pro"}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
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
# Submit once. Retain the complete result, original identifiers and every response header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
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())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
Odbieranie i zapisywanie wyników
Ailoot Ultra · Video
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Zachowaj wszystkie ukończone wyniki
Zapisz każde ukończone wideo lub zwrócony plik; pobierz każdy faktycznie zwrócony URL zasobu.
Zachowaj kompletną odpowiedź i nagłówki, pierwotne identyfikatory, wszystkie rzeczywiste wyniki oraz wszystkie pola użycia i rozliczeń. Zapisz każdy unikalny zasób należący do użytkownika i zachowaj wszystkie role, które na niego wskazują.
Jeśli trzeba sprawdzić pierwotną odpowiedź
Zachowaj zwrócone publiczne id zadania lub operacji oraz wszystkie nagłówki. Odczytuj wyłącznie pierwotne zadanie; unknown ani result_pending_check nie uprawniają do ponownego utworzenia.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Poleid | Typstring |
Polepolling_url | Typstring |
Poleprovider_task_id | Typstring |
Poledata.task_id | Typstring |
Poledata.task_status | Typstring |
Poledata.task_result.videos[].url | Typstring |
Błędy i dalsze kroki
| Odpowiedź | Warunek | Następny krok |
|---|---|---|
Odpowiedź400 · invalid_request_error | WarunekWymagane pole, selektor modelu, typ lub postać danych wejściowych są nieprawidłowe. | Następny krokPrzed przygotowaniem osobnego żądania sprawdź zwrócone szczegóły walidacji. |
Odpowiedź | WarunekOryginalne żądanie lub wynik są nieznane albo wymagają sprawdzenia. | Następny krokZachowaj oryginalne identyfikatory i nagłówki; odczytuj tylko obsługiwane rekordy statusu lub biblioteki. Nie wysyłaj ponownie żądania utworzenia. |
Aliasy
Aliasy modelu
Ailoot Ultra kling-v2-1-master
Aliasy ścieżek metod
/v1/videos/generations
Powiązane ID modeli
FAQ · Kling v2.1 Master
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/videos·kling-v2-1-master:text→video- Jakich pól używa żądanie?
POST /v1/videos·kling-v2-1-master:model,prompt,mode,model_name,cfg_scale,aspect_ratio,negative_prompt,duration- Jakie limity obowiązują?
POST /v1/videos·kling-v2-1-master:prompt.maximum_length:500;cfg_scale.minimum:0;cfg_scale.maximum:1;negative_prompt.maximum_length:200