Source: https://ailoot.ai/models/id/minimaxi-hailuo-02/
Canonical: https://ailoot.ai/models/id/minimaxi-hailuo-02/
Language: id

# MiniMax: Hailuo 02

[Markdown](https://ailoot.ai/models/id/minimaxi-hailuo-02/index.md) · [JSON](https://ailoot.ai/models/id/minimaxi-hailuo-02/facts.json)

## [MiniMax: Hailuo 02](https://ailoot.ai/models/id/minimaxi-hailuo-02/)

Hailuo 02 membuat video dari teks atau gambar bingkai pertama dan mendukung alur kerja bingkai pertama serta terakhir yang didokumentasikan. Perintah kamera, optimasi prompt, serta pilihan durasi dan resolusi khusus tiap mode membantu membentuk pengambilan gambar yang dituju.

- [**Ailoot Ultra · Pemrosesan video** `POST /v1/videos` `minimaxi-hailuo-02`](https://ailoot.ai/models/id/minimaxi-hailuo-02/#method-0)

Tentang model

Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.

Hailuo 02 adalah model video dari MiniMax untuk adegan berbasis teks, animasi gambar, dan alur kerja bingkai pertama serta terakhir. Deskripsi tertulis menjelaskan subjek, aksi, dan kamera, sedangkan gambar bingkai yang diberikan dapat menetapkan titik awal visual atau tujuan transisi. Pilih mode pembuatan berdasarkan materi yang sudah dimiliki dan bagian pengambilan gambar yang perlu dikontrol.

Untuk teks ke video, jelaskan aksi yang utuh dengan latar dan sudut pandang yang mudah dipahami. Adegan dapat menunjukkan perahu layar kecil yang melewati dermaga sementara kamera mengikutinya dari tepi pantai. Tentukan apa yang bergerak, detail mana yang harus tetap terlihat, dan bagaimana pengambilan gambar berakhir. Jaga agar deskripsi berfokus pada peristiwa yang dapat diamati, bukan daftar kualitas visual yang tidak terkait.

Untuk gambar ke video, siapkan bingkai pertama yang sudah menetapkan subjek dan pembingkaian yang dituju. Pembuatnya menerima gambar JPG, JPEG, PNG, dan WebP berukuran kurang dari 20 MB, dengan sisi pendek lebih dari 300 piksel dan rasio aspek antara 2:5 dan 5:2. Gunakan gambar yang memperlihatkan kontur serta ciri pentingnya, lalu jelaskan gerakan yang harus berkembang dari gambar itu.

Hailuo 02 juga memiliki mode bingkai pertama dan terakhir yang didokumentasikan. Siapkan dua gambar sebagai keadaan awal dan akhir yang dituju dalam satu rangkaian, lalu jelaskan bagaimana adegan bergerak di antaranya. Bingkai pertama menentukan pembingkaian; pembuatnya menyatakan bahwa bingkai terakhir dengan ukuran berbeda akan dipotong agar sesuai dengan bingkai pertama. Selaraskan komposisi gambar terlebih dahulu jika subjek harus tetap terlihat sepanjang transisi.

Prompt dapat berisi hingga 2000 karakter. Hailuo 02 mendukung perintah kamera dalam tanda kurung siku, termasuk push, pull, truck, pan, pedestal, tilt, zoom, tracking, dan pengambilan gambar statis. Perintah yang ditempatkan bersama dalam satu pasangan tanda kurung meminta gerakan serentak; perintah yang ditempatkan pada titik berbeda dalam deskripsi meminta gerakan berurutan. Pembuatnya menyarankan menggabungkan tidak lebih dari tiga gerakan, jadi pilih aksi kamera yang membuat subjek lebih mudah dipahami secara visual.

Durasi dan resolusi terkait dengan mode. Teks ke video mendokumentasikan enam atau sepuluh detik pada 768P dan enam detik pada 1080P. Gambar ke video juga mendokumentasikan 512P untuk enam atau sepuluh detik. Alur kerja bingkai pertama dan terakhir mendokumentasikan 768P untuk enam atau sepuluh detik dan 1080P untuk enam detik. Pilih kombinasi yang didukung untuk pengambilan gambar, alih-alih menerapkan pilihan resolusi satu mode pada semua mode lain.

Optimasi prompt otomatis merupakan kontrol yang didokumentasikan dan diaktifkan secara default dalam alur kerja pembuatnya. Simpan pengaturannya saat membandingkan versi, karena deskripsi yang ditulis ulang mengubah apa yang diterima model. Simpan teks yang persis, bingkai referensi, dan pengaturan keluaran yang dipilih bersama klip hasilnya agar revisi dapat diarahkan pada aksi atau pembingkaian yang perlu diperbaiki.

Tinjau seluruh rangkaian yang selesai: komposisi pembuka, kesinambungan subjek, pengaturan waktu aksi, dan bingkai akhir. Untuk transisi, periksa kedua titik awal dan akhir serta gerakan di antaranya. Simpan video sebenarnya untuk penyuntingan bersama prompt dan referensi; gunakan revisi berikutnya untuk mengatasi masalah visual konkret seperti detail yang tertutup, gerakan kamera mendadak, atau akhir yang muncul terlalu cepat.

**Ailoot Ultra · Pemrosesan video** `POST /v1/videos` `minimaxi-hailuo-02`

[`minimaxi-hailuo-02`](https://ailoot.ai/models/id/#m=minimaxi-hailuo-02&route=Ultra&caller=minimaxi-hailuo-02&fmt=videos)

MiniMax /`minimaxi-hailuo-02`

### Mulai

Hailuo 02 membuat video dari teks atau gambar bingkai pertama dan mendukung alur kerja bingkai pertama serta terakhir yang didokumentasikan. Perintah kamera, optimasi prompt, serta pilihan durasi dan resolusi khusus tiap mode membantu membentuk pengambilan gambar yang dituju.

Masukan yang diterima

Teks · Gambar

Hasil

Video

### Tersedia di Ailoot · masukan & metode

**Ailoot Ultra · Pemrosesan video** `POST /v1/videos`

Masukan

`text`, `image`

Keluaran

`video`

| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
| --- | --- | --- | --- | --- |
| Kolom`model` | Jenis`string` | PersyaratanWajib | Nilai & batasan minimaxi-hailuo-02 Kondisi: Gunakan pemilih model Ailoot yang persis. | Bawaan— |
| Kolom`prompt` | Jenis`string` | PersyaratanWajib | Nilai & batasan Kondisi: Jelaskan adegan dan gerakannya. | Bawaan— |
| Kolom`duration` | Jenis`integer` | PersyaratanOpsional | Nilai & batasan 6, 10 Kondisi: Kirim salah satu nilai durasi yang tercantum; tidak ada nilai bawaan yang dinyatakan. | Bawaan— |
| Kolom`end_image` | Jenis`string` | PersyaratanOpsional | Nilai & batasan Kondisi: Bingkai akhir hanya berlaku dalam mode masukan gambar yang didukung. | Bawaan— |
| Kolom`image` | Jenis`string or array<string>` | PersyaratanOpsional | Nilai & batasan Kondisi: Gunakan URL gambar aktual yang dapat dijangkau secara publik atau string gambar base64; tidak dinyatakan jumlah gambar maksimum di sini. | Bawaan— |
| Kolom`resolution` | Jenis`string` | PersyaratanOpsional | Nilai & batasan 512P, 768P, 1080P Kondisi: Kirim salah satu nilai resolusi yang tercantum; tidak ada nilai bawaan yang dinyatakan. | Bawaan— |

Parameter metode dan siklus hidup

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, prompt |
| Parameter`optional` | Kontrakduration, end\_image, image, resolution |
| Parameter`material_types` | Kontraktext, image |
| Parameter`conditions` | KontrakGunakan pemilih model Ailoot yang persis., Jelaskan adegan dan gerakannya., Kirim salah satu nilai durasi yang tercantum; tidak ada nilai bawaan yang dinyatakan., Bingkai akhir hanya berlaku dalam mode masukan gambar yang didukung., Gunakan URL gambar aktual yang dapat dijangkau secara publik atau string gambar base64; tidak dinyatakan jumlah gambar maksimum di sini., Kirim salah satu nilai resolusi yang tercantum; tidak ada nilai bawaan yang dinyatakan. |

Alias metode: `/v1/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/media/assets`

`GET /v1/media/assets/{asset_id}`

### 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 | Biaya |
| --- | --- | --- | --- |
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Jumlah perkiraan— | 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 |
| KonfigurasiPerkiraan biaya pembuatan | Jadwal tarif— | Jumlah perkiraanestimasi satu kali pembuatan | Biaya Keluaran · Perkiraan biaya pembuatan · Perkiraan hanya untuk perbandingan **$0.2** 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 →](https://ailoot.ai/docs/id/billing/reserve/)

### Contoh permintaan

#### Ailoot Ultra · Pemrosesan video

curl · buat sekali dan simpan tanda terimaBaca tugas asliSimpan setiap aset milik Anda yang telah selesai

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
  "model": "minimaxi-hailuo-02",
  "prompt": "A cat is walking on grass."
}
JSON
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
# Create once; retain id, polling_url, original task identifiers and every header.
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
    raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
```

```bash
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())
roles={}
def visit(v,path=""):
    if isinstance(v,dict):
        for k,x in v.items(): visit(x,path+"/"+k)
    elif isinstance(v,list):
        for i,x in enumerate(v): visit(x,path+"/"+str(i))
    elif isinstance(v,str):
        u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
        if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
            roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
    target=Path(f"asset-{i}.bin")
    subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
    raw=target.read_bytes()
    if not raw: raise SystemExit("Empty asset; retain original status and metadata")
    ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
    name=f"asset-{i}.{ext}"
    if target.name!=name: target.rename(name)
    manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
```

### Terima dan simpan hasil

#### Ailoot Ultra · Pemrosesan video

- `GET /v1/videos/{request_id}`
- `GET /v1/videos/generations/{request_id}`
- `GET /v1/videos/{request_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

##### Simpan semua hasil yang selesai

Simpan setiap video yang selesai atau berkas yang dikembalikan; ambil setiap URL aset yang benar-benar dikembalikan.

Simpan respons dan header secara utuh, pengenal asli, setiap keluaran aktual, dan semua bidang penggunaan/akuntansi. Simpan setiap aset unik milik Ailoot dan pertahankan setiap peran yang menunjuk kepadanya.

##### Jika respons asli perlu diperiksa

Simpan id tugas atau operasi publik yang dikembalikan beserta semua header. Baca hanya tugas awal; unknown atau result\_pending\_check tidak mengizinkan pembuatan lain.

Kolom respons

| Kolom | Jenis |
| --- | --- |
| Kolom`id` | Jenisstring |
| Kolom`polling_url` | Jenisstring |
| Kolom`provider_task_id` | Jenisstring |
| Kolom`task_id` | Jenisstring |
| Kolom`status` | Jenisstring |
| Kolom`video_url` | Jenisstring |

### Alias

#### Alias model

**Ailoot Ultra** [`minimaxi-hailuo-02`](https://ailoot.ai/models/id/#m=minimaxi-hailuo-02&route=Ultra&caller=minimaxi-hailuo-02&fmt=videos)

#### Alias jalur metode

`/v1/videos/generations`

#### ID pemanggil terkait

[`minimaxi-hailuo-02`](https://ailoot.ai/models/id/#m=minimaxi-hailuo-02&route=Ultra&caller=minimaxi-hailuo-02&fmt=videos)

FAQ · MiniMax: Hailuo 02

Input dan hasil apa yang tersedia?

`POST /v1/videos` · `minimaxi-hailuo-02`: `text`, `image` → `video`

Kolom apa yang digunakan permintaan?

`POST /v1/videos` · `minimaxi-hailuo-02`: `model`, `prompt`, `duration`, `end_image`, `image`, `resolution`

Hubungkan Ailoot ke Claude Code, OpenCode, Hermes, atau aplikasi Anda.

## Perusahaan dan portofolio proyeknya

Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.

## Beli token dengan diskon.

Diskon langganan untuk pekerjaan rutin. Kode promo — hingga 50% untuk pembelian token.

Langganan

Pilih paket dengan diskon untuk permintaan rutin Anda.

Kode promo hingga 50%

Masukkan kode saat membeli. Harga dihitung ulang sesuai promosi aktif.

Biaya dalam riwayat

Model, token, dan jumlah tagihan disimpan untuk setiap permintaan.

[Pilih langganan](https://ailoot.ai/docs/id/billing/subscriptions/) · [Lihat harga model](https://ailoot.ai/models/id/)

## Hubungkan API ke produk yang Anda jual.

SaaS, aplikasi, dan bot — sesuai penawaran dan perjanjian lisensi Ailoot. Untuk penjualan kembali, mintalah lisensi reseller.

Aplikasi komersial

Integrasikan pembuatan teks, gambar, video, dan suara dalam fitur berbayar layanan Anda.

Lisensi reseller

Kirim deskripsi proyek dan skema akses. Mintalah ketentuan penggunaan dan penjualan kembali secara tertulis.

Dokumen di situs

Penawaran, perjanjian lisensi, dan kebijakan pemrosesan data tersedia sebelum koneksi.

[Minta lisensi reseller](mailto:support@ailoot.ai) · [Penawaran dan perjanjian lisensi](https://ailoot.ai/legal/offer?lang=id)

## Ailoot · Perusahaan dan portofolio proyeknya





Ailoot bertumpu pada pengalaman operasional yang teruji, basis pelanggan yang besar, layanan yang stabil, dan pemantauan KPI berkelanjutan.





Perusahaan dan portofolio proyeknya: jutaan pelanggan; penjualan miliaran setiap bulan.





Ailoot memanfaatkan pengalaman operasional ini untuk akses API ke fitur AI dalam produk pelanggan, agen, aplikasi, dan otomatisasi.
