Alibaba: HappyHorse 1.1
Alibaba HappyHorse 1.1 genera brevi video con suono da un brief testuale, un’immagine del primo fotogramma o fino a nove immagini di riferimento. I profili del produttore sottolineano miglioramenti di movimento, dettagli della pelle e coerenza dei personaggi fra clip. L’output è MP4 di 3–15 secondi a 24 fps, con opzioni 480p, 720p o 1080p.
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.
Alibaba HappyHorse 1.1 è un’edizione di generazione video con profili denominati separatamente per text-to-video, image-to-video dal primo fotogramma e reference-to-video. Il produttore sottolinea miglioramenti di dettaglio visivo, movimento, identità dei personaggi fra clip, stabilità del testo e sincronizzazione audiovisiva. Il risultato è un breve video con suono, utile per una ripresa di prodotto, un ritratto animato o una piccola scena con personaggi. Scegli la modalità di input in base a ciò che deve definire la scena: un concetto scritto, un’immagine iniziale esatta o vari riferimenti visivi.
Per il text-to-video, descrivi soggetto, luogo, azione, inquadratura, movimento di camera e intento sonoro. Per una breve scena d’azione, mostra un ciclista che si ferma accanto a un caffè lungo il fiume mentre la camera si avvicina dolcemente alla bicicletta parcheggiata. Mantieni l’azione adatta a una breve clip e descrivi il momento finale. L’attuale guida di testo del produttore consente fino a 5.000 caratteri non cinesi o 2.500 caratteri cinesi e tronca il testo eccedente. Organizza il brief affinché soggetto e azione essenziali siano espliciti anziché nascosti fra aggettivi ripetuti.
L’image-to-video dal primo fotogramma usa esattamente un’immagine come apertura. Prepara soggetto, composizione e ritaglio desiderato in tale immagine statica, poi descrivi cosa deve muoversi o come deve cambiare la camera. I formati documentati sono JPEG/JPG, PNG e WEBP, fino a 20 MB, con entrambe le dimensioni di almeno 300 pixel e rapporto d’aspetto fra 1:2.5 e 2.5:1. L’output approssima la fascia di risoluzione selezionata mantenendo le proporzioni dell’immagine sorgente. Un risultato verticale parte quindi da una composizione verticale adatta anziché da un’istruzione di rapporto d’aspetto indipendente.
Il reference-to-video accetta da una a nove immagini. Il prompt usa [Image 1], [Image 2] e le posizioni successive per identificarle nell’ordine degli input. Indica il ruolo di ogni riferimento e nomina l’oggetto o la persona pertinente, affinché un’immagine di scena non venga scambiata per una fonte del personaggio. La guida di riferimento accetta JPEG/JPG, PNG o WEBP fino a 20 MB, richiede che il lato più corto sia di almeno 400 pixel e consiglia riferimenti chiari in 720p o superiore. Evita un riferimento fortemente compresso i cui dettagli identificativi siano già assenti.
Per una scena con vari riferimenti, colloca la persona di un’immagine nella stanza di un’altra, conservando un cappotto o un prodotto fornito da una terza. Descrivi interazione e camera nello stesso brief. Il profilo di riferimento 1.1 evidenzia stabilità dei soggetti, stile della scena e movimento cinematografico; ispeziona il risultato effettivo per identità desiderata, marcature del prodotto e collocazione spaziale. Più immagini danno al brief maggiori informazioni, ma la revisione deve comunque verificare quali caratteristiche siano passate nel video.
Il produttore elenca output in 480p, 720p e 1080p per le modalità di generazione 1.1, con durata in secondi interi da tre a quindici e MP4 a 24 fps. La risposta API descrive la codifica H.264. Generazione da testo e riferimenti offrono formati fra cui 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 e 21:9; la generazione dal primo fotogramma segue l’immagine in ingresso. Scegli il formato per la destinazione e lascia spazio a didascalie o elementi di impaginazione successivi. Controlla l’inquadratura effettiva del video restituito alle dimensioni di visualizzazione previste.
L’output della famiglia di modelli include suono. Assegna a interpretazione o atmosfera un ruolo chiaro nel brief e controlla dialoghi, effetti o traccia di sottofondo insieme all’immagine. Mantieni il parlato abbastanza breve per l’azione e le pause, invece di comprimere un copione lungo in una sola breve ripresa. Quando è presente il parlato, verifica movimento delle labbra, attribuzione del parlante e parole effettive. L’accettazione della lingua del prompt non definisce di per sé una pronuncia garantita o un input separato di riferimento vocale.
Il flusso documentato del produttore è asincrono: un identificatore di attività segue l’elaborazione e un risultato riuscito fornisce l’indirizzo del video. Il link del risultato e le interrogazioni dell’attività hanno una validità documentata di ventiquattro ore. Conserva clip completata, riferimenti e prompt come registro delle revisioni. Le guide documentano anche controlli del seed e della filigrana. Un seed fisso può aiutare il confronto, ma il produttore afferma espressamente che non garantisce risultati identici; giudica quindi il risultato restituito invece di presumere che un’impostazione fissi ogni fotogramma.
HappyHorse 1.0 e 1.1 sono edizioni separate. La tabella di output 1.1 aggiunge 480p alle opzioni 720p e 1080p di 1.0 e le pagine del modello 1.1 descrivono miglioramenti di dettaglio, movimento e coerenza. Il profilo di modifica video HappyHorse 1.0, denominato separatamente, ha input e limiti propri e non è una modalità di modifica da assegnare implicitamente a 1.1. Controlla l’intera clip 1.1 per identità, movimento, inquadratura, testo e suono, poi applica una correzione specifica mantenendo le parti riuscite del brief.
Ailoot Ultra · Video POST /v1/videos alibaba/happyhorse-1.1
alibaba/happyhorse-1.1Introduzione
Alibaba HappyHorse 1.1 genera brevi video con suono da un brief testuale, un’immagine del primo fotogramma o fino a nove immagini di riferimento. I profili del produttore sottolineano miglioramenti di movimento, dettagli della pelle e coerenza dei personaggi fra clip. L’output è MP4 di 3–15 secondi a 24 fps, con opzioni 480p, 720p o 1080p.
- Input accettati
- Testo
- Risultati
- Video
Disponibile in Ailoot · input e metodi
Ailoot Ultra · Video POST /v1/videos
- Tipi di input
text- Tipi di output
video- Formato di output
- mp4
- Numero di output
- Fino a 4 outputs
| Campo | Tipo | Requisito | Valori e limiti | Predefinito |
|---|---|---|---|---|
Campomodel | Tipostring | RequisitoObbligatorio | Valori e limiti alibaba/happyhorse-1.1 | Predefinito— |
Campoprompt | Tipostring | RequisitoObbligatorio | Valori e limiti Lunghezza minima: 1 Numero massimo di byte: 10.000 Unità: byte UTF8 | Predefinito— |
Campoduration | Tipointeger | RequisitoObbligatorio | Valori e limiti Minimo: 3 Massimo: 15 Unità: secondi | Predefinito— |
Camporesolution | Tipostring | RequisitoObbligatorio | Valori e limiti 720p | Predefinito— |
Campoaspect_ratio | Tipostring | RequisitoObbligatorio | Valori e limiti 16:9 | Predefinito— |
Combinazioni di materiali in input
Da testo a video · Obbligatorio: prompt
Parametri e ciclo di vita del metodo
| Parametro | Contratto |
|---|---|
Parametrocontent_type | Contrattoapplication/json |
Parametrorequired | Contrattomodel, prompt, duration, resolution, aspect_ratio |
Parametroother_options | Contrattofalse |
Parametroresolution | Contratto720p |
Parametroprompt_max_bytes | Contratto10000 |
Parametroduration_integer_range | Contratto3, 15 |
Parametroaspect_ratio | Contratto16:9 |
Parametrogenerate_audio | Contrattodeve essere omesso (non false); AAC incluso |
Parametromaterial_types | Contrattotext |
Parametroadditional_properties | Contrattofalse |
Alias del metodo: /v1/videos/generations, /videos, /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/videos/generations/{request_id}/content
Crea una sola volta e salva l'ID restituito.
Interroga periodicamente lo stato originale; conserva ogni risorsa completata e la relativa durata.
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 | Unità di fatturazione | Condizioni di fatturazione | Costo |
|---|---|---|---|---|---|
| ConfigurazioneTariffe base dei token | Listino delle tariffeTariffa base | Quantità prevista— | Unità di fatturazione— | Condizioni di fatturazione— | 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 |
| ConfigurazionePrezzo del video | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper secondo di video | Condizioni di fatturazioneresolution: 1080p | Costo Output · Prezzo del video · Stima solo a fini di confronto $0.2556 per secondo di video |
| ConfigurazionePrezzo del video | Listino delle tariffe— | Quantità prevista— | Unità di fatturazioneper secondo di video | Condizioni di fatturazioneresolution: 720p | Costo Output · Prezzo del video · Stima solo a fini di confronto $0.1976 per secondo di video |
| ConfigurazioneCosto stimato della generazione | Listino delle tariffe— | Quantità previstastima per una generazione | Unità di fatturazione— | Condizioni di fatturazione— | Costo Output · Costo di generazione stimato · Stima solo a fini di confronto $0.5928 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 →
Dettagli della tariffa di riferimento
I listini di riferimento del modello non modificano la selezione del metodo, i preventivi o gli addebiti. Gli addebiti attivi usano le tariffe del metodo Ailoot selezionato.
Riferimenti tariffari delle configurazioni video
Prezzi per configurazione
Associa ogni costo alle condizioni indicate. Usa una sola tariffa per ogni insieme di configurazioni alternative.
| Configurazione | Condizioni di fatturazione | Costo |
|---|---|---|
| ConfigurazionePrezzo del video | Condizioni di fatturazioneresolution: 720p | Costo Output · Prezzo del video $0.1976 per secondo di video Riferimento di prezzo pubblicato per la configurazione mostrata. Gli addebiti finali seguono la configurazione effettivamente fatturata. |
| ConfigurazionePrezzo del video | Condizioni di fatturazioneresolution: 1080p | Costo Output · Prezzo del video $0.2556 per secondo di video Riferimento di prezzo pubblicato per la configurazione mostrata. Gli addebiti finali seguono la configurazione effettivamente fatturata. |
Esempi di richieste
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "alibaba/happyhorse-1.1", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 3, "resolution": "720p", "aspect_ratio": "16:9"}')
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
Ricevi e salva i risultati
Ailoot Ultra · Video
mp4
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Verifica lo stato dell’attività
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_STATUS_URL'
import json
from pathlib import Path
from urllib.parse import quote
r=json.loads(Path('result.json').read_text())
if not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')
Path('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))
PY_STATUS_URL
curl --fail-with-body --silent --show-error "$(cat status-url.txt)" \
-H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('status.json').read_text())
print(json.dumps(r,ensure_ascii=False,indent=2))
print('Keep the complete JSON and response headers; do not resubmit an unknown creation.')
PY_RESULT
Altre letture di contenuto
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())
if r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')
if not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')
urls=[]
for i,u in enumerate(r.get('data',[])):
if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')
urls.append((str(i),u))
for label,path in urls:
u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)
if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')
target=Path('owned-'+label+'.bin')
subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)
print('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')
PY_ASSETS
Conserva tutti i risultati completati
Salva ogni video completato o file restituito; recupera ogni URL di risorsa effettivamente restituito.
A completamento, data[] contiene tutti gli URL firmati dei contenuti di tua proprietà. Recupera ogni URL restituito oppure usa l'endpoint del contenuto impostando index su un indice di uscita effettivo. Un'attività originale non riuscita può restituire charge_pending_check; verifica quell'attività originale invece di crearla nuovamente.
Se occorre verificare la risposta originale
Consulta l'attività originale esistente; non ripetere mai un invio dall'esito sconosciuto.
Numero massimo di output: 4.
Campi della risposta
| Campo | Tipo | Significato |
|---|---|---|
Campoid | Tipostring | Significato— |
Campoobject | Tipostring | Significato— |
Campomodel | Tipostring | Significato— |
Campostatus | Tipostring | Significato— |
Campodata[] | Tiposigned content URL | Significato— |
Campocharge_pending_check | Tipoboolean | Significato— |
Campoerror.code | Tipostring | Significato— |
Campoerror.message | Tipostring | Significato— |
Campooperation_id | Tipostring | SignificatoRisposta HTTP503 result_pending_check dello stato o del contenuto originale: lo stesso ID video pubblico originale come id. |
Campoerror.type | Tipostring | Significatoserver_error su HTTP503 result_pending_check. |
Errori e passaggi successivi
| Risposta | Condizione | Passaggio successivo |
|---|---|---|
Risposta400 · invalid_request_error | CondizioneLa lettura del corpo grezzo della richiesta non riesce prima dell'analisi del profilo video | Passaggio successivoConserva la risposta restituita e correggi il corpo della richiesta illeggibile. |
Risposta422 · price_unavailable | CondizioneL'analisi del profilo video esatto non riesce oppure il profilo analizzato completo non dispone di una scheda tariffaria esatta pronta all'uso | Passaggio successivoConserva la risposta; usa il profilo completo esatto autorizzato e la relativa scheda pubblicata. Questo ramo viene eseguito prima dell'invio al fornitore. |
Risposta409 · video_not_ready | CondizioneContenuto del risultato originale non ancora disponibile | Passaggio successivoInterroga periodicamente l'ID originale restituito e rispetta Retry-After. |
Rispostaserver_error | CondizioneLa risposta restituita indica che l'operazione o il risultato richiede una verifica | Passaggio successivoConserva l'ID originale di operazione/task restituito, gli header della richiesta e la risposta; continua a leggere l'operazione originale tramite le modalità supportate. Non reinviare la richiesta di creazione. |
Risposta503 · result_pending_check | CondizioneGET dello stato o del contenuto originale: l'attività non è pubblicata, l'attività originale non è in stato failed/cancelled/expired e lo stato locale è unknown oppure lo stato dell'attività originale è completed. | Passaggio successivoConserva id e operation_id originali (lo stesso ID video pubblico), la risposta e le intestazioni; consulta solo lo stato o il contenuto originale. Non inviare mai una nuova richiesta di generazione. |
Alias
Alias del modello
Ailoot Ultra alibaba/happyhorse-1.1
Alias dei percorsi dei metodi
/v1/videos/generations, /videos, /videos/generations
ID di chiamata correlati
FAQ · Alibaba: HappyHorse 1.1
- Quali input e risultati sono disponibili?
POST /v1/videos·alibaba/happyhorse-1.1:text→video- Quali campi usa la richiesta?
POST /v1/videos·alibaba/happyhorse-1.1:model,prompt,duration,resolution,aspect_ratio- Quali limiti si applicano?
POST /v1/videos·alibaba/happyhorse-1.1:duration.minimum:3;duration.maximum:15