GPT-6 Sol e Claude Opus 5.5 disponibiliGPT-6 Sol a metà prezzo rispetto a 5.6 Sol

HappyHorse 1.1 da immagine a video: guida API e 5 clip reali

Uno script invia una foto, controlla l'attività e salva l'MP4. I campi, le sorprese di filigrana e traccia audio, e 5 clip realizzate il 2 novembre 2026.

Kiki, OmniaKey COO11 min di lettura
In questa pagina

Per animare un'immagine ferma con HappyHorse 1.1 da immagine a video, invia la foto come first_frame a https://api.omniakey.com/v1/media/tasks con l'ID modello happyhorse-1.1-i2v, controlla l'attività e scarica l'MP4. Le nostre cinque clip da 5 secondi in 720P hanno richiesto da 92 a 158 secondi il 2 novembre 2026. Ognuna conteneva musica che non avevamo chiesto, e l'impostazione predefinita aggiunge una filigrana "Happy Horse".

Risposta breve

  • La richiesta: modello happyhorse-1.1-i2v, operazione image_to_video e esattamente un first_frame dentro input.media.
  • Rapporto d'aspetto: la clip segue la tua foto, perché non c'è un campo ratio.
  • Durata e dimensione: da 3 a 15 secondi in 480P, 720P o 1080P; invia resolution ogni volta, perché il valore predefinito di Alibaba è 1080P.
  • Filigrana: attiva per impostazione predefinita, si toglie con watermark: false.
  • Audio: tutte e cinque le clip avevano musica, l'API di Alibaba non elenca alcun interruttore audio, e ffmpeg rimuove la traccia.

Cosa serve prima della prima chiamata a HappyHorse 1.1 da immagine a video?

Tre cose: una chiave, Python 3 e una foto che rispetti le regole di Alibaba.

  • La chiave in OMNIAKEY_API_KEY. Lo script la invia come token Bearer, quindi non resta nel codice.
  • Python 3 senza installare nulla. Lo script usa solo la libreria standard.
  • Una foto conforme alla referenza dell'API da immagine a video di Alibaba: JPEG, JPG, PNG o WEBP; larghezza e altezza di almeno 300 pixel; fino a 20 MB; rapporto d'aspetto da 1:2.5 a 2.5:1. Alibaba non indica un massimo di pixel.

La difficoltà è la dimensione: l'immagine incorporata viaggia nel corpo della richiesta, che deve stare in 1 MiB, Base64 compreso (panoramica dell'API media di OmniaKey, verificata il 2 novembre 2026). Lo script si ferma oltre 700 KB; se la foto è più grande, riducila o passa un URL HTTPS pubblico. La nostra foto 2K pesava 2.254.819 byte, e questo comando macOS l'ha portata a 92.212 byte:

bash
sips -s format jpeg -s formatOptions 85 -Z 1280 still.jpg --out still-small.jpg

Quali campi porta la richiesta?

Nove campi definiscono l'attività: tre al livello superiore, due dentro input e quattro dentro parameters.

CampoValoreNote
modelhappyhorse-1.1-i2vl'ID del modello 1.1 da immagine a video
typevideoil tipo di file che l'attività crea
operationimage_to_videonome senza prefisso
input.prompttestoOmniaKey lo richiede, l'API di Alibaba lo tratta come facoltativo; fino a 5,000 caratteri non cinesi o 2,500 cinesi, il testo più lungo viene tagliato
input.mediaesattamente un {"type": "first_frame", "url": ...}un URL HTTPS pubblico o un data URI
parameters.resolution480P, 720P o 1080Pinvialo sempre: il valore predefinito di Alibaba è 1080P
parameters.durationsecondi interi, da 3 a 15obbligatorio su OmniaKey
parameters.watermarktrue (predefinito) o falsefalse toglie il testo "Happy Horse"
parameters.seedda 0 a 2147483647lo stesso seed non garantisce la stessa clip

Quattro dettagli sfuggono facilmente.

  • Non c'è un campo ratio: la clip mantiene il rapporto d'aspetto della tua foto (referenza dell'API da immagine a video di Alibaba, verificata il 2 novembre 2026).
  • Le pagine di Alibaba non mostrano un campo per il prompt negativo.
  • Ogni chiamata di creazione richiede l'intestazione Idempotency-Key. Ripeterla con lo stesso corpo restituisce l'attività originale e non addebita mai due volte; con un altro corpo arriva 409 idempotency_key_reused (documentazione dell'API video di OmniaKey, verificata il 2 novembre 2026).
  • La dimensione dell'output varia: nella documentazione di OmniaKey una foto 1200×630 in 720P torna come 1324×696.

Lo script Python

È il file esatto che abbiamo eseguito, solo con la libreria standard.

python
"""Animate one still with HappyHorse 1.1 image-to-video through the OmniaKey media API.

Usage:
    export OMNIAKEY_API_KEY="your-omniakey-api-key"
    python3 hh_i2v.py still.jpg "The camera slowly orbits the headphones." clip.mp4

The still can be a local JPEG or PNG (sent inline as a data URL) or a public https:// URL.
"""
import base64
import json
import mimetypes
import os
import sys
import time
import urllib.error
import urllib.request
import uuid

API = "https://api.omniakey.com/v1/media/tasks"
HEADERS = {
    "Authorization": "Bearer " + os.environ["OMNIAKEY_API_KEY"],
    "Content-Type": "application/json",
    "User-Agent": "happyhorse-i2v-example/1.0",
}
POLL_SECONDS = 10
GIVE_UP_AFTER = 15 * 60  # most clips finish in 1-5 minutes


def call(method, url, body=None, extra_headers=None):
    data = json.dumps(body).encode() if body is not None else None
    req = urllib.request.Request(url, data=data, method=method, headers={**HEADERS, **(extra_headers or {})})
    for attempt in range(3):
        try:
            with urllib.request.urlopen(req, timeout=60) as resp:
                return json.load(resp)
        except urllib.error.HTTPError as err:
            sys.exit(f"HTTP {err.code}: {err.read().decode(errors='replace')}")
        except (urllib.error.URLError, TimeoutError, ConnectionError) as err:
            if attempt == 2:
                raise
            print("network error, retrying:", err)  # a retried POST keeps its Idempotency-Key
            time.sleep(5)


def first_frame_url(image):
    if image.startswith("https://"):
        return image
    raw = open(image, "rb").read()
    if len(raw) > 700_000:  # Base64 adds a third, and the whole request must stay under 1 MiB
        sys.exit("The still is over 700 KB. Resize it or pass a public https:// URL instead.")
    mime = mimetypes.guess_type(image)[0] or "image/jpeg"
    return f"data:{mime};base64,{base64.b64encode(raw).decode()}"


def main(image, prompt, out_path):
    task = call("POST", API, {
        "model": "happyhorse-1.1-i2v",
        "type": "video",
        "operation": "image_to_video",
        "input": {"prompt": prompt, "media": [{"type": "first_frame", "url": first_frame_url(image)}]},
        "parameters": {"resolution": "720P", "duration": 5, "watermark": False},  # watermark is on by default
    }, {"Idempotency-Key": str(uuid.uuid4())})
    print("task", task["id"], task["status"])

    start = time.time()
    while task["status"] in ("queued", "processing"):
        if time.time() - start > GIVE_UP_AFTER:
            sys.exit(f"Still {task['status']} after 15 minutes. Do not submit it again; "
                     f"check it later with GET {API}/{task['id']}")
        time.sleep(POLL_SECONDS)
        task = call("GET", f"{API}/{task['id']}")
    print(task["status"], "after", round(time.time() - start), "s")
    if task["status"] != "succeeded":
        sys.exit(json.dumps(task.get("error") or task))

    # The signed download URL is short-lived, so save the file right away.
    req = urllib.request.Request(task["assets"][0]["url"], headers={"User-Agent": HEADERS["User-Agent"]})
    with urllib.request.urlopen(req, timeout=300) as resp, open(out_path, "wb") as f:
        f.write(resp.read())
    print("saved", out_path)


if __name__ == "__main__":
    main(*sys.argv[1:4])

Salvalo come hh_i2v.py ed esegui:

bash
export OMNIAKEY_API_KEY="your-omniakey-api-key"
python3 hh_i2v.py still.jpg "The camera slowly orbits the headphones." clip.mp4

La nostra esecuzione con watermark: false ha stampato questo:

text
task task_QqK3ZdAd72vmK1DSOuOxXSytBSaJ244v queued
succeeded after 91 s
saved data/clips/c5-orbit-nowm.mp4

Cinque punti dello script contano.

  • Controlla ogni 10 secondi.
  • Rinuncia dopo 15 minuti con un messaggio che chiede di non inviare di nuovo l'attività.
  • In caso di errore di rete riprova, e la creazione ripetuta mantiene il suo Idempotency-Key, quindi ricevi l'attività originale invece di un secondo addebito.
  • Salva il file appena l'attività riesce, perché l'URL di download firmato dura poco.
  • Invia un User-Agent a ogni richiesta: quello predefinito di Python ha ricevuto HTTP 403 con error code: 1010 da Cloudflare nel nostro test di Kling 3.0 API il 29 ottobre 2026.

Cinque clip che abbiamo fatto

Abbiamo generato quattro foto con Nano Banana 2.1 e abbiamo eseguito l'immagine delle cuffie due volte per provare la filigrana. Sono uscite cinque clip, tutte da 5 secondi e in 720P, il 2 novembre 2026. Le clip del ritratto, del lago e della volpe sono uscite con le impostazioni predefinite, quindi la filigrana si vede in quei fotogrammi.

Orbita delle cuffie

prompt
The camera slowly orbits about 90 degrees to the right around the headphones while a soft band of light sweeps across the ear cups. The headphones stay perfectly still on the pedestal. Smooth, steady product-commercial camera move.
Otto fotogrammi di cuffie nere su un piedistallo di pietra. La camera va da un lato all'altro e nei fotogrammi centrali compare dietro il bordo curvo di uno sfondo.
Otto fotogrammi della clip di orbita in ordine cronologico, da 0.0 a 4.85 secondi, filigrana su false. HappyHorse 1.1 tramite l'API OmniaKey, da immagine a video, 5 secondi, 720P, realizzata il 2 novembre 2026.

La camera va da un lato delle cuffie all'altro, e le cuffie restano sul piedistallo. Nei fotogrammi centrali compare dietro il bordo curvo di uno sfondo che non è nella foto, e la fascia di luce chiesta nel prompt si vede appena.

Abbiamo eseguito lo stesso prompt sulla stessa foto due volte, una con le impostazioni predefinite e una con watermark: false, e l'angolo mostra la differenza.

L'angolo in basso a destra di due clip. Quella in alto mostra il testo bianco Happy Horse, quella in basso, con la filigrana su false, è pulita.
Angolo in basso a destra dell'ultimo fotogramma di ogni clip di orbita, ingrandito. Sopra: impostazioni predefinite. Sotto: filigrana su false. HappyHorse 1.1 tramite l'API OmniaKey, da immagine a video, 5 secondi, 720P, realizzata il 2 novembre 2026.

Ritratto sotto la pioggia

prompt
She slowly turns her head toward the camera and gives a small smile while light rain keeps falling. The neon signs behind her flicker softly and the camera pushes in a little.
Quattro fotogrammi di una donna con impermeabile giallo in una strada al neon bagnata. Gira il viso da sinistra verso la camera e sorride, mentre l'inquadratura passa dalla vita a un primo piano.
Quattro fotogrammi della clip del ritratto sotto la pioggia in ordine cronologico, da 0.0 a 4.85 secondi, con la filigrana predefinita. HappyHorse 1.1 tramite l'API OmniaKey, da immagine a video, 5 secondi, 720P, realizzata il 2 novembre 2026.

Passa dallo sguardo a sinistra al viso verso la camera e sorride, nell'ordine dato dal prompt, e la filigrana è in ogni fotogramma. Il prompt chiedeva una leggera spinta in avanti, e l'inquadratura passa dalla vita a un primo piano del viso.

Spinta in avanti sul lago

prompt
Slow aerial push-in over the water toward the rowboat. Mist drifts across the lake, the boat rocks gently and small ripples spread from its hull, and the golden light grows a little brighter.
Otto fotogrammi di una barca a remi su un lago nebbioso all'alba. La camera avanza finché la barca riempie quasi tutto l'inquadratura, e dalla chiglia si allargano le increspature.
Otto fotogrammi della clip del lago in ordine cronologico, da 0.0 a 4.85 secondi, con la filigrana predefinita. HappyHorse 1.1 tramite l'API OmniaKey, da immagine a video, 5 secondi, 720P, realizzata il 2 novembre 2026.

La camera avanza verso la barca, come richiesto. Alla fine la barca riempie quasi tutto l'inquadratura, e dalla chiglia si allargano le increspature.

Illustrazione della volpe

prompt
The fox turns a page of the book with its paw and its ears twitch. A few orange leaves drift down from the tree and the branches sway gently. Keep the flat illustration style.
Quattro fotogrammi di un'illustrazione piatta di una volpe che legge sotto un albero d'autunno. Le foglie arancioni cadono e la vista si avvicina dall'albero intero alla volpe.
Quattro fotogrammi della clip della volpe in ordine cronologico, da 0.0 a 4.85 secondi, con la filigrana predefinita. HappyHorse 1.1 tramite l'API OmniaKey, da immagine a video, 5 secondi, 720P, realizzata il 2 novembre 2026.

Lo stile dell'illustrazione piatta regge dal primo all'ultimo fotogramma mentre cadono le foglie arancioni. La camera si avvicina dall'albero intero a una vista ravvicinata della volpe, cosa che il prompt non ha mai chiesto; le pagine del libro si sollevano, ma i fotogrammi non confermano che la zampa ne giri una.

A sinistra: la foto della volpe che abbiamo inviato, con l'albero intero. A destra: l'ultimo fotogramma della clip, molto più vicino alla volpe e al libro aperto, nello stesso stile piatto, con la filigrana Happy Horse.
A sinistra: la foto inviata come primo fotogramma. A destra: l'ultimo fotogramma della clip della volpe. HappyHorse 1.1 tramite l'API OmniaKey, da immagine a video, 5 secondi, 720P, realizzata il 2 novembre 2026.

In 2 dei nostri 4 prompt la camera si è mossa più del richiesto, quindi controlla l'inquadratura con una prova breve. Una clip da 3 secondi in 480P è l'opzione più corta e più bassa elencata dai documenti (referenza dell'API da immagine a video di Alibaba, verificata il 2 novembre 2026).

Cosa misuravano i file

ClipRapportoPixelFotogrammiTempoByte
Orbita, predefinita16:91286×716123128 s1.486.548
Orbita, watermark: false16:91286×71612198 s1.320.527
Ritratto sotto la pioggia9:16716×1286123158 s2.108.577
Lago16:91286×716123131 s2.691.558
Volpe1:1960×96012392 s2.405.557

Ogni file dichiara 5.16 secondi anche se ne avevamo chiesti 5: è la traccia audio, mentre la traccia video dura 5.13 secondi su 123 fotogrammi e 5.04 secondi su 121. Tutte e cinque sono H.264 a 24 fps con una traccia AAC stereo, e uno script di rilevamento dei tagli non ne ha trovato nessuno.

Le nostre clip hanno richiesto da 92 a 158 secondi dall'invio al download, contro gli 1–5 minuti che la documentazione di Alibaba indica per le attività da immagine a video (referenza dell'API da immagine a video di Alibaba, verificata il 2 novembre 2026). Non abbiamo provato 480P, 1080P, altre durate, seed, un URL pubblico dell'immagine, HappyHorse 1.0 né l'endpoint di Alibaba. Per scegliere tra modelli, vedi HappyHorse 1.1 contro Seedance 2.0 e HappyHorse 1.1 contro Kling 3.0. Per rifare una clip senza codice, HappyHorse 1.1 è nel generatore di video IA.

Perché le clip hanno l'audio?

HappyHorse 1.1 ha aggiunto una traccia audio a tutte e cinque le clip, anche se nessuno dei nostri prompt la chiedeva. Nessuno le ha ascoltate: abbiamo chiesto a Gemini 3.8 Flash, tramite l'API OmniaKey, di descrivere ogni traccia.

ClipCosa ha descritto il modelloLoudness media
Orbita, predefinita"Un beat hip-hop con percussioni sincopate, battiti di mani e accordi di synth morbidi."−19.5 dB
Orbita, watermark: false"Musica elettronica calma e ritmata, con un battito costante e toni di synth melodici"−20.5 dB
Ritratto sotto la pioggia"Una melodia di pianoforte lenta, malinconica e dolce, con una leggera atmosfera"−22.6 dB
Lago"Una melodia di pianoforte lenta, dolce e sentimentale"−20.2 dB
Volpe"Una melodia ambient calma e dolce suonata con toni di campana delicati", più "passi che scricchiolano sulla ghiaia"−27.4 dB

Non ha segnalato voci in nessuna clip. Lo stesso prompt e la stessa foto, eseguiti due volte, hanno dato due tracce diverse.

La referenza da immagine a video di Alibaba non elenca un campo audio né un'opzione senza audio, anche se la nota di versione 1.1 cita la sincronizzazione tra audio e immagine (pagina dei modelli appena pubblicati di Alibaba, verificata il 2 novembre 2026). Per un file senza audio, togli la traccia dopo il download:

bash
ffmpeg -i clip.mp4 -an -c:v copy silent.mp4

L'abbiamo eseguito sulla clip con watermark: false e il risultato ha una traccia video e nessuna traccia audio. L'immagine resta identica, perché -c:v copy copia la traccia invece di ricodificarla.

Per quanto tempo restano disponibili i risultati?

Su OmniaKey il link firmato al tuo MP4 dura circa 1 ora, e il record dell'attività viene conservato 24 ore; controlla di nuovo l'attività per un URL fresco (panoramica dell'API media di OmniaKey, verificata il 2 novembre 2026). Nell'API di Alibaba, l'URL del video e l'ID dell'attività durano entrambi 24 ore, poi una richiesta restituisce UNKNOWN e il file non c'è più. Scarica appena l'attività riesce.

Quali errori incontrerai?

Nessuna delle nostre cinque esecuzioni è fallita, quindi questo elenco viene dalla documentazione dell'API video di OmniaKey, verificata il 2 novembre 2026.

StatoCosa significaCosa fare
400 invalid_requestcorpo malformato, o attività senza input.promptcontrolla la forma della richiesta sopra
400 model_price_errordurata fuori dall'intervallo del modello, o risoluzione senza prezzousa una durata e una risoluzione supportate
403 model_not_allowedla tua chiave o il tuo gruppo non include il modellocontrolla l'accesso al modello della chiave
409 idempotency_key_reusedla stessa chiave è già stata inviata con un altro corporiusa una chiave solo per ripetizioni identiche
503 no_available_channelnessun canale serve il modello o l'operazione adessoriprova più tardi, o guarda la dashboard

Un'attività che finisce in failed viene rimborsata automaticamente, quindi un rendering rifiutato costa solo il tuo tempo (panoramica dell'API media di OmniaKey, verificata il 2 novembre 2026).

L'errore da evitare è leggere un timeout dalla tua parte come attività fallita. Controlla lo stesso ID attività; inviare di nuovo avvia una seconda attività e un secondo addebito. Se invii davvero di nuovo, mantieni lo stesso Idempotency-Key e lo stesso corpo, e ricevi l'attività originale.

Quanto costa una clip HappyHorse 1.1?

Una clip da 5 secondi in 720P costa $0.70 al prezzo di listino di Alibaba a Singapore. Ecco i prezzi al secondo di Alibaba, dalla pagina dei prezzi verificata il 2 novembre 2026:

RisoluzioneSingaporePechino e Global
480P$0.07$0.0618845
720P$0.14$0.123769
1080P$0.18$0.165026

Il conto è il prezzo al secondo moltiplicato per i secondi di output. Le richieste fallite non vengono addebitate. Singapore include anche una quota gratuita di 10 secondi, valida 90 giorni. Nella pagina dei prezzi, i prezzi Global valgono per Francoforte, Virginia e Tokyo.

OmniaKey fattura al secondo di output renderizzato e addebita in anticipo alla creazione dell'attività, con rimborso automatico delle attività fallite o annullate; per le tariffe attuali vedi la pagina HappyHorse 1.1.

Si può chiamare Alibaba Cloud direttamente?

Sì. HappyHorse è servito su Alibaba Cloud Model Studio, con endpoint regionali per Singapore, Stati Uniti (Virginia), Pechino, Francoforte e Tokyo (referenza dell'API da immagine a video di Alibaba, verificata il 2 novembre 2026). Le nostre esecuzioni sono passate dall'API di OmniaKey, quindi quanto segue viene dai documenti di Alibaba.

  • Crea con POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis per Singapore.
  • Invia l'intestazione X-DashScope-Async: enable, altrimenti la richiesta fallisce con "current user api does not support synchronous calls".
  • Controlla GET .../api/v1/tasks/{task_id} ogni 15 secondi circa; lo stato passa per PENDING, RUNNING, SUCCEEDED, FAILED, CANCELED, UNKNOWN.
  • Tieni modello, endpoint e chiave nella stessa regione, perché le chiamate tra regioni falliscono.
  • Una chiave ottiene 5 richieste al secondo e 5 attività simultanee (pagina dei limiti di richiesta di Alibaba, verificata il 2 novembre 2026).

La pagina dei prezzi elenca Tokyo, ma quella dei limiti non elenca lì da immagine a video 1.1, quindi Tokyo resta non confermata.

Domande frequenti

Serve un prompt per HappyHorse da immagine a video?

Su OmniaKey sì: un'attività senza input.prompt riceve 400 invalid_request (documentazione dell'API video di OmniaKey, verificata il 2 novembre 2026). L'API di Alibaba tratta il prompt come facoltativo e usa solo il primo fotogramma. In entrambi i casi, nomina il movimento e lo spostamento di camera, come i nostri prompt qui sopra.

Come tolgo la filigrana Happy Horse?

Invia parameters.watermark: false. Il valore predefinito true disegna un piccolo testo bianco "Happy Horse" nell'angolo in basso a destra; la nostra seconda clip di orbita, inviata con false, è tornata pulita.

Come imposto il rapporto d'aspetto?

Ritaglia la foto. Da immagine a video non ha un campo ratio e la clip segue la forma del primo fotogramma, quindi la nostra foto 16:9 ha dato una clip 16:9 e il ritratto una clip 9:16. Tieni il ritaglio tra 1:2.5 e 2.5:1.

Esiste HappyHorse 1.5?

Niente dopo la 1.1 compare nella lista dei modelli, nelle tabelle dei prezzi né nella pagina del ciclo di vita di Alibaba al 2 novembre 2026, e la versione più recente di quelle pagine è happyhorse-1.1-i2v, pubblicata il 16 giugno 2026. Alcuni siti usano il nome "Happy Horse 1.5".

HappyHorse 1.1 è meglio della 1.0 per da immagine a video?

Alibaba dice che la 1.1 migliora la qualità visiva, la resa del movimento e la coerenza tra clip, e la pagina dei prezzi elenca un livello 480P solo per la 1.1. La 1.1 è uscita il 16 giugno 2026 e la 1.0 il 22 aprile 2026. Alla tariffa di Singapore di Alibaba, 1080P costa $0.18 al secondo nella 1.1 contro $0.24 nella 1.0.

Fonti controllate

Documentazione propria di OmniaKey, verificata il 2 novembre 2026: API video e panoramica dell'API media.

Modelli citati in questo articolo

HappyHorse 1.1da immagine a videovideo IAAPI videoPython

Articoli correlati

Articoli recenti

Guide popolari