Genmo: Mochi 1
Mochi 1 to model tekst–wideo firmy Genmo, skoncentrowany na realistycznych obrazach, widocznym ruchu i zgodności z promptem sceny. Przygotuj konkretny opis ujęcia i sprawdź gotową sekwencję pod kątem akcji, kadrowania i spójności w czasie.
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.
Mochi 1 to model tekst–wideo firmy Genmo, zamieniający pisemny opis sceny w ruchomy obraz. Producent podkreśla ruch i zgodność z promptem, z naciskiem wizualnym na treści fotorealistyczne. Użyj konkretnego opisu ujęcia, aby przedstawić główny obiekt, otoczenie i akcję, które mają być widoczne w ukończonej sekwencji.
Opisz akcję jako zdarzenie, za którym widz może podążać. Dłoń podnosząca cytrynę z miski, rower przejeżdżający obok nasłonecznionej ściany lub ptak siadający na gałęzi dają jasne zdarzenie ze stanem początkowym i końcowym. Określ, który główny obiekt prowadzi scenę, co zmienia się podczas ujęcia i który szczegół powinien pozostać czytelny w ruchu.
Wybierz punkt widzenia i otoczenie wspierające tę akcję. Bliski widok może podkreślać palce dotykające przedmiotu, a szerszy określać relację między osobą i miejscem. Dodaj materiał, oświetlenie i szczegóły tła, gdy wpływają na widoczny wynik. Skup opis na tyle, aby ważny ruch nie konkurował z kilkoma niepowiązanymi zdarzeniami.
Opublikowane ogłoszenie Mochi 1 producenta dokumentuje natywne generowanie wideo 480p i opisuje fotorealistyczne ukierunkowanie. Zaplanuj scenę, której decydujące szczegóły pozostają czytelne w tej skali. Drobne wzory, małe odległe twarze i precyzyjne liternictwo wymagają osobnej kontroli w rzeczywistym wyniku; przekonująca scena jako całość nie dowodzi, że każdy mały element przetrwa ruch.
Genmo wskazuje odkształcenia lub deformacje jako możliwy problem przy skrajnym ruchu i zaznacza, że ta wersja jest mniej odpowiednia dla stylów animowanych. Przy opisie z intensywną akcją sprawdzaj główny obiekt przez całą sekwencję, szczególnie gdy się obraca, zmienia kierunek lub przechodzi za innym przedmiotem. Wybierz klip, którego widoczny ruch najlepiej odpowiada zamierzonemu zdarzeniu, a następnie skieruj kolejną poprawkę twórczą na konkretną deformację.
Referencyjna implementacja producenta udostępnia obok promptu ustawienia takie jak wartość seed, liczba klatek, kroki inferencji i guidance. Opisują one proces modelu referencyjnego; ustawienia konkretnej metody hostowanej są wymienione przy tej metodzie. Zachowaj rzeczywiście użyte ustawienia przy wynikowym klipie, aby porównanie nie zależało od założonej wartości domyślnej lub parametru innej implementacji.
Użyj gotowego materiału jako ujęcia koncepcyjnego, realistycznego elementu sceny lub klipu źródłowego do dalszego montażu. Obejrzyj całą sekwencję pod kątem kolejności i ukończenia żądanej akcji, ciągłości głównego obiektu i użyteczności końcowego widoku. Mocna klatka otwierająca jest tylko jedną częścią użytecznego ruchomego ujęcia.
Zachowaj rzeczywiste wideo i jego pisemny opis. Gdy wynik nie osiąga celu, określ, czy problemem jest opis sceny, ukryty szczegół głównego obiektu, gwałtowna akcja czy nieodpowiedni wybór kadru. Zmień właściwą część promptu, zachowując udany główny obiekt i otoczenie. Porównaj poprawkę z tym samym widocznym celem, używając pełnego klipu zamiast miniatury, aby ocenić jego przydatność dla zamierzonego montażu.
Ailoot Ultra · Wideo POST /v1/videos genmo-mochi-v1
genmo-mochi-v1Start
Mochi 1 to model tekst–wideo firmy Genmo, skoncentrowany na realistycznych obrazach, widocznym ruchu i zgodności z promptem sceny. Przygotuj konkretny opis ujęcia i sprawdź gotową sekwencję pod kątem akcji, kadrowania i spójności w czasie.
- Akceptowane dane wejściowe
- Tekst
- Wyniki
- Wideo
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · Wideo 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 genmo-mochi-v1 Warunki: Użyj dokładnego selektora modelu Ailoot. | Domyślnie— |
Poleprompt | Typstring | WymaganieWymagane | Wartości i limity Warunki: Opisz scenę i ruch. | Domyślnie— |
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt |
Parametroptional | Kontrakt |
Parametrmaterial_types | Kontrakttext |
Parametrconditions | KontraktUżyj dokładnego selektora modelu Ailoot., Opisz scenę i ruch. |
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ść | Ilość do rozliczenia | Opłata |
|---|---|---|---|---|
| KonfiguracjaBazowe stawki za tokeny | Tabela stawekStawka podstawowa | Przewidywana ilość— | Ilość do rozliczenia— | 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 |
| KonfiguracjaZa żądanie | Tabela stawek— | Przewidywana ilość— | Ilość do rozliczeniajedno żądanie | Opłata Wejście · Szacunek tylko do porównania $1 za żądanie |
| KonfiguracjaSzacowany koszt generowania | Tabela stawek— | Przewidywana ilośćszacunek dla jednego generowania | Ilość do rozliczenia— | Opłata Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania $1 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 · Wideo
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "genmo-mochi-v1",
"prompt": "A cat is walking on grass."
}
JSON
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
# Create once; retain id, polling_url, original task identifiers and every 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 · Wideo
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 |
Aliasy
Aliasy modelu
Ailoot Ultra genmo-mochi-v1
Aliasy ścieżek metod
/v1/videos/generations
Powiązane ID modeli
FAQ · Genmo: Mochi 1
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/videos·genmo-mochi-v1:text→video- Jakich pól używa żądanie?
POST /v1/videos·genmo-mochi-v1:model,prompt