Alibaba: HappyHorse 1.1
Alibaba HappyHorse 1.1 menghasilkan video pendek bersuara dari brief teks, satu gambar bingkai pertama, atau hingga sembilan gambar referensi. Profil pembuatnya menekankan peningkatan gerakan, detail kulit, dan konsistensi karakter antarklip. Keluaran berupa MP4 berdurasi 3–15 detik pada 24 fps, dengan opsi 480p, 720p, atau 1080p.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Alibaba HappyHorse 1.1 adalah edisi generasi video dengan profil bernama terpisah untuk teks ke video, gambar ke video dari bingkai pertama, dan referensi ke video. Produsen menekankan peningkatan detail visual, gerakan, identitas karakter antarklip, kestabilan teks, dan sinkronisasi audiovisual. Hasilnya adalah video pendek bersuara, berguna untuk shot produk, animasi potret, atau adegan sederhana dengan karakter. Pilih mode masukan berdasarkan penentu adegan: konsep tertulis, gambar pembuka yang tepat, atau beberapa referensi visual.
Untuk teks ke video, jelaskan subjek, lokasi, aksi, pembingkaian, gerakan kamera, dan maksud suara. Untuk adegan aksi singkat, tampilkan pesepeda berhenti di samping kafe tepi sungai sementara kamera bergerak lembut menuju sepeda yang diparkir. Sesuaikan aksi dengan klip pendek dan jelaskan momen akhirnya. Panduan teks pembuat saat ini mengizinkan hingga 5.000 karakter non-Tionghoa atau 2.500 karakter Tionghoa dan memotong teks berlebih. Susun brief agar subjek dan aksi pentingnya dinyatakan tegas, bukan terkubur dalam kata sifat berulang.
Gambar ke video dari bingkai pertama menggunakan tepat satu gambar sebagai pembukaan. Siapkan subjek, komposisi, dan potongan yang dimaksud dalam gambar diam itu, lalu jelaskan apa yang harus bergerak atau bagaimana kamera berubah. Format gambar yang didokumentasikan adalah JPEG/JPG, PNG, dan WEBP, hingga 20 MB, dengan kedua dimensi minimal 300 piksel serta rasio aspek antara 1:2.5 dan 2.5:1. Keluaran mendekati tingkat resolusi yang dipilih sambil mempertahankan proporsi gambar sumber. Karena itu, hasil potret dimulai dengan komposisi potret yang sesuai, bukan instruksi rasio aspek yang tidak berkaitan.
Referensi ke video menerima satu hingga sembilan gambar. Prompt menggunakan [Image 1], [Image 2], dan posisi berikutnya untuk mengenalinya menurut urutan masukan. Nyatakan peran setiap referensi dan sebutkan objek atau orang yang relevan agar gambar adegan tidak disalahartikan sebagai sumber karakter. Panduan referensi menerima JPEG/JPG, PNG, atau WEBP hingga 20 MB, mewajibkan sisi terpendek minimal 400 piksel, serta menyarankan referensi jelas pada 720p atau lebih tinggi. Hindari referensi terkompresi berat yang detail pengenalnya sudah hilang.
Untuk adegan dengan beberapa referensi, tempatkan orang dari satu gambar di ruangan dari gambar lain sambil mempertahankan mantel atau produk dari gambar ketiga. Jelaskan interaksi dan kamera dalam brief yang sama. Profil referensi 1.1 menyoroti kestabilan subjek, gaya adegan, dan gerakan sinematis; periksa hasil sebenarnya untuk identitas yang dimaksud, tanda produk, dan penempatan ruang. Beberapa gambar memberi brief lebih banyak informasi, tetapi tinjauan tetap perlu memeriksa fitur mana yang terbawa ke video.
Pembuat mencantumkan keluaran 480p, 720p, dan 1080p untuk mode generasi 1.1, dengan durasi dalam detik bulat dari tiga hingga lima belas serta MP4 pada 24 fps. Respons API menjelaskan pengodean H.264. Generasi teks dan referensi menawarkan bentuk termasuk 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21, dan 21:9; generasi bingkai pertama mengikuti gambar masukan. Pilih bentuk untuk tujuan akhir dan sisakan ruang bagi teks atau elemen tata letak yang akan ditambahkan. Periksa pembingkaian video sebenarnya pada ukuran tampilan yang dimaksud.
Keluaran keluarga model ini mencakup suara. Berikan peran yang jelas kepada penampilan atau suasana dalam brief, lalu tinjau dialog, efek, atau musik latar bersama gambarnya. Jaga materi ucapan cukup singkat untuk aksi dan jeda, alih-alih memadatkan naskah panjang ke dalam satu shot pendek. Periksa gerakan bibir, atribusi pembicara, dan kata-kata sebenarnya ketika ada ucapan. Penerimaan bahasa prompt tidak dengan sendirinya menetapkan jaminan pelafalan atau masukan referensi suara terpisah.
Alur pembuat yang didokumentasikan bersifat asinkron: pengenal tugas melacak pemrosesan, dan hasil sukses menyediakan lokasi video. Tautan hasil dan kueri tugas didokumentasikan dengan masa berlaku dua puluh empat jam. Simpan klip selesai, referensi, dan prompt sebagai catatan revisi. Panduan juga mendokumentasikan kendali seed dan watermark. Seed tetap dapat membantu perbandingan, tetapi pembuat secara tegas menyatakan bahwa hasil identik tidak dijamin, sehingga nilai artefak yang dikembalikan, alih-alih menganggap satu pengaturan membenahi setiap bingkai.
HappyHorse 1.0 dan 1.1 adalah edisi terpisah. Tabel keluaran 1.1 menambahkan 480p pada opsi 720p dan 1080p milik 1.0, dan halaman model 1.1 menjelaskan peningkatan detail, gerakan, serta konsistensi. Profil penyuntingan video HappyHorse 1.0 yang bernama terpisah memiliki masukan dan batasnya sendiri, bukan mode penyuntingan yang boleh diam-diam diberikan kepada 1.1. Tinjau seluruh klip 1.1 untuk identitas, gerakan, pembingkaian, teks, dan suara, lalu buat koreksi spesifik sambil mempertahankan bagian brief yang berhasil.
Ailoot Ultra · Video POST /v1/videos alibaba/happyhorse-1.1
alibaba/happyhorse-1.1Mulai
Alibaba HappyHorse 1.1 menghasilkan video pendek bersuara dari brief teks, satu gambar bingkai pertama, atau hingga sembilan gambar referensi. Profil pembuatnya menekankan peningkatan gerakan, detail kulit, dan konsistensi karakter antarklip. Keluaran berupa MP4 berdurasi 3–15 detik pada 24 fps, dengan opsi 480p, 720p, atau 1080p.
- Masukan yang diterima
- Teks
- Hasil
- Video
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Video POST /v1/videos
- Masukan
text- Keluaran
video- Format keluaran
- mp4
- Jumlah keluaran
- Hingga 4 keluarans
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan alibaba/happyhorse-1.1 | Bawaan— |
Kolomprompt | Jenisstring | PersyaratanWajib | Nilai & batasan Panjang minimum: 1 Byte maksimum: 10.000 Satuan: byte UTF8 | Bawaan— |
Kolomduration | Jenisinteger | PersyaratanWajib | Nilai & batasan Minimum: 3 Maksimum: 15 Satuan: detik | Bawaan— |
Kolomresolution | Jenisstring | PersyaratanWajib | Nilai & batasan 720p | Bawaan— |
Kolomaspect_ratio | Jenisstring | PersyaratanWajib | Nilai & batasan 16:9 | Bawaan— |
Kombinasi bahan masukan
Teks ke video · Wajib: prompt
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, prompt, duration, resolution, aspect_ratio |
Parameterother_options | Kontrakfalse |
Parameterresolution | Kontrak720p |
Parameterprompt_max_bytes | Kontrak10000 |
Parameterduration_integer_range | Kontrak3, 15 |
Parameteraspect_ratio | Kontrak16:9 |
Parametergenerate_audio | Kontrakharus dihilangkan (bukan false); AAC disertakan |
Parametermaterial_types | Kontraktext |
Parameteradditional_properties | Kontrakfalse |
Alias metode: /v1/videos/generations, /videos, /videos/generations
Siklus hidup: 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
Buat sekali dan simpan ID yang dikembalikan.
Periksa status awal secara berkala; simpan setiap aset yang selesai beserta durasinya.
Paket
Cara menghitung biaya akhir
Tarif yang ditampilkan memperkirakan biaya sebelum pembuatan. Biaya akhir dihitung dari biaya yang tercatat untuk proses pembuatan awal. Durasi keluaran yang terukur dan kuantitas perkiraan bukanlah kuantitas akhir yang ditagihkan.
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tidak ditentukan Saat mode fast dipilih
- Mode Flex
- Tidak ditentukan Saat mode flex dipilih
- Upaya penalaran maksimum
- Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default
Perkiraan tarif untuk perbandingan
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Jadwal tarif | Jumlah perkiraan | Satuan penagihan | Kondisi penagihan | Biaya |
|---|---|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Jumlah perkiraan— | Satuan penagihan— | Kondisi penagihan— | Biaya Masukan · Token masukan · Perkiraan hanya untuk perbandingan — / 1K token Keluaran · Token keluaran · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Pembacaan cache · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Penulisan cache · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Penulisan cache, 1 jam · Perkiraan hanya untuk perbandingan — / 1K token |
| KonfigurasiHarga video | Jadwal tarif— | Jumlah perkiraan— | Satuan penagihanper detik video | Kondisi penagihanresolution: 1080p | Biaya Keluaran · Harga video · Perkiraan hanya untuk perbandingan $0.2556 per detik video |
| KonfigurasiHarga video | Jadwal tarif— | Jumlah perkiraan— | Satuan penagihanper detik video | Kondisi penagihanresolution: 720p | Biaya Keluaran · Harga video · Perkiraan hanya untuk perbandingan $0.1976 per detik video |
| KonfigurasiPerkiraan biaya pembuatan | Jadwal tarif— | Jumlah perkiraanestimasi satu kali pembuatan | Satuan penagihan— | Kondisi penagihan— | Biaya Keluaran · Perkiraan biaya pembuatan · Perkiraan hanya untuk perbandingan $0.5928 estimasi sebelum pembuatan Perkiraan ini bukan biaya tambahan maupun tarif tetap untuk proses pembuatan yang telah selesai. |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Detail tarif referensi
Jadwal referensi tingkat model tidak mengubah pemilihan metode, estimasi harga, atau biaya. Biaya aktif menggunakan tarif metode Ailoot yang dipilih.
Referensi harga konfigurasi video
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Kondisi penagihan | Biaya |
|---|---|---|
| KonfigurasiHarga video | Kondisi penagihanresolution: 720p | Biaya Keluaran · Harga video $0.1976 per detik video Acuan harga yang dipublikasikan untuk konfigurasi yang ditampilkan. Biaya akhir mengikuti konfigurasi aktual yang ditagihkan. |
| KonfigurasiHarga video | Kondisi penagihanresolution: 1080p | Biaya Keluaran · Harga video $0.2556 per detik video Acuan harga yang dipublikasikan untuk konfigurasi yang ditampilkan. Biaya akhir mengikuti konfigurasi aktual yang ditagihkan. |
Contoh permintaan
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
Terima dan simpan hasil
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
Periksa status tugas
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
Pembacaan konten lain
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
Simpan semua hasil yang selesai
Simpan setiap video yang selesai atau berkas yang dikembalikan; ambil setiap URL aset yang benar-benar dikembalikan.
data[] yang selesai memuat semua URL konten bertanda tangan milik Ailoot. Ambil setiap URL yang dikembalikan, atau gunakan endpoint konten dengan index yang diatur ke indeks keluaran aktual. Tugas awal yang gagal dapat mengembalikan charge_pending_check; periksa tugas awal itu alih-alih membuatnya lagi.
Jika respons asli perlu diperiksa
Baca tugas awal yang sudah ada; jangan pernah kirim ulang pengiriman yang statusnya tidak diketahui.
Keluaran maksimum: 4.
Kolom respons
| Kolom | Jenis | Arti |
|---|---|---|
Kolomid | Jenisstring | Arti— |
Kolomobject | Jenisstring | Arti— |
Kolommodel | Jenisstring | Arti— |
Kolomstatus | Jenisstring | Arti— |
Kolomdata[] | Jenissigned content URL | Arti— |
Kolomcharge_pending_check | Jenisboolean | Arti— |
Kolomerror.code | Jenisstring | Arti— |
Kolomerror.message | Jenisstring | Arti— |
Kolomoperation_id | Jenisstring | ArtiRespons status/konten awal HTTP503 result_pending_check: ID video publik awal yang sama sebagai id. |
Kolomerror.type | Jenisstring | Artiserver_error pada HTTP503 result_pending_check. |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiPembacaan isi permintaan mentah gagal sebelum penguraian profil video | Langkah berikutnyaSimpan respons yang dikembalikan dan perbaiki isi permintaan yang tidak dapat dibaca. |
Respons422 · price_unavailable | KondisiPenguraian profil video persis gagal, atau profil lengkap yang telah diurai tidak memiliki kartu harga persis yang siap digunakan | Langkah berikutnyaSimpan respons; gunakan profil lengkap dan persis yang diizinkan beserta kartu harga yang dipublikasikan untuknya. Cabang ini dijalankan sebelum pengiriman ke penyedia. |
Respons409 · video_not_ready | KondisiKonten hasil awal belum tersedia | Langkah berikutnyaPeriksa ID awal yang dikembalikan secara berkala dan patuhi Retry-After. |
Responsserver_error | KondisiRespons yang dikembalikan menyatakan bahwa operasi atau hasil perlu diperiksa | Langkah berikutnyaSimpan ID operasi/tugas asli yang dikembalikan, header permintaan, dan respons; lanjutkan pembacaan yang didukung untuk operasi asli tersebut. Jangan kirim ulang permintaan pembuatan. |
Respons503 · result_pending_check | KondisiGET status/konten awal: tugas belum dipublikasikan, tugas awal tidak berstatus failed/cancelled/expired, dan status lokal unknown atau status tugas awal completed. | Langkah berikutnyaSimpan id dan operation_id asli (ID video publik yang sama), respons, dan header; baca hanya status/konten awal. Jangan pernah kirim permintaan pembuatan baru. |
Alias
Alias model
Ailoot Ultra alibaba/happyhorse-1.1
Alias jalur metode
/v1/videos/generations, /videos, /videos/generations
ID pemanggil terkait
FAQ · Alibaba: HappyHorse 1.1
- Input dan hasil apa yang tersedia?
POST /v1/videos·alibaba/happyhorse-1.1:text→video- Kolom apa yang digunakan permintaan?
POST /v1/videos·alibaba/happyhorse-1.1:model,prompt,duration,resolution,aspect_ratio- Batasan apa yang berlaku?
POST /v1/videos·alibaba/happyhorse-1.1:duration.minimum:3;duration.maximum:15