Genmo: Mochi 1
Mochi 1 är Genmos text-till-video-modell med fokus på realistiska bilder, synlig rörelse och följsamhet till en scenbeskrivning. Förbered en konkret beskrivning av tagningen och granska den färdiga sekvensens handling, inramning och tidsmässiga kontinuitet.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Mochi 1 är Genmos text-till-video-modell för att omvandla en skriftlig scenbeskrivning till rörliga bilder. Tillverkaren betonar rörelse och promptföljsamhet, med ett visuellt fokus på fotorealistiskt innehåll. Beskriv tagningen konkret med motivet, miljön och den handling som ska synas i den färdiga sekvensen.
Formulera handlingen som något betraktaren kan följa. En hand som lyfter en citron ur en skål, en cykel som passerar en solbelyst vägg eller en fågel som landar på en gren ger var och en en tydlig händelse med ett öppnings- och sluttillstånd. Ange vilket motiv som bär scenen, vad som förändras under tagningen och vilken detalj som ska förbli synlig medan den rör sig.
Välj kameravinkel och miljö så att de stöder handlingen. En närbild kan framhäva fingrar som rör vid ett föremål, medan en vidare bild kan förklara relationen mellan en person och en plats. Ta med material, ljus och bakgrundsdetaljer när de påverkar det synliga resultatet. Håll beskrivningen tillräckligt fokuserad för att den viktiga rörelsen inte ska konkurrera med flera orelaterade händelser.
Tillverkarens publicerade Mochi 1-version dokumenterar video genererad i 480p och beskriver ett fotorealistiskt fokus. Planera en scen vars avgörande detaljer förblir läsbara i den skalan. Fina mönster, små avlägsna ansikten och exakt text behöver granskas separat i det faktiska resultatet; en övertygande helhetsscen visar inte att varje liten detalj överlever rörelsen.
Genmo beskriver skevheter eller förvrängningar som ett möjligt problem vid extrema rörelser och påpekar att versionen är mindre lämpad för animerade stilar. För en handlingsintensiv beskrivning granskas motivet genom hela sekvensen, särskilt där det vänder, ändrar riktning eller passerar bakom ett annat föremål. Välj den video vars synliga rörelse bäst motsvarar den avsedda händelsen och rikta nästa kreativa revidering mot en specifik deformation.
Tillverkarens referensimplementation exponerar kontroller som slumpfrö, bildruteantal, inferenssteg och styrning tillsammans med prompten. Dessa beskriver referensmodellens arbetsflöde; kontrollerna för en viss driftad metod anges med den metoden. Behåll de faktiska inställningarna med den resulterande videon så att jämförelsen inte bygger på en antagen standardinställning eller en parameter från en annan implementation.
Använd det färdiga materialet som en koncepttagning, ett realistiskt scenelement eller en källvideo för vidare redigering. Se hela sekvensen för att granska den begärda handlingens ordning och fullföljande, motivets kontinuitet och slutvyns användbarhet. En stark öppningsbild är bara en del av en användbar rörlig tagning.
Bevara den faktiska videon och dess skriftliga beskrivning. När resultatet missar målet, identifiera om problemet är scenbeskrivningen, en dold motivdetalj, en abrupt handling eller en olämplig inramning. Ändra den relevanta delen av prompten samtidigt som det lyckade motivet och den lyckade miljön behålls. Jämför revideringen mot samma synliga mål och använd hela videon i stället för en miniatyrbild för att avgöra om den passar den avsedda redigeringen.
Ailoot Ultra · Videor POST /v1/videos genmo-mochi-v1
genmo-mochi-v1Start
Mochi 1 är Genmos text-till-video-modell med fokus på realistiska bilder, synlig rörelse och följsamhet till en scenbeskrivning. Förbered en konkret beskrivning av tagningen och granska den färdiga sekvensens handling, inramning och tidsmässiga kontinuitet.
- Godkända indata
- Text
- Resultat
- Video
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · Videor POST /v1/videos
- Indatatyper
text- Utdatatyper
video
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser genmo-mochi-v1 Villkor: Använd den exakta modellväljaren för Ailoot. | Standard— |
Fältprompt | Typstring | KravObligatoriskt | Värden & gränser Villkor: Beskriv scenen och rörelsen. | Standard— |
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, prompt |
Parameteroptional | Avtal |
Parametermaterial_types | Avtaltext |
Parameterconditions | AvtalAnvänd den exakta modellväljaren för Ailoot., Beskriv scenen och rörelsen. |
Metodalias: /v1/videos/generations
Livscykel: 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}
Priser
Så beräknas slutavgiften
De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Uppskattade priser för jämförelse
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Prognostiserad mängd | Debiteringsmängd | Avgift |
|---|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Debiteringsmängd— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token |
| KonfigurationPer begäran | Prislista— | Prognostiserad mängd— | Debiteringsmängden förfrågan | Avgift Indata · Uppskattning endast för jämförelse $1 per begäran |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Debiteringsmängd— | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $1 uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
Ailoot Ultra · Videor
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
Ta emot och spara resultat
Ailoot Ultra · Videor
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}
Behåll alla färdiga resultat
Spara varje färdig video eller returnerad fil; hämta varje faktiskt returnerad resurs-URL.
Behåll hela svaret och svarshuvudena, ursprungliga identifierare, varje faktiskt resultat och alla förbruknings- och redovisningsfält. Spara varje unik tillgång som du äger och behåll varje roll som pekar på den.
Om det ursprungliga svaret behöver kontrolleras
Behåll det returnerade offentliga uppgifts- eller operations-id:t och samtliga svarshuvuden. Läs endast den ursprungliga uppgiften; unknown eller result_pending_check ger inte tillstånd att skapa på nytt.
Svarsfält
| Fält | Typ |
|---|---|
Fältid | Typstring |
Fältpolling_url | Typstring |
Fältprovider_task_id | Typstring |
Fälttask_id | Typstring |
Fältstatus | Typstring |
Fältvideo_url | Typstring |
Alias
Modellalias
Ailoot Ultra genmo-mochi-v1
Alias för metodsökvägar
/v1/videos/generations
Relaterade anropar-ID:n
FAQ · Genmo: Mochi 1
- Vilka indata och resultat finns?
POST /v1/videos·genmo-mochi-v1:text→video- Vilka fält använder begäran?
POST /v1/videos·genmo-mochi-v1:model,prompt