Alibaba: HappyHorse 1.1
Alibaba HappyHorse 1.1 menjana video pendek dengan bunyi daripada taklimat teks, satu imej bingkai pertama atau sehingga sembilan imej rujukan. Profil pembuatnya menekankan gerakan, butiran kulit dan konsistensi watak merentas klip yang dipertingkat. Output ialah MP4 3–15 saat pada 24 fps, dengan pilihan 480p, 720p atau 1080p.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
Alibaba HappyHorse 1.1 ialah edisi penjanaan video dengan profil teks-ke-video, imej-ke-video bingkai pertama dan rujukan-ke-video yang dinamakan secara berasingan. Pengeluar menekankan penambahbaikan butiran visual, pergerakan, identiti watak merentas klip, kestabilan teks dan penyelarasan audiovisual. Hasilnya ialah video pendek dengan bunyi, berguna untuk syot produk, animasi potret atau adegan watak kecil. Pilih mod input berdasarkan apa yang patut menentukan adegan: konsep bertulis, imej pembukaan tepat atau beberapa rujukan visual.
Untuk teks-ke-video, terangkan subjek, lokasi, tindakan, pembingkaian, gerak kamera dan tujuan bunyi. Untuk adegan tindakan pendek, tunjukkan penunggang basikal berhenti di sebelah kafe tepi sungai sementara kamera bergerak lembut ke arah basikal yang diletakkan. Pastikan tindakan sesuai dengan klip pendek dan terangkan detik akhir. Panduan teks semasa pembuat membenarkan sehingga 5,000 aksara bukan Cina atau 2,500 aksara Cina dan memotong teks berlebihan. Susun taklimat supaya subjek serta tindakan pentingnya jelas, bukannya tersembunyi dalam kata sifat berulang.
Imej-ke-video bingkai pertama menggunakan tepat satu imej sebagai pembukaan. Sediakan subjek, komposisi dan pemangkasan yang dimaksudkan dalam imej pegun itu, kemudian terangkan apa yang patut bergerak atau cara kamera patut berubah. Format imej yang didokumentasikan ialah JPEG/JPG, PNG dan WEBP, sehingga 20 MB, dengan kedua-dua dimensi sekurang-kurangnya 300 piksel dan nisbah aspek antara 1:2.5 dengan 2.5:1. Output menghampiri tahap resolusi terpilih sambil mengekalkan nisbah imej sumber. Oleh itu, hasil potret bermula dengan komposisi potret sesuai, bukannya arahan nisbah aspek yang tidak berkaitan.
Rujukan-ke-video menerima satu hingga sembilan imej. Prompt menggunakan [Image 1], [Image 2] dan kedudukan seterusnya untuk mengenal pastinya mengikut susunan input. Nyatakan peranan setiap rujukan dan namakan objek atau orang berkaitan, supaya imej adegan tidak tersalah dianggap sebagai sumber watak. Panduan rujukan menerima JPEG/JPG, PNG atau WEBP sehingga 20 MB, memerlukan sisi terpendek sekurang-kurangnya 400 piksel dan mengesyorkan rujukan jelas pada 720p atau lebih tinggi. Elakkan rujukan yang sangat termampat dan sudah kehilangan butiran pengenalpastiannya.
Untuk adegan dengan beberapa rujukan, letakkan orang daripada satu imej dalam bilik daripada imej lain sambil mengekalkan kot atau produk daripada imej ketiga. Terangkan interaksi dan kamera dalam taklimat yang sama. Profil rujukan 1.1 menonjolkan kestabilan subjek, gaya adegan dan gerakan sinematik; periksa hasil sebenar untuk identiti, tanda produk dan peletakan ruang yang dimaksudkan. Beberapa imej memberikan lebih banyak maklumat kepada taklimat, tetapi semakan masih perlu memeriksa ciri yang dibawa ke video.
Pembuat menyenaraikan output 480p, 720p dan 1080p bagi mod penjanaan 1.1, dengan tempoh dalam saat bulat daripada tiga hingga lima belas dan MP4 pada 24 fps. Respons API menerangkan pengekodan H.264. Penjanaan teks dan rujukan menawarkan bentuk termasuk 16:9, 9:16, 1:1, 4:3, 3:4, 4:5, 5:4, 9:21 dan 21:9; penjanaan bingkai pertama mengikuti imej input. Pilih bentuk untuk destinasi dan tinggalkan ruang untuk kapsyen atau unsur susun atur kemudian. Periksa pembingkaian sebenar video yang dipulangkan pada saiz paparan yang dimaksudkan.
Output keluarga model merangkumi bunyi. Berikan persembahan atau suasana peranan jelas dalam taklimat, dan semak sebarang dialog, kesan atau trek latar bersama gambar. Pastikan bahan pertuturan cukup ringkas untuk tindakan dan jeda, bukannya memampatkan skrip panjang menjadi satu syot pendek. Periksa gerakan bibir, atribusi penutur dan perkataan sebenar apabila pertuturan hadir. Penerimaan bahasa prompt tidak dengan sendirinya menentukan sebutan yang dijamin atau input rujukan suara berasingan.
Aliran kerja pembuat yang didokumentasikan adalah tak segerak: pengecam tugas menjejak pemprosesan, dan hasil berjaya membekalkan lokasi video. Pautan hasil dan pertanyaan tugas didokumentasikan dengan tempoh kesahan dua puluh empat jam. Simpan klip lengkap, rujukan dan prompt sebagai rekod semakan. Panduan turut mendokumentasikan kawalan seed dan tera air. Seed tetap boleh membantu perbandingan, tetapi pembuat menyatakan secara jelas bahawa ia tidak menjamin hasil sama, maka nilai artifak yang dipulangkan, bukannya menganggap satu tetapan menetapkan setiap bingkai.
HappyHorse 1.0 dan 1.1 ialah edisi berasingan. Jadual output 1.1 menambah 480p kepada pilihan 720p dan 1080p 1.0, dan halaman model 1.1 menerangkan peningkatan butiran, gerakan dan konsistensi. Profil suntingan video HappyHorse 1.0 yang dinamakan secara berasingan mempunyai input dan had sendiri serta bukan mod penyuntingan yang boleh diberikan kepada 1.1 secara senyap. Semak seluruh klip 1.1 untuk identiti, gerakan, pembingkaian, teks dan bunyi, kemudian buat pembetulan khusus sambil mengekalkan bahagian taklimat yang berjaya.
Ailoot Ultra · Video POST /v1/videos alibaba/happyhorse-1.1
alibaba/happyhorse-1.1Pengenalan
Alibaba HappyHorse 1.1 menjana video pendek dengan bunyi daripada taklimat teks, satu imej bingkai pertama atau sehingga sembilan imej rujukan. Profil pembuatnya menekankan gerakan, butiran kulit dan konsistensi watak merentas klip yang dipertingkat. Output ialah MP4 3–15 saat pada 24 fps, dengan pilihan 480p, 720p atau 1080p.
- Input yang diterima
- Teks
- Hasil
- Video
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Video POST /v1/videos
- Input
text- Output
video- Format output
- mp4
- Bilangan output
- Sehingga 4 outputs
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had alibaba/happyhorse-1.1 | Lalai— |
Medanprompt | Jenisstring | KeperluanDiperlukan | Nilai & had Panjang minimum: 1 Bait maksimum: 10,000 Unit: bait UTF8 | Lalai— |
Medanduration | Jenisinteger | KeperluanDiperlukan | Nilai & had Minimum: 3 Maksimum: 15 Unit: saat | Lalai— |
Medanresolution | Jenisstring | KeperluanDiperlukan | Nilai & had 720p | Lalai— |
Medanaspect_ratio | Jenisstring | KeperluanDiperlukan | Nilai & had 16:9 | Lalai— |
Gabungan bahan input
Teks kepada video · Diperlukan: prompt
Parameter kaedah dan kitar hayat
| 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 | Kontrakmesti digugurkan (bukan false); AAC disertakan |
Parametermaterial_types | Kontraktext |
Parameteradditional_properties | Kontrakfalse |
Alias kaedah: /v1/videos/generations, /videos, /videos/generations
Kitar hayat: 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
Cipta sekali dan simpan ID yang dikembalikan.
Semak status asal secara berkala; simpan setiap aset siap berserta tempohnya.
Pelan harga
Cara caj akhir dikira
Kadar yang dipaparkan menganggarkan kos sebelum penjanaan. Caj akhir dikira berdasarkan kos yang direkodkan untuk penjanaan asal. Tempoh output yang diukur dan kuantiti ramalan bukan kuantiti akhir yang boleh dibilkan.
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
Anggaran kadar untuk perbandingan
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Kuantiti ramalan | Unit pengebilan | Syarat pengebilan | Caj |
|---|---|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Kuantiti ramalan— | Unit pengebilan— | Syarat pengebilan— | Caj Input · Token input · Anggaran untuk perbandingan sahaja — / 1K token Output · Token output · Anggaran untuk perbandingan sahaja — / 1K token Input · Bacaan cache · Anggaran untuk perbandingan sahaja — / 1K token Input · Penulisan cache · Anggaran untuk perbandingan sahaja — / 1K token Input · Penulisan cache, 1 jam · Anggaran untuk perbandingan sahaja — / 1K token |
| KonfigurasiHarga video | Jadual kadar— | Kuantiti ramalan— | Unit pengebilanbagi setiap saat video | Syarat pengebilanresolution: 1080p | Caj Output · Harga video · Anggaran untuk perbandingan sahaja $0.2556 bagi setiap saat video |
| KonfigurasiHarga video | Jadual kadar— | Kuantiti ramalan— | Unit pengebilanbagi setiap saat video | Syarat pengebilanresolution: 720p | Caj Output · Harga video · Anggaran untuk perbandingan sahaja $0.1976 bagi setiap saat video |
| KonfigurasiAnggaran kos penjanaan | Jadual kadar— | Kuantiti ramalananggaran untuk satu penjanaan | Unit pengebilan— | Syarat pengebilan— | Caj Output · Anggaran kos penjanaan · Anggaran untuk perbandingan sahaja $0.5928 anggaran sebelum penjanaan Anggaran ini bukan caj tambahan atau kadar tetap bagi penjanaan yang telah selesai. |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Butiran tarif rujukan
Jadual rujukan peringkat model tidak mengubah pemilihan kaedah, sebut harga atau caj. Caj aktif menggunakan kadar kaedah Ailoot yang dipilih.
Rujukan harga konfigurasi video
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Syarat pengebilan | Caj |
|---|---|---|
| KonfigurasiHarga video | Syarat pengebilanresolution: 720p | Caj Output · Harga video $0.1976 bagi setiap saat video Rujukan harga yang diterbitkan bagi konfigurasi yang ditunjukkan. Caj akhir mengikut konfigurasi sebenar yang dibilkan. |
| KonfigurasiHarga video | Syarat pengebilanresolution: 1080p | Caj Output · Harga video $0.2556 bagi setiap saat video Rujukan harga yang diterbitkan bagi konfigurasi yang ditunjukkan. Caj akhir mengikut konfigurasi sebenar yang dibilkan. |
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
Semak 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 kandungan 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 fail yang dikembalikan; dapatkan setiap URL aset yang benar-benar dikembalikan.
data[] yang lengkap mengandungi semua URL kandungan bertandatangan milik anda. Dapatkan setiap URL yang dikembalikan, atau gunakan titik akhir kandungan dengan index ditetapkan kepada indeks output sebenar. Tugas asal yang gagal mungkin mengembalikan charge_pending_check; semak tugas asal tersebut dan jangan ciptakannya semula.
Jika respons asal perlu disemak
Baca tugas asal yang sedia ada; jangan sekali-kali hantar semula penghantaran yang tidak diketahui hasilnya.
Output maksimum: 4.
Medan respons
| Medan | Jenis | Maksud |
|---|---|---|
Medanid | Jenisstring | Maksud— |
Medanobject | Jenisstring | Maksud— |
Medanmodel | Jenisstring | Maksud— |
Medanstatus | Jenisstring | Maksud— |
Medandata[] | Jenissigned content URL | Maksud— |
Medancharge_pending_check | Jenisboolean | Maksud— |
Medanerror.code | Jenisstring | Maksud— |
Medanerror.message | Jenisstring | Maksud— |
Medanoperation_id | Jenisstring | MaksudRespons status/kandungan asal HTTP503 result_pending_check: ID video awam asal yang sama sebagai id. |
Medanerror.type | Jenisstring | Maksudserver_error pada HTTP503 result_pending_check. |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratPembacaan badan permintaan mentah gagal sebelum profil video dihuraikan | Langkah seterusnyaSimpan respons yang dikembalikan dan betulkan badan permintaan yang tidak dapat dibaca. |
Respons422 · price_unavailable | SyaratProfil video tepat gagal dihuraikan, atau profil penuh yang telah dihuraikan tidak mempunyai kad harga tepat yang sedia digunakan | Langkah seterusnyaSimpan respons; gunakan profil lengkap dan tepat yang dibenarkan berserta kadnya yang diterbitkan. Cabang ini berjalan sebelum penghantaran kepada pembekal. |
Respons409 · video_not_ready | SyaratKandungan hasil asal belum tersedia | Langkah seterusnyaSemak ID asal yang dikembalikan secara berkala dan patuhi Retry-After. |
Responsserver_error | SyaratRespons yang dikembalikan menyatakan bahawa operasi atau hasil memerlukan semakan | Langkah seterusnyaSimpan ID operasi/tugas asal yang dikembalikan, pengepala permintaan dan respons; teruskan pembacaan yang disokong bagi operasi asal tersebut. Jangan hantar semula permintaan penciptaan. |
Respons503 · result_pending_check | SyaratGET status/kandungan asal: tugas belum diterbitkan, tugas asal bukan failed/cancelled/expired, dan keadaan setempat ialah unknown atau status tugas asal ialah completed. | Langkah seterusnyaSimpan id dan operation_id asal (ID video awam yang sama), respons serta pengepala; baca status/kandungan asal sahaja. Jangan sekali-kali hantar permintaan penjanaan baharu. |
Alias
Alias model
Ailoot Ultra alibaba/happyhorse-1.1
Alias laluan kaedah
/v1/videos/generations, /videos, /videos/generations
ID pemanggil berkaitan
FAQ · Alibaba: HappyHorse 1.1
- Apakah input dan hasil yang tersedia?
POST /v1/videos·alibaba/happyhorse-1.1:text→video- Apakah medan yang digunakan oleh permintaan?
POST /v1/videos·alibaba/happyhorse-1.1:model,prompt,duration,resolution,aspect_ratio- Apakah had yang terpakai?
POST /v1/videos·alibaba/happyhorse-1.1:duration.minimum:3;duration.maximum:15