HappyHorse 1.1 görselden videoya: API rehberi ve 5 gerçek klip
Bir betik fotoğrafı gönderir, görevi yoklar ve MP4'ü kaydeder. Alanlar, filigran ve ses sürprizleri, 2 Kasım 2026'da ürettiğimiz 5 klip.

Bu sayfada
- Kısa cevap
- HappyHorse 1.1 görselden videoya ilk çağrıdan önce ne gerekir?
- İstek hangi alanları taşır?
- Python betiği
- Yaptığımız beş klip
- Kulaklığın etrafında dönüş
- Yağmurda portre
- Göle doğru yaklaşma
- Tilki illüstrasyonu
- Dosyaların ölçtüğü değerler
- Kliplerde neden ses var?
- Sonuçlar ne kadar süre erişilebilir?
- Hangi hatalarla karşılaşırsınız?
- HappyHorse 1.1 klibi ne kadar?
- Alibaba Cloud'u doğrudan arayabilir miyim?
- Sık sorulan sorular
- HappyHorse görselden videoya için prompt gerekli mi?
- Happy Horse filigranını nasıl kaldırırım?
- En-boy oranını nasıl ayarlarım?
- HappyHorse 1.5 var mı?
- HappyHorse 1.1 görselden videoya için 1.0'dan daha mı iyi?
- Kontrol edilen kaynaklar
Sabit bir görseli HappyHorse 1.1 görselden videoya ile canlandırmak için fotoğrafı first_frame alanına, https://api.omniakey.com/v1/media/tasks adresine happyhorse-1.1-i2v model kimliğiyle gönderin, görevi yoklayın ve MP4'ü indirin. 720P'deki 5 saniyelik beş klibimiz 2 Kasım 2026'da 92 ile 158 saniye arasında sürdü. Hepsinin içinde istemediğimiz müzik vardı ve varsayılan ayar "Happy Horse" filigranı ekliyor.
Kısa cevap
- İstek:
happyhorse-1.1-i2vmodeli,image_to_videoişlemi veinput.mediaiçinde tam olarak birfirst_frame. - En-boy oranı:
ratioalanı olmadığı için klip fotoğrafınızın oranını izler. - Süre ve boyut: 480P, 720P veya 1080P'de 3 ile 15 saniye;
resolutionalanını her seferinde gönderin, çünkü Alibaba'da varsayılan 1080P. - Filigran: varsayılan olarak açık,
watermark: falseile kapanıyor. - Ses: beş klibin hepsinde müzik vardı, Alibaba'nın API'si hiçbir ses anahtarı listelemiyor ve
ffmpegizi kaldırıyor.
HappyHorse 1.1 görselden videoya ilk çağrıdan önce ne gerekir?
Üç şey: bir anahtar, Python 3 ve Alibaba kurallarının kabul ettiği bir fotoğraf.
- Anahtar
OMNIAKEY_API_KEYiçinde. Betik onu Bearer jetonu olarak gönderiyor, yani kodda durmuyor. - Hiçbir şey kurmadan Python 3. Betik yalnızca standart kütüphaneyi kullanıyor.
- Alibaba'nın görselden videoya API başvurusuna uyan bir fotoğraf: JPEG, JPG, PNG veya WEBP; genişlik ve yükseklik en az 300 piksel; 20 MB'a kadar; 1:2.5 ile 2.5:1 arası en-boy oranı. Alibaba piksel üst sınırı vermiyor.
Zorluk boyutta: gömülü görsel istek gövdesinde gidiyor ve gövde Base64 dahil 1 MiB'a sığmalı (OmniaKey medya API'sine genel bakış, 2 Kasım 2026'da doğrulandı). Betik 700 KB üzerinde duruyor; daha büyükse görseli küçültün ya da herkese açık bir HTTPS adresi verin. 2K fotoğrafımız 2.254.819 bayttı ve bu macOS komutu onu 92.212 bayta indirdi:
sips -s format jpeg -s formatOptions 85 -Z 1280 still.jpg --out still-small.jpg
İstek hangi alanları taşır?
Görevi dokuz alan tanımlıyor: üçü üst düzeyde, ikisi input içinde ve dördü parameters içinde.
| Alan | Değer | Notlar |
|---|---|---|
model | happyhorse-1.1-i2v | görselden videoya 1.1 modelinin kimliği |
type | video | görevin ürettiği dosya türü |
operation | image_to_video | öneksiz ad |
input.prompt | metin | OmniaKey zorunlu tutuyor, Alibaba'nın API'si isteğe bağlı sayıyor; Çince olmayan 5,000 veya Çince 2,500 karaktere kadar, daha uzun metin kesiliyor |
input.media | tam olarak bir {"type": "first_frame", "url": ...} | herkese açık HTTPS adresi ya da data URI |
parameters.resolution | 480P, 720P veya 1080P | her zaman gönderin: Alibaba'da varsayılan 1080P |
parameters.duration | 3 ile 15 arası tam saniye | OmniaKey'de zorunlu |
parameters.watermark | true (varsayılan) veya false | false "Happy Horse" metnini kaldırıyor |
parameters.seed | 0 ile 2147483647 | aynı seed bile aynı klibi garanti etmiyor |
Dört ayrıntı kolayca gözden kaçıyor.
ratioalanı yok: klip fotoğrafınızın en-boy oranını koruyor (Alibaba görselden videoya API başvurusu, 2 Kasım 2026'da doğrulandı).- Alibaba sayfalarında negatif prompt alanı yok.
- Her oluşturma çağrısı
Idempotency-Keybaşlığı istiyor. Aynı gövdeyle tekrarlamak özgün görevi döndürüyor ve asla iki kez ücret almıyor; başka bir gövdeyle409 idempotency_key_reusedgeliyor (OmniaKey video API belgeleri, 2 Kasım 2026'da doğrulandı). - Çıktı boyutu değişiyor: OmniaKey belgelerinde 1200×630 bir fotoğraf 720P'de 1324×696 olarak dönüyor.
Python betiği
Bu, çalıştırdığımız dosyanın aynısı, yalnızca standart kütüphaneyle.
"""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])
hh_i2v.py olarak kaydedin ve çalıştırın:
export OMNIAKEY_API_KEY="your-omniakey-api-key"
python3 hh_i2v.py still.jpg "The camera slowly orbits the headphones." clip.mp4
watermark: false ile yaptığımız çalıştırma şunu yazdı:
task task_QqK3ZdAd72vmK1DSOuOxXSytBSaJ244v queued
succeeded after 91 s
saved data/clips/c5-orbit-nowm.mp4
Betikte beş nokta önemli.
- Görevi 10 saniyede bir yokluyor.
- 15 dakika sonra, görevi yeniden göndermemeyi söyleyen bir mesajla vazgeçiyor.
- Ağ hatasında yeniden deniyor ve tekrarlanan oluşturma
Idempotency-Keydeğerini koruyor, böylece ikinci bir ücret yerine özgün görevi alıyorsunuz. - Dosyayı görev başarılı olur olmaz kaydediyor, çünkü imzalı indirme adresi kısa ömürlü.
- Her istekte bir User-Agent gönderiyor: Python'un varsayılanı, 29 Ekim 2026'daki Kling 3.0 API testimizde Cloudflare'den
error code: 1010ile HTTP 403 aldı.
Yaptığımız beş klip
Nano Banana 2.1 ile dört fotoğraf ürettik ve filigranı denemek için kulaklık görselini iki kez çalıştırdık. Böylece beş klip çıktı, hepsi 5 saniye ve 720P, 2 Kasım 2026'da. Portre, göl ve tilki klipleri varsayılan ayarlarla çıktı, yani filigran o karelerde görünüyor.
Kulaklığın etrafında dönüş
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.

Kamera kulaklığın bir yanından diğerine geçiyor ve kulaklık kaidede kalıyor. Orta karelerde, fotoğrafta olmayan bir fonun kavisli kenarı arkada beliriyor ve promptta istenen ışık bandı neredeyse görünmüyor.
Aynı promptu aynı fotoğrafta iki kez çalıştırdık, bir kez varsayılan ayarlarla ve bir kez watermark: false ile, köşe farkı gösteriyor.

Yağmurda portre
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.

Soldaki bakıştan kameraya dönüp gülümsüyor, promptun verdiği sırayla, ve filigran her karede var. Prompt hafif bir yaklaşma istiyordu, kadraj belden yukarıdan yüzün yakın planına geçiyor.
Göle doğru yaklaşma
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.

Kamera istendiği gibi kayığa doğru yaklaşıyor. Sonunda kayık neredeyse tüm kadrajı dolduruyor ve teknenin gövdesinden dalgalar yayılıyor.
Tilki illüstrasyonu
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.

Düz illüstrasyon stili ilk kareden son kareye korunuyor ve turuncu yapraklar düşüyor. Kamera tüm ağaçtan tilkinin yakın görünümüne yaklaşıyor, bunu prompt hiç istememişti; kitabın sayfaları kalkıyor ama kareler patinin bir sayfayı çevirdiğini doğrulamıyor.

4 promptumuzun 2'sinde kamera istediğimizden fazla hareket etti, bu yüzden kadrajı kısa bir denemeyle kontrol edin. 480P'de 3 saniyelik bir klip, belgelerin listelediği en kısa ve en düşük seçenek (Alibaba görselden videoya API başvurusu, 2 Kasım 2026'da doğrulandı).
Dosyaların ölçtüğü değerler
| Klip | Oran | Piksel | Kare | Süre | Bayt |
|---|---|---|---|---|---|
| Dönüş, varsayılan | 16:9 | 1286×716 | 123 | 128 sn | 1.486.548 |
Dönüş, watermark: false | 16:9 | 1286×716 | 121 | 98 sn | 1.320.527 |
| Yağmurda portre | 9:16 | 716×1286 | 123 | 158 sn | 2.108.577 |
| Göl | 16:9 | 1286×716 | 123 | 131 sn | 2.691.558 |
| Tilki | 1:1 | 960×960 | 123 | 92 sn | 2.405.557 |
Her dosya 5 istediğimiz hâlde 5.16 saniye gösteriyor: bu ses izi, video izi ise 123 karede 5.13 saniye ve 121 karede 5.04 saniye sürüyor. Beşi de 24 fps H.264 ve iki kanallı AAC izi, ve bir kesme algılama betiği hiç kesme bulmadı.
Kliplerimiz gönderimden indirmeye 92 ile 158 saniye arasında sürdü; Alibaba belgelerinin görselden videoya görevleri için verdiği 1–5 dakikaya karşı (Alibaba görselden videoya API başvurusu, 2 Kasım 2026'da doğrulandı). 480P, 1080P, başka süreler, seed, herkese açık görsel adresi, HappyHorse 1.0 ve Alibaba'nın kendi uç noktasını test etmedik. Modeller arasında seçim yapmak için HappyHorse 1.1 ile Seedance 2.0 karşılaştırmasına ve HappyHorse 1.1 ile Kling 3.0 karşılaştırmasına bakın. Klibi kodsuz tekrarlamak için HappyHorse 1.1 yapay zeka video üreticisinde var.
Kliplerde neden ses var?
HappyHorse 1.1 beş klibin hepsine müzik ekledi, oysa promptlarımızın hiçbiri bunu istememişti. Kimse dinlemedi: her izi tanımlaması için Gemini 3.8 Flash modeline OmniaKey API'si üzerinden sorduk.
| Klip | Modelin tanımı | Ortalama ses düzeyi |
|---|---|---|
| Dönüş, varsayılan | "Senkoplu perküsyon, el çırpmaları ve yumuşak synth akorlarıyla hip-hop ritmi." | −19.5 dB |
Dönüş, watermark: false | "Düzenli vuruşlu ve melodik synth tonlu, sakin ve ritmik elektronik müzik" | −20.5 dB |
| Yağmurda portre | "Hafif atmosferik dokuyla yavaş, hüzünlü ve yumuşak bir piyano melodisi" | −22.6 dB |
| Göl | "Yavaş, yumuşak ve duygusal bir piyano melodisi" | −20.2 dB |
| Tilki | "Yumuşak çan tonlarıyla çalınan sakin ve yumuşak ortam melodisi" ve "çakıl üzerinde gıcırdayan adımlar" | −27.4 dB |
Hiçbir klipte ses bildirmedi. Aynı prompt ve aynı fotoğraf iki kez çalıştırıldığında iki farklı iz çıktı.
Alibaba'nın görselden videoya başvurusu ses alanı ya da sessiz seçeneği listelemiyor, oysa 1.1 sürüm notu ses ile görüntü arasındaki eşitlemeden söz ediyor (yeni çıkan modeller sayfası, Alibaba, 2 Kasım 2026'da doğrulandı). Sessiz bir dosya için izi indirdikten sonra kaldırın:
ffmpeg -i clip.mp4 -an -c:v copy silent.mp4
Bunu watermark: false klibinde çalıştırdık ve sonuçta video izi var, ses izi yok. Görüntü tamamen aynı kalıyor, çünkü -c:v copy izi yeniden kodlamak yerine kopyalıyor.
Sonuçlar ne kadar süre erişilebilir?
OmniaKey'de MP4'ünüzün imzalı bağlantısı yaklaşık 1 saat yaşıyor ve görev kaydı 24 saat saklanıyor; taze bir adres için görevi yeniden yoklayın (OmniaKey medya API'sine genel bakış, 2 Kasım 2026'da doğrulandı). Alibaba'nın kendi API'sinde video adresi ve görev kimliği 24 saat yaşıyor, sonra bir istek UNKNOWN döndürüyor ve dosya gitmiş oluyor. Görev başarılı olur olmaz indirin.
Hangi hatalarla karşılaşırsınız?
Beş çalıştırmamızın hiçbiri başarısız olmadı, yani bu liste OmniaKey video API belgelerinden geliyor, 2 Kasım 2026'da doğrulandı.
| Durum | Anlamı | Ne yapmalı |
|---|---|---|
400 invalid_request | bozuk gövde ya da input.prompt olmayan görev | yukarıdaki istek biçimini kontrol edin |
400 model_price_error | modelin aralığı dışında süre ya da fiyatı olmayan çözünürlük | desteklenen bir süre ve çözünürlük kullanın |
403 model_not_allowed | anahtarınız veya grubunuz modeli içermiyor | anahtarın model erişimini kontrol edin |
409 idempotency_key_reused | aynı anahtar başka bir gövdeyle gönderilmiş | anahtarı yalnızca aynı tekrarlarda kullanın |
503 no_available_channel | şu anda modeli veya işlemi sunan kanal yok | biraz sonra deneyin ya da panele bakın |
failed ile biten bir görev otomatik iade ediliyor, yani reddedilen bir render yalnızca zamanınıza mal oluyor (OmniaKey medya API'sine genel bakış, 2 Kasım 2026'da doğrulandı).
Kaçınılacak hata, kendi tarafınızdaki bir zaman aşımını görev başarısızlığı sanmak. Aynı görev kimliğini yoklayın; yeniden göndermek ikinci bir görev ve ikinci bir ücret başlatıyor. Gerçekten yeniden gönderecekseniz aynı Idempotency-Key ve aynı gövdeyi koruyun, özgün görevi alırsınız.
HappyHorse 1.1 klibi ne kadar?
720P'de 5 saniyelik bir klip, Alibaba'nın Singapur liste fiyatıyla $0.70 tutuyor. Alibaba'nın 2 Kasım 2026'da doğrulanan fiyat sayfasından saniye fiyatları şöyle:
| Çözünürlük | Singapur | Pekin ve Global |
|---|---|---|
| 480P | $0.07 | $0.0618845 |
| 720P | $0.14 | $0.123769 |
| 1080P | $0.18 | $0.165026 |
Fatura, saniye fiyatı ile çıktı saniyelerinin çarpımı. Başarısız istekler ücretlendirilmiyor. Singapur'da ayrıca 90 gün geçerli 10 saniyelik ücretsiz kota var. Fiyat sayfasında Global fiyatları Frankfurt, Virginia ve Tokyo için geçerli.
OmniaKey oluşturulan çıktının saniyesine göre ücret alıyor ve görev oluşturulurken önceden tahsil ediyor, başarısız ya da iptal edilen görevler otomatik iade ediliyor; güncel tarifeler için HappyHorse 1.1 sayfasına bakın.
Alibaba Cloud'u doğrudan arayabilir miyim?
Evet. HappyHorse, Alibaba Cloud Model Studio üzerinde çalışıyor; Singapur, ABD (Virginia), Pekin, Frankfurt ve Tokyo için bölgesel uç noktalar var (Alibaba görselden videoya API başvurusu, 2 Kasım 2026'da doğrulandı). Çalıştırmalarımız OmniaKey API'si üzerinden geçti, yani aşağısı Alibaba belgelerinden.
- Singapur için
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesisile oluşturun. X-DashScope-Async: enablebaşlığını gönderin, yoksa istek "current user api does not support synchronous calls" ile başarısız oluyor.GET .../api/v1/tasks/{task_id}adresini yaklaşık 15 saniyede bir yoklayın; durumPENDING,RUNNING,SUCCEEDED,FAILED,CANCELED,UNKNOWNarasında geçiyor.- Modeli, uç noktayı ve anahtarı aynı bölgede tutun, çünkü bölgeler arası çağrılar başarısız oluyor.
- Bir anahtar saniyede 5 istek ve 5 eşzamanlı görev alıyor (hız sınırı sayfası, Alibaba, 2 Kasım 2026'da doğrulandı).
Fiyat sayfası Tokyo'yu listeliyor, ama hız sınırı sayfası orada görselden videoya 1.1'i listelemiyor, yani Tokyo doğrulanmamış kalıyor.
Sık sorulan sorular
HappyHorse görselden videoya için prompt gerekli mi?
OmniaKey'de evet: input.prompt olmayan bir görev 400 invalid_request alıyor (OmniaKey video API belgeleri, 2 Kasım 2026'da doğrulandı). Alibaba'nın kendi API'si promptu isteğe bağlı sayıyor ve yalnızca ilk kareyi kullanıyor. İki durumda da hareketi ve kamera gidişini adlandırın, yukarıdaki promptlarımız gibi.
Happy Horse filigranını nasıl kaldırırım?
parameters.watermark: false gönderin. Varsayılan true sağ alt köşeye küçük beyaz "Happy Horse" metni çiziyor; false ile gönderilen ikinci dönüş klibimiz temiz döndü.
En-boy oranını nasıl ayarlarım?
Fotoğrafı kırpın. Görselden videoya için ratio alanı yok ve klip ilk karenin biçimini izliyor, bu yüzden 16:9 fotoğrafımız 16:9, portre ise 9:16 klip verdi. Kırpmayı 1:2.5 ile 2.5:1 arasında tutun.
HappyHorse 1.5 var mı?
1.1'den sonrası 2 Kasım 2026 itibarıyla Alibaba'nın model listesinde, fiyat tablolarında ve yaşam döngüsü sayfasında görünmüyor, bu sayfalardaki en yeni sürüm 16 Haziran 2026'da yayınlanan happyhorse-1.1-i2v. Bazı siteler "Happy Horse 1.5" adını kullanıyor.
HappyHorse 1.1 görselden videoya için 1.0'dan daha mı iyi?
Alibaba, 1.1'in görüntü kalitesini, hareket aktarımını ve klipler arası tutarlılığı iyileştirdiğini söylüyor ve fiyat sayfası 480P kademesini yalnızca 1.1 için listeliyor. 1.1 16 Haziran 2026'da, 1.0 ise 22 Nisan 2026'da çıktı. Alibaba'nın Singapur tarifesinde 1080P, 1.1'de saniyede $0.18, 1.0'da $0.24.
Kontrol edilen kaynaklar
- Alibaba Cloud: HappyHorse görselden videoya API başvurusu, 2 Kasım 2026'da doğrulandı
- Alibaba Cloud: model fiyatları, 2 Kasım 2026'da doğrulandı
- Alibaba Cloud: modeller, 2 Kasım 2026'da doğrulandı
- Alibaba Cloud: yeni çıkan modeller, 2 Kasım 2026'da doğrulandı
- Alibaba Cloud: hız sınırları, 2 Kasım 2026'da doğrulandı
OmniaKey kendi belgeleri, 2 Kasım 2026'da doğrulandı: video API ve medya API'sine genel bakış.
Bu makaledeki modeller
İlgili makaleler
HappyHorse 1.1 vs Seedance 2.0: aynı prompt ile test ve fiyat
Aynı üç prompt, aynı gün: Seedance 2.0 daha iyi klipler çıkardı, HappyHorse 1.1 iki kat hızlı bitirdi.
HappyHorse 1.1 vs Kling 3.0: aynı prompt ile test ve fiyat
Aynı üç istem: HappyHorse 1.1 kalabalık sahneyi ve parfüm dönüşünü kazandı, Kling 3.0 hareketi tam yaptı.
Kling 3.0 API: metinden video isteği kodu ve gerçek klipler
Metinden videoya bir görev, kling-3.0 modeliyle tek bir POST. Aşağıda istek kodu, aldığı alanlar ve 29 Ekim 2026'da üretip ölçtüğümüz iki 5 saniyelik klip var.

