Kling v1.5
Kling v1.5 to model wideo z udokumentowanym procesem generowania wideo z obrazu. Zacznij od przygotowanego nieruchomego obrazu i opisz ruch, punkt widzenia oraz końcową kompozycję krótkiego ujęcia postaci, obiektu lub otoczenia.
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 v1.5 to wersja modelu wideo Kling, która zgodnie z udokumentowanym katalogiem modeli umożliwia generowanie wideo z obrazu. Dostarczony nieruchomy obraz stanowi wizualny punkt wyjścia, a pisemny brief opisuje, jak scena ma się poruszać. Użyj go do rozwinięcia gestu postaci, ruchu obiektu lub zmian w otoczeniu na podstawie obrazu, którego kompozycja już pasuje do ujęcia.
Przygotuj obraz z uwzględnieniem ważnych szczegółów głównego obiektu. Postać wymaga czytelnej twarzy, pozy i ubioru; przedmiot wymaga wyraźnego obrysu i widocznych cech materiału. Zostaw w kompozycji miejsce na zamierzony ruch. Zachowaj oryginalny obraz razem z gotową sekwencją, aby bezpośrednio ocenić zmiany wyglądu.
Zapisz działanie jako obserwowalne zdarzenie. Opisz na przykład siedzącą osobę odwracającą się w stronę okna lub wstążkę z tkaniny poruszaną delikatnym wiatrem. Określ kierunek i zamierzone zakończenie. Gdy pojawia się kilka obiektów, wskaż, który działa, a które pozostają na miejscu.
Wyjaśnij rolę kamery. Stały punkt widzenia może ułatwić ocenę drobnego gestu, a ruchomy może odsłonić nową stronę sceny. Opisz ten ruch w odniesieniu do głównego obiektu. Prośba o zbliżenie się do obiektu i prośba o zbliżenie się obiektu do kamery wyrażają różne zamiary wizualne.
Udokumentowany wpis dotyczący generowania wideo z obrazu wymienia czas trwania pięciu lub dziesięciu sekund, tryby std i pro oraz kadry poziome, pionowe i kwadratowe. Wybierz ustawienia oferowane w wybranym procesie przed oceną wyniku. Porównując warianty ujęcia, przechowuj rzeczywisty tryb, czas trwania i kształt kadru razem z obrazem źródłowym i promptem.
Przy prezentacji przedmiotu określ cechę wizualną, którą ruch ma ujawnić. Może to być odblaskowa powierzchnia, fałda materiału lub kształt uchwytu. Skoncentruj działanie tak, aby ważna cecha pozostawała widoczna. Oceniaj przedmiot przez cały ruch oraz w końcowym widoku wykorzystanym w montażu.
W scenie z postacią opisz jeden znaczący gest i relację postaci z pobliskimi przedmiotami. Obserwuj twarz, dłonie, ubranie i proporcje ciała w czasie. Sprawdź, czy gest zostaje wykonany do zamierzonego końca i czy scena zachowuje spójne rozmieszczenie elementów pierwszego planu i tła.
Zachowaj cały wygenerowany klip i materiały źródłowe. Oceń początek, główne działanie i zakończenie jako jedną sekwencję, a następnie wprowadzaj poprawki dotyczące konkretnej rozbieżności. Notatka taka jak „postać odwraca się od okna” wskazuje konkretną poprawkę do następnego briefu, zachowując resztę sceny.
Ailoot Ultra · Video POST /v1/videos kling-v1-5
kling-v1-5Start
Kling v1.5 to model wideo z udokumentowanym procesem generowania wideo z obrazu. Zacznij od przygotowanego nieruchomego obrazu i opisz ruch, punkt widzenia oraz końcową kompozycję krótkiego ujęcia postaci, obiektu lub otoczenia.
- Akceptowane dane wejściowe
- Tekst · Obrazy
- Wyniki
- Wideo
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Video POST /v1/videos
- Wejście
text,image- Wyjście
video
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity kling-v1-5 Warunki: Użyj dokładnie tego selektora trasowania Ailoot. | Domyślnie— |
Polemode | Typstring | WymaganieOpcjonalne | Wartości i limity std, pro Warunki: Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną. | Domyślniestd |
Poleaspect_ratio | Typstring | WymaganieOpcjonalne | Wartości i limity 16:9, 9:16, 1:1 Warunki: Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną. | Domyślnie— |
Poleduration | Typinteger | WymaganieOpcjonalne | Wartości i limity 5, 10 Warunki: Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną. | Domyślnie— |
Poleend_image | Typstring | WymaganieOpcjonalne | Wartości i limity Warunki: Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną. | Domyślnie— |
Poleimage | Typstring or array<string> | WymaganieWymagane | Wartości i limity Warunki: Podaj rzeczywisty dostępny URL obrazu. Lista jest akceptowana tylko wtedy, gdy schemat parametru przewiduje tablicę. | Domyślnie— |
Polenegative_prompt | Typstring | WymaganieOpcjonalne | Wartości i limity Warunki: Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną. | Domyślnie— |
Poleprompt | Typstring | WymaganieWymagane | Wartości i limity Warunki: Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną. | Domyślnie— |
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt, image |
Parametroptional | Kontraktmode, aspect_ratio, duration, end_image, negative_prompt |
Parametrmaterial_types | Kontrakttext, image |
Parametrconditions | KontraktUżyj dokładnie tego selektora trasowania Ailoot., Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną., Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną., Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną., Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną., Podaj rzeczywisty dostępny URL obrazu. Lista jest akceptowana tylko wtedy, gdy schemat parametru przewiduje tablicę., Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną., Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną. |
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
: "${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "kling-v1-5", "prompt": "A cat is walking on grass.", "image": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['image']=os.environ['AILOOT_IMAGE_URL']
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 |
Poletask_id | Typstring |
Polestatus | Typstring |
Polevideo_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-v1-5
Aliasy ścieżek metod
/v1/videos/generations
Powiązane ID modeli
FAQ · Kling v1.5
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/videos·kling-v1-5:text,image→video- Jakich pól używa żądanie?
POST /v1/videos·kling-v1-5:model,mode,aspect_ratio,duration,end_image,image,negative_prompt,prompt