modele

happyhorse-1.0-i2v

Markdown · JSON

happyhorse-1.0-i2v

HappyHorse 1.0 I2V łączy obraz z promptem opisującym ruch, aby stworzyć film. Wybierz czas trwania i rozdzielczość, a następnie śledź pierwotne żądanie ujęcia przez Ailoot.

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.

Użyj happyhorse-1.0-i2v z polami model, prompt i image w /v1/videos. Dostarczony obraz stanowi wyjściowy materiał wizualny; prompt opisuje, jak mają poruszać się główny obiekt lub postać oraz kamera. Wybierz czas trwania od 3 do 15 sekund i rozdzielczość 720P lub 1080P.

Przygotuj obraz z wyraźnie widocznym głównym obiektem lub postacią i wystarczającą ilością miejsca na planowaną akcję. Opis ruchu może polecać postaci odwrócenie się w stronę kamery przy nieruchomym tle albo stopniowy ruch kamery wokół produktu. Określ końcową pozę i elementy do zachowania zamiast upychać niezwiązane zmiany sceny w jednym ujęciu.

Wyślij ujęcie raz przez /v1/videos, zachowaj zwrócony identyfikator żądania i odpytuj tę pierwotną operację przez /v1/videos/{request_id}. Zapisz każdy gotowy materiał wideo i pełną odpowiedź przed oceną akcji, kadrowania i stanu końcowego względem opisu.

Ailoot Ultra · Video POST /v1/videos happyhorse-1.0-i2v

happyhorse-1.0-i2v

Inne /happyhorse-1.0-i2v

Start

HappyHorse 1.0 I2V łączy obraz z promptem opisującym ruch, aby stworzyć film. Wybierz czas trwania i rozdzielczość, a następnie śledź pierwotne żądanie ujęcia przez Ailoot.

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
PoleTypWymaganieWartości i limityDomyślnie
PolemodelTypstringWymaganieWymaganeWartości i limity
happyhorse-1.0-i2v
Warunki: Użyj dokładnie tego selektora trasowania Ailoot.
Domyślnie—
PolepromptTypstringWymaganieWymaganeWartości i limity
Warunki: Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną.
Domyślnie—
PoleimageTypstringWymaganieWymaganeWartości i limity
Warunki: Podaj rzeczywisty dostępny URL obrazu. Lista jest akceptowana tylko wtedy, gdy schemat parametru przewiduje tablicę.
Domyślnie—
PoleresolutionTypstringWymaganieOpcjonalneWartości i limity
720P, 1080P
Warunki: Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną.
Domyślnie720P
PoledurationTypintegerWymaganieOpcjonalneWartości i limity
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
Warunki: Użyj udokumentowanego pola dla wybranego modelu i podanych opcji; pomiń nieokreśloną wartość opcjonalną.
Domyślnie5
Parametry i cykl życia metody
ParametrKontrakt
Parametrcontent_typeKontraktapplication/json
ParametrrequiredKontraktmodel, prompt, image
ParametroptionalKontraktresolution, duration
Parametrmaterial_typesKontrakttext, image
ParametrconditionsKontraktUżyj dokładnie tego selektora trasowania Ailoot., 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.

KonfiguracjaTabela stawekPrzewidywana ilośćRozdzielczość wyjściowaJednostka rozliczeniowaWarunki rozliczaniaOpłata
KonfiguracjaBazowe stawki za tokenyTabela stawekStawka podstawowaPrzewidywana ilość—Rozdzielczość wyjściowa—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
KonfiguracjaWyjściowy filmTabela stawek—Przewidywana ilość—Rozdzielczość wyjściowa1080PJednostka rozliczeniowaza sekundę wideoWarunki rozliczaniaOrientacyjny szacunek dla wyjściowego filmu w rozdzielczości 1080P. Ostateczna opłata wynika z zapisanej oryginalnej faktury.Opłata
Wyjście · Wyjściowy film · Szacunek tylko do porównania $0.552 za sekundę wideo

Wyłącznie orientacyjny szacunek; ostateczna opłata wynika z zapisanej oryginalnej faktury.

KonfiguracjaWyjściowy filmTabela stawek—Przewidywana ilość—Rozdzielczość wyjściowa720PJednostka rozliczeniowaza sekundę wideoWarunki rozliczaniaOrientacyjny szacunek dla wyjściowego filmu w rozdzielczości 720P. Ostateczna opłata wynika z zapisanej oryginalnej faktury.Opłata
Wyjście · Wyjściowy film · Szacunek tylko do porównania $0.312 za sekundę wideo

Wyłącznie orientacyjny szacunek; ostateczna opłata wynika z zapisanej oryginalnej faktury.

KonfiguracjaSzacowany koszt generowaniaTabela stawek—Przewidywana ilośćszacunek dla jednego generowaniaRozdzielczość wyjściowa—Jednostka rozliczeniowa—Warunki rozliczania—Opłata
Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania $0.312 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

curl · utwórz raz i zachowaj kompletny wynikOdczytaj pierwotne zadanieZapisz każdy ukończony zasób należący do Ciebie
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": "happyhorse-1.0-i2v", "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}/content
  • GET /v1/media/assets
  • GET /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
PoleTyp
PoleidTypstring
Polepolling_urlTypstring
Poleprovider_task_idTypstring
Poletask_idTypstring
PolestatusTypstring
Polevideo_urlTypstring
Błędy i dalsze kroki
OdpowiedźWarunekNastępny krok
Odpowiedź400 · invalid_request_errorWarunekWymagane 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 happyhorse-1.0-i2v

Aliasy ścieżek metod

/v1/videos/generations

Powiązane ID modeli

happyhorse-1.0-i2v

FAQ · happyhorse-1.0-i2v
Jakie dane wejściowe i wyniki są dostępne?

POST /v1/videos · happyhorse-1.0-i2v: text, image → video

Jakich pól używa żądanie?

POST /v1/videos · happyhorse-1.0-i2v: model, prompt, image, resolution, duration

Więcej szczegółów

Połącz Ailoot z Claude Code, OpenCode, Hermes albo własną aplikacją.

Firma i jej portfel projektów

Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.

Kupuj tokeny z rabatem.

Rabat subskrypcji do regularnej pracy. Kody promocyjne — do 50% na tokeny.

Subskrypcja
Wybierz plan z rabatem do regularnych żądań.
Kod promocyjny do 50%
Wpisz kod przy zakupie. Cena zostanie przeliczona według aktualnej promocji.
Koszty w historii
Model, tokeny i kwota są zapisywane dla każdego żądania.

Wybierz subskrypcję · Sprawdź ceny modeli

Połącz API z produktem, który sprzedajesz.

SaaS, aplikacje i boty na warunkach oferty i umowy licencyjnej Ailoot. Do odsprzedaży poproś o licencję resellerską.

Aplikacja komercyjna
Wbuduj generowanie tekstu, obrazów, wideo i dźwięku w płatne funkcje usługi.
Licencja resellerska
Prześlij opis projektu i schemat dostępu. Poproś o pisemne warunki używania i odsprzedaży.
Dokumenty na stronie
Oferta, umowa licencyjna i polityka przetwarzania danych są dostępne przed połączeniem.

Poproś o licencję resellerską · Oferta i umowa licencyjna