Genmo: Mochi 1
Mochi 1 è il modello da testo a video di Genmo, con attenzione a immagini realistiche, movimento visibile e rispetto del prompt della scena. Preparate una descrizione concreta dell’inquadratura ed esaminate la sequenza completata per azione, inquadratura e coerenza temporale.
Informazioni sul modello
Questa descrizione illustra le funzionalità del modello. Gli input, gli output e le opzioni disponibili in Ailoot per il metodo selezionato sono elencati di seguito.
Mochi 1 è il modello da testo a video di Genmo per trasformare una descrizione scritta della scena in immagini in movimento. Il produttore sottolinea il movimento e il rispetto del prompt, con un’attenzione visiva ai contenuti fotorealistici. Usate una descrizione concreta dell’inquadratura per indicare il soggetto, l’ambientazione e l’azione che devono essere visibili nella sequenza completata.
Scrivete l’azione come qualcosa che lo spettatore possa seguire. Una mano che solleva un limone da una ciotola, una bicicletta che passa accanto a un muro illuminato dal sole o un uccello che atterra su un ramo offrono ciascuno un evento chiaro con uno stato iniziale e finale. Precisate quale soggetto sostiene la scena, che cosa cambia durante l’inquadratura e quale dettaglio deve restare leggibile mentre si muove.
Scegliete il punto di vista e l’ambiente a sostegno di quell’azione. Una vista ravvicinata può evidenziare dita che toccano un oggetto, mentre una vista più ampia può stabilire la relazione tra una persona e un luogo. Includete dettagli di materiali, illuminazione e sfondo quando influiscono sul risultato visibile. Mantenete la descrizione abbastanza concentrata affinché il movimento importante non debba competere con più eventi non correlati.
La versione pubblicata dal produttore di Mochi 1 documenta la generazione video nativa a 480p e descrive un’attenzione al fotorealismo. Pianificate una scena i cui dettagli decisivi rimangano leggibili a quella scala. Motivi fini, volti piccoli e lontani e scritte precise richiedono un esame separato nell’output effettivo; una scena complessivamente convincente non dimostra che ogni piccolo dettaglio sopravviva al movimento.
Genmo identifica deformazioni o distorsioni come possibili problemi nei movimenti estremi e osserva che questa versione è meno adatta agli stili di animazione. Per una descrizione ricca di azione, esaminate il soggetto lungo tutta la sequenza, soprattutto quando ruota, cambia direzione o passa dietro un altro oggetto. Selezionate il filmato il cui movimento visibile corrisponde meglio all’evento desiderato, poi intervenite su una deformazione specifica nella revisione creativa successiva.
L’implementazione di riferimento del produttore espone controlli come seed, numero di fotogrammi, passaggi di inferenza e guida, insieme al prompt. Questi descrivono il processo del modello di riferimento; i controlli forniti da un particolare metodo ospitato sono elencati con quel metodo. Conservate le impostazioni effettivamente usate insieme al filmato risultante, affinché un confronto non dipenda da un valore predefinito presunto o da un parametro di un’altra implementazione.
Usate il filmato completato come inquadratura concettuale, elemento di scena realistico o filmato sorgente per ulteriori modifiche. Guardate l’intera sequenza per verificare l’ordine e il completamento dell’azione richiesta, la continuità del soggetto e l’utilità della vista finale. Un fotogramma iniziale forte è soltanto una parte di un’inquadratura in movimento utilizzabile.
Preservate il video effettivo e la relativa descrizione scritta. Quando il risultato manca l’obiettivo, identificate se il problema sia la descrizione della scena, un dettaglio nascosto del soggetto, un’azione brusca o una scelta di inquadratura inadatta. Modificate la parte pertinente del prompt conservando il soggetto e l’ambientazione riusciti. Confrontate la revisione con lo stesso obiettivo visibile, usando il filmato completo anziché una miniatura per decidere se serva al montaggio previsto.
Ailoot Ultra · Generazione video POST /v1/videos genmo-mochi-v1
genmo-mochi-v1Introduzione
Mochi 1 è il modello da testo a video di Genmo, con attenzione a immagini realistiche, movimento visibile e rispetto del prompt della scena. Preparate una descrizione concreta dell’inquadratura ed esaminate la sequenza completata per azione, inquadratura e coerenza temporale.
- Input accettati
- Testo
- Risultati
- Video
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Generazione video POST /v1/videos
- Tipi di input
text- Tipi di output
video
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti genmo-mochi-v1 Condizioni: Usa il selettore esatto del modello Ailoot. | Predefinito— |
Campoprompt | Tipostring | RequisitoObbligatorio | Valori e limiti Condizioni: Descrivi la scena e il movimento. | Predefinito— |
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, prompt |
Parametrooptional | Contratto |
Parametromaterial_types | Contrattotext |
Parametroconditions | ContrattoUsa il selettore esatto del modello Ailoot., Descrivi la scena e il movimento. |
Alias del metodo: /v1/videos/generations
Ciclo di vita: 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}
Tariffe
Calcolo del costo finale
Le tariffe visualizzate stimano il costo prima della generazione. L'addebito finale viene calcolato in base al costo registrato per la generazione originale. La durata misurata dell'output e le quantità previste non costituiscono la quantità finale fatturabile.
Le tariffe non aggiungono opzioni alla richiesta. I parametri supportati sono elencati nel metodo selezionato.
- Modalità rapida
- Non specificato Quando è selezionata la modalità rapida
- Modalità flex
- Non specificato Quando è selezionata la modalità flex
- Sforzo massimo di ragionamento
- Non specificato Quando lo sforzo massimo di ragionamento usa l'adeguamento predefinito (default)
Tariffe stimate per il confronto
Prezzi per configurazione
Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.
| Configurazione | Listino delle tariffe | Quantità prevista | Quantità fatturata | Costo |
|---|---|---|---|---|
| ConfigurazioneTariffe base dei token | Listino delle tariffeTariffa base | Quantità prevista— | Quantità fatturata— | Costo Input · Token in input · Stima solo a fini di confronto — / 1K token Output · Token in output · Stima solo a fini di confronto — / 1K token Input · Lettura dalla cache · Stima solo a fini di confronto — / 1K token Input · Scrittura nella cache · Stima solo a fini di confronto — / 1K token Input · Scrittura nella cache, 1 ora · Stima solo a fini di confronto — / 1K token |
| ConfigurazionePer richiesta | Listino delle tariffe— | Quantità prevista— | Quantità fatturatauna richiesta | Costo Input · Stima solo a fini di confronto $1 per richiesta |
| ConfigurazioneCosto stimato della generazione | Listino delle tariffe— | Quantità previstastima per una generazione | Quantità fatturata— | Costo Output · Costo di generazione stimato · Stima solo a fini di confronto $1 stima prima della generazione Questa stima non è un addebito aggiuntivo né una tariffa fissa per la generazione completata. |
Ailoot prenota un importo stimato prima di una richiesta. Dopo il risultato, addebita il costo finale in base all’utilizzo misurato. Per lo streaming, l’addebito usa il record finale di utilizzo. Come funzionano la prenotazione e l’addebito finale →
Esempi di richieste
Ailoot Ultra · Generazione video
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
Ricevi e salva i risultati
Ailoot Ultra · Generazione 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}
Conserva tutti i risultati completati
Salva ogni video completato o file restituito; recupera ogni URL di risorsa effettivamente restituito.
Conserva la risposta completa e le intestazioni, gli identificatori originali, ogni risultato effettivo e tutti i campi di utilizzo e contabilizzazione. Salva ogni risorsa univoca di tua proprietà e conserva ogni ruolo che vi fa riferimento.
Se occorre verificare la risposta originale
Conserva l'id pubblico dell'attività o dell'operazione restituito e tutte le intestazioni. Consulta solo l'attività originale; unknown o result_pending_check non autorizza un'altra creazione.
Campi della risposta
| Campo | Tipo |
|---|---|
Campoid | Tipostring |
Campopolling_url | Tipostring |
Campoprovider_task_id | Tipostring |
Campotask_id | Tipostring |
Campostatus | Tipostring |
Campovideo_url | Tipostring |
Alias
Alias del modello
Ailoot Ultra genmo-mochi-v1
Alias dei percorsi dei metodi
/v1/videos/generations
ID di chiamata correlati
FAQ · Genmo: Mochi 1
- Quali input e risultati sono disponibili?
POST /v1/videos·genmo-mochi-v1:text→video- Quali campi usa la richiesta?
POST /v1/videos·genmo-mochi-v1:model,prompt