Alibaba: HappyHorse 1.0
Alibaba HappyHorse 1.0 mencipta video pendek dengan bunyi daripada teks, imej pertama atau sehingga sembilan imej rujukan. Mod penjanaannya menghasilkan MP4 3–15 saat pada 24 fps dalam 720p atau 1080p. Profil suntingan video 1.0 yang dinamakan secara berasingan menyemak rakaman yang dibekalkan dengan rujukan visual pilihan dan hadnya sendiri.
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.0 ialah edisi penciptaan video dengan profil bernama teks-ke-video, imej-ke-video bingkai pertama dan rujukan-ke-video. Pembuat menerangkan gerakan yang meyakinkan dari segi fizikal, pemahaman semantik dan penyelarasan audiovisual sebagai fokus kreatifnya. Profil rujukannya boleh menggunakan sehingga sembilan imej untuk membimbing subjek dan adegan. Artifak berguna ialah klip pendek dengan bunyi: adegan baharu, animasi daripada imej pegun pembukaan yang disediakan atau syot watak atau produk berpandukan rujukan.
Untuk adegan teks, tentukan subjek, latar, tindakan dan kamera bersama bunyi yang dimaksudkan. Untuk adegan atas meja, tunjukkan model perahu layar kecil bergerak melalui dulang air cetek sementara kamera mengikutinya pada paras meja. Semakan kemudian boleh memeriksa bentuk perahu, skala adegan, gerakan air dan hubungan antara gerakan dengan bunyi. Tindakan tertumpu lebih mudah dinilai daripada urutan padat yang detik pentingnya tidak dinyatakan dengan jelas.
Untuk penjanaan bingkai pertama, gunakan imej pegun yang subjek dan komposisinya sudah sesuai dengan pembukaan yang dikehendaki. Terangkan gerakan berikutnya dan laluan kamera. Profil imej 1.0 tepat pembuat menerima input teks dan imej, manakala matriks penjanaannya mengenal pasti ini sebagai imej-ke-video bingkai pertama. Sediakan pemangkasan serta butiran produk atau watak yang kelihatan sebelum syot dijana. Periksa sama ada butiran itu kekal dapat dikenali sepanjang pergerakan, bukannya menilai bingkai pembukaan sahaja.
Rujukan-ke-video menggabungkan orang, produk, gaya atau latar yang ditunjukkan dalam sumber visual menjadi adegan yang baru diterangkan. Halaman model rujukan 1.0 tepat mendokumentasikan sehingga sembilan imej. Tetapkan peranannya dalam taklimat dan terangkan cara subjek patut bertindak dalam adegan. Pameran produk boleh membezakan rujukan item daripada lokasi sekeliling atau gaya visual. Penekanan kestabilan pembuat ialah matlamat semakan: bandingkan subjek, tanda dan peletakan dengan rujukan sebenar sepanjang klip.
Keluarga 1.0 turut mempunyai profil suntingan video yang dinamakan secara berasingan untuk perubahan gaya serta semakan setempat atau lebih luas pada rakaman sedia ada. Profil itu mengambil tepat satu video sumber dan sifar hingga lima imej rujukan, berbanding susunan sembilan imej bagi penjanaan rujukan. Nyatakan perkara yang patut berubah dan perkara yang patut kekal, seperti mengubah pakaian sambil mengekalkan orang, pergerakan dan latar. Hasil suntingan perlu dibandingkan dengan seluruh klip sumber, bukannya hanya bingkai yang menunjukkan penggantian yang dimaksudkan.
Panduan suntingan 1.0 tepat menerima rakaman sumber MP4 atau MOV, mengesyorkan H.264 dan membenarkan tempoh sumber daripada tiga hingga enam puluh saat. Ia menyenaraikan maksimum 100 MB, sisi pendek sekurang-kurangnya 360 piksel, sisi panjang tidak melebihi 4,096 piksel, nisbah antara 1:2.5 dengan 2.5:1 dan kadar bingkai input daripada lapan hingga enam puluh fps. Output suntingan terhad kepada tiga hingga lima belas saat: sumber sepanjang lima belas saat atau kurang mengekalkan tempohnya, manakala sumber lebih panjang hanya menggunakan lima belas saat pertama. Pangkas petikan yang dimaksudkan sebelum menyediakan suntingan apabila tindakan penting berlaku kemudian dalam sumber.
Imej rujukan pilihan profil suntingan mempunyai had dua puluh MB sendiri dan keperluan format JPEG/JPG, PNG atau WEBP, dengan kedua-dua dimensi sekurang-kurangnya 300 piksel dan julat nisbah yang sama seperti didokumentasikan. Panduan turut membezakan olahan audio automatik daripada pengekalan audio asal. Sediakan rujukan yang mengenal pasti perubahan yang dimaksudkan dan pilih cara bunyi sumber patut berkait dengannya. Ini ialah kawalan khusus profil penyuntingan 1.0, berasingan daripada mod penjanaan adegan baharu.
Untuk mod penjanaan 1.0, matriks tepat pembuat menyenaraikan 720p atau 1080p, tiga hingga lima belas saat, MP4 pada 24 fps dan audio. Profil suntingan turut mengeluarkan 720p atau 1080p dalam had lima belas saatnya. Aliran tugas yang didokumentasikan memulangkan pengecam pemprosesan dahulu dan lokasi video lengkap selepas berjaya; lokasi hasil sah selama dua puluh empat jam. Simpan klip sebenar, prompt dan rujukan semasa menyediakan suntingan produksi, dan periksa pembingkaian, tempoh serta bunyi yang dipulangkan bersama-sama.
HappyHorse 1.1 menambah pilihan penjanaan 480p dan penambahbaikan bernama dalam butiran visual, gerakan dan konsistensi merentas klip. Dakwaan penjanaan dalam versi yang lebih baharu itu tidak menjamin keupayaan yang sama bagi revisi khusus profil 1.0. Persediaan 1.0 yang berguna mengikuti mod terpilih dan bahan sumber sebenar. Semak identiti, sentuhan, geometri objek, teks dan bunyi, kemudian jadikan pembetulan seterusnya konkrit. Untuk klip suntingan, periksa juga bahawa butiran asal penting di luar perubahan yang diminta kekal sesuai untuk adegan yang dimaksudkan.
Ailoot Ultra · Video POST /v1/videos alibaba/happyhorse-1.0
alibaba/happyhorse-1.0Pengenalan
Alibaba HappyHorse 1.0 mencipta video pendek dengan bunyi daripada teks, imej pertama atau sehingga sembilan imej rujukan. Mod penjanaannya menghasilkan MP4 3–15 saat pada 24 fps dalam 720p atau 1080p. Profil suntingan video 1.0 yang dinamakan secara berasingan menyemak rakaman yang dibekalkan dengan rujukan visual pilihan dan hadnya sendiri.
- Input yang diterima
- Teks · Imej
- Hasil
- Video
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Video POST /v1/videos
- Input
text,image- Output
video- Format output
- bait MP4 asal; tanpa penormalan atau pengekodan semula
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had alibaba/happyhorse-1.0 | Lalai— |
Medanprompt | Jenisstring | KeperluanDiperlukan | Nilai & had | Lalai— |
Medanduration | Jenisinteger | KeperluanDiperlukan | Nilai & had 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 Minimum: 1 Maksimum: 600 | Lalai— |
Medanresolution | Jenisstring | KeperluanPilihan | Nilai & had 720p, 1080p | Lalai— |
Medanaspect_ratio | Jenisstring | KeperluanPilihan | Nilai & had 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21 | Lalai— |
Medangenerate_audio | Jenisboolean | KeperluanPilihan | Nilai & had false | Lalai— |
Medanframe_images | Jenisarray | KeperluanPilihan | Nilai & had Item minimum: 1 Item maksimum: 1 Kandungan input: Tatasusunan objek bingkai. Setiap objek mempunyai type=image_url, image_url yang mengandungi url dan frame_type. Gunakan URL imej HTTPS dan tetapkan frame_type kepada first_frame. Setiap peranan bingkai boleh muncul paling banyak sekali. Kunci tepat: type, image_url, frame_type Syarat: Kunci ini menerangkan setiap objek bingkai; image_url hanya mengandungi url. Gugurkan frame_images untuk permintaan teks sahaja. | Lalai— |
Medaninput_references | Jenisarray | KeperluanPilihan | Nilai & had | Lalai— |
Medansize | Jenisstring | KeperluanPilihan | Nilai & had 1280x720, 720x1280, 720x720, 960x720, 720x960, 1680x720, 720x1680, 1920x1080, 1080x1920, 1080x1080, 1440x1080, 1080x1440, 2520x1080, 1080x2520 Corak: ^[1-9][0-9]*x[1-9][0-9]*$ | Lalai— |
Medanseed | Jenisinteger | KeperluanPilihan | Nilai & had Minimum: -9,223,372,036,854,775,808 Maksimum: 9,223,372,036,854,775,807 | Lalai— |
Medancallback_url | Jenisstring | KeperluanPilihan | Nilai & had Corak: ^https:// | Lalai— |
Medansession_id | Jenisstring | KeperluanPilihan | Nilai & had | Lalai— |
Medantrace | Jenisobject | KeperluanPilihan | Nilai & had | Lalai— |
Medanuser | Jenisstring | KeperluanPilihan | Nilai & had | Lalai— |
Gabungan bahan input
Teks kepada video · Prompt bertulis. · Diperlukan: model, prompt, duration
Berikan prompt sebagai teks dan tempoh dalam saat bulat. Pilih resolusi yang disokong; tambah nisbah bidang atau gunakan saiz yang disenaraikan.
model: Jenis: string · alibaba/happyhorse-1.0
prompt: Jenis: string · Bait UTF-8 maksimum: 10,000 · Aksara selain ruang kosong diperlukan: Ya
Imej kepada video · Prompt bertulis dan imej bingkai pertama. · Diperlukan: model, prompt, duration, frame_images
frame_images ialah tatasusunan. Setiap objek bingkai mempunyai type, image_url dan frame_type; image_url mengandungi url. Tetapkan type kepada image_url. Gunakan first_frame. Setiap peranan bingkai boleh muncul paling banyak sekali. Berikan URL imej HTTPS awam bagi setiap bingkai. Pilih resolusi yang disokong; tambah nisbah bidang atau gunakan saiz yang disenaraikan.
Kunci tepat: type, image_url, frame_type
model: Jenis: string · alibaba/happyhorse-1.0
prompt: Jenis: string · Bait UTF-8 maksimum: 10,000 · Aksara selain ruang kosong diperlukan: Ya
Reference to video · Prompt bertulis dan rujukan imej yang disokong. · Diperlukan: model, prompt, duration, input_references
input_references ialah tatasusunan objek. Tetapkan type kepada image_url dan gunakan medan sepadan yang mengandungi url. Gunakan pautan HTTPS awam. Gugurkan frame_images untuk memilih mod rujukan. Pilih resolusi yang disokong; tambah nisbah bidang atau gunakan saiz yang disenaraikan.
model: Jenis: string · alibaba/happyhorse-1.0
prompt: Jenis: string · Bait UTF-8 maksimum: 10,000 · Aksara selain ruang kosong diperlukan: Ya
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, prompt, duration |
Parametermaterial_types | Kontraktext, image |
Parameteradditional_properties | Kontrakfalse |
Parameteroptional_controls | Kontrakresolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user |
Kitar hayat: submit_once_poll_original
GET /v1/videos/{public_id}
GET /v1/videos/{public_id}/content
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.3388 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.3388 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'
from pathlib import Path
Path('request.json').write_text('{"aspect_ratio":"16:9","duration":3,"model":"alibaba/happyhorse-1.0","prompt":"A serene mountain landscape at sunset","resolution":"720p"}', encoding='utf-8')
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
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path('result.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
Terima dan simpan hasil
Ailoot Ultra · Video
pautan kandungan bertandatangan milik anda
GET /v1/videos/{public_id}GET /v1/videos/{public_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.
Simpan setiap output sebenar milik anda berserta metadata ukuran yang dikembalikan.
Jika respons asal perlu disemak
503 result_pending_check + id asal + X-Should-Retry:false; jangan sekali-kali ulang operasi asal
Medan respons
| Medan | Jenis | Maksud |
|---|---|---|
Medanindex | Jenisinteger | MaksudKedudukan video ini dalam senarai output dengan indeks bermula dari sifar. |
Medancontent_url | Jenisstring | MaksudURL muat turun HTTPS bertandatangan untuk video siap ini. |
Medansha256 | Jenisstring | null | MaksudRingkasan SHA-256 bagi bait video asal; null jika tidak tersedia. |
Medansize_bytes | Jenisinteger | null | MaksudSaiz fail video asal dalam bait; null jika tidak tersedia. |
Medanduration_ms | Jenisinteger | null | MaksudTempoh video yang diukur dalam milisaat; null jika tidak tersedia. |
Medanwidth | Jenisinteger | null | MaksudLebar video dalam piksel; null jika tidak tersedia. |
Medanheight | Jenisinteger | null | MaksudKetinggian video dalam piksel; null jika tidak tersedia. |
Medanvideo_codec | Jenisstring | null | MaksudPengecam codec video; null jika tidak direkodkan. |
Medanhas_audio | Jenisboolean | null | MaksudSama ada video mengandungi trek audio; null jika tidak diukur. |
Medanaudio_codec | Jenisstring | null | MaksudPengecam codec audio; null apabila tiada pengecam direkodkan. |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons404 · not_found_error | SyaratAkses video tidak tersedia, atau ID video ini tidak ditemui. | Langkah seterusnyaSemak akses video. Untuk video sedia ada, gunakan ID awam asalnya dan kunci API yang sama. |
Respons401 · authentication_error | SyaratKunci API tidak sepadan dengan akaun yang disahkan. | Langkah seterusnyaSemak kunci API dan akses akaun anda sebelum menghantar. |
Respons400 · invalid_request_error | SyaratPermintaan tidak dapat dibaca, atau indeks muat turun tidak sah. | Langkah seterusnyaBetulkan badan permintaan. Untuk muat turun, pilih indeks output yang dikembalikan oleh tugas asal. |
Respons422 · price_unavailable | SyaratHarga konfigurasi video yang dipilih tidak dapat ditentukan. | Langkah seterusnyaPilih konfigurasi video yang disokong dan lengkapkan pilihan wajibnya sebelum menghantar permintaan yang dibetulkan. |
Respons422 · invalid_request_error | SyaratInput video atau tugas sambungan asal tidak sah. | Langkah seterusnyaGunakan input HTTPS yang sah. Untuk sambungan, gunakan ID video awam asal anda yang telah siap dengan kunci API yang sama. |
Respons402 · billing_error | SyaratBaki atau had yang tersedia tidak membenarkan penahanan dana. | Langkah seterusnyaSemak baki dan had yang tersedia sebelum menghantar permintaan baharu. |
Respons503 · server_error | SyaratPengesahan video, storan atau akses perkhidmatan tidak tersedia buat sementara waktu. | Langkah seterusnyaTunggu sehingga perkhidmatan tersedia. Jika anda sudah mempunyai ID video, semak tugas asal tersebut dan jangan cipta penjanaan lain. |
Respons503 · result_pending_check | SyaratHasil video asal dan caj perlu disemak. | Langkah seterusnyaSimpan ID video yang dikembalikan dan semak tugas tersebut. Jangan hantar permintaan penjanaan gantian semasa semakan sedang berjalan. |
Respons503 · owned_result_unavailable | SyaratMuat turun video sedia ada tidak tersedia buat sementara waktu. | Langkah seterusnyaSemak tugas video yang sama kemudian dan muat turun output sedia ada. Penjanaan baharu mencipta operasi berasingan. |
Respons409 · video_not_ready | SyaratKandungan video belum diterbitkan. | Langkah seterusnyaSemak status tugas asal. Muat turun selepas statusnya melaporkan completed; jika statusnya melaporkan failed, ikuti notis semakan cajnya. |
Alias
Alias model
Ailoot Ultra alibaba/happyhorse-1.0
Alias laluan kaedah
Gunakan laluan kaedah yang dipaparkan di atas.
ID pemanggil berkaitan
FAQ · Alibaba: HappyHorse 1.0
- Apakah input dan hasil yang tersedia?
POST /v1/videos·alibaba/happyhorse-1.0:text,image→video- Apakah medan yang digunakan oleh permintaan?
POST /v1/videos·alibaba/happyhorse-1.0:model,prompt,duration,resolution,aspect_ratio,generate_audio,frame_images,input_references,size,seed,callback_url,session_id,trace,user- Apakah had yang terpakai?
POST /v1/videos·alibaba/happyhorse-1.0:duration.minimum:1;duration.maximum:600;frame_images.max_items:1;frame_images.min_items:1;seed.minimum:-9223372036854775808;seed.maximum:9223372036854775807