Source: https://ailoot.ai/models/id/minimax-hailuo-2-3/
Canonical: https://ailoot.ai/models/id/minimax-hailuo-2-3/
Language: id

# MiniMax-Hailuo-2.3

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

## [MiniMax-Hailuo-2.3](https://ailoot.ai/models/id/minimax-hailuo-2-3/)

MiniMax Hailuo 2.3 menciptakan video dari teks atau gambar awal, dengan kendali gerak dan arahan kamera. Pilih enam detik pada 768P atau 1080P, atau sepuluh detik pada 768P, untuk penampilan karakter, adegan bergaya, dan shot produk yang dapat ditinjau serta disunting.

- [**Ailoot · Pemrosesan video** `POST /v1/videos/generations` `MiniMax-Hailuo-2.3`](https://ailoot.ai/models/id/minimax-hailuo-2-3/#method-0)
- [**Ailoot Ultra · Video** `POST /v1/videos` `MiniMax-Hailuo-2.3`](https://ailoot.ai/models/id/minimax-hailuo-2-3/#method-1)

Tentang model

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

MiniMax Hailuo 2.3 adalah model generasi video dengan mode teks ke video dan gambar ke video. Model ini mengembangkan Hailuo 02 dengan fokus pada tindakan fisik, gaya visual, ekspresi mikro karakter, dan respons terhadap instruksi gerak. Berikan adegan tertulis untuk menciptakan shot dari awal, atau gunakan gambar awal untuk menentukan tampilan pembuka dan jelaskan gerakan berikutnya.

Penampilan fisik adalah salah satu area peningkatan utama edisi ini. Hailuo 2.3 bertujuan membuat gerak tubuh lebih mengalir dan terkendali, termasuk adegan dengan kamera bergerak. Rencanakan tindakan penting sebelum menambahkan detail dekoratif. Karakter yang mengangkat objek, berbalik menuju orang lain, atau bergerak melalui ruangan memberikan peristiwa visual yang dapat dievaluasi pada shot. Tentukan gerakan yang membawa cerita, lalu jaga konsistensi instruksi di sekitarnya.

Stilisasi merupakan fokus lain. Model mendukung karya anime dan ilustrasi serta gaya seperti lukisan tinta dan CG gim. Jelaskan perlakuan visual yang diinginkan dan jaga penampilan tetap koheren dengan adegan. Jika gambar awal sudah menentukan gaya gambar, gunakan teks untuk memandu animasi, alih-alih memperkenalkan deskripsi desain karakter yang bersaing. Tinjau seluruh klip untuk memastikan perlakuan itu tetap jelas selama gerakan.

Model juga berfokus pada penampilan wajah dan perubahan ekspresi halus. Siapkan shot karakter di sekitar reaksi yang penting: menyadari objek, menjadi penasaran, atau merespons dengan senyum kecil. Tampilan dekat dapat membuat perubahan itu lebih mudah dinilai, sedangkan urutan gestur yang besar dapat mengalihkan perhatian darinya. Periksa wajah sebelum, selama, dan sesudah reaksi, alih-alih hanya menilai bingkai diam yang representatif.

Gerak objek berguna untuk adegan berpusat pada produk. Arahan orisinal dapat menampilkan vas keramik kecil berputar dalam cahaya samping hangat sementara kamera mendekatinya secara bertahap. Identifikasi sifat yang harus tetap dapat dikenali, seperti siluet, bibir vas, dan hasil akhir permukaan. Tinjau detail itu sepanjang gerak, karena suasana yang meyakinkan saja tidak membuktikan tampilan produk yang setia.

Untuk teks ke video, deskripsi wajib dapat memuat hingga 2.000 karakter. Nyatakan subjek, tindakan, latar, dan gaya visual dalam urutan koheren. Gambar ke video mewajibkan gambar bingkai awal, dengan deskripsi opsional hingga 2.000 karakter. Gambar menetapkan komposisi pembuka, jadi siapkan subjek serta pembingkaian sebelum meminta gerak. Sisakan ruang terlihat di tempat lengan, objek, atau karakter perlu bergerak.

Gambar awal menerima JPG, JPEG, PNG, atau WebP, harus lebih kecil dari 20 MB, memerlukan sisi pendek lebih dari 300 piksel, dan harus memiliki rasio aspek antara 2:5 dan 5:2. Gambar dapat diberikan sebagai URL gambar publik atau URL data Base64. Pilih gambar pembuka yang jelas, alih-alih mengandalkan animasi untuk memperbaiki wajah tertutup atau tindakan yang sudah terpangkas.

Hailuo 2.3 menghasilkan 24 bingkai per detik. Shot enam detik dapat menggunakan 768P atau 1080P; shot sepuluh detik menggunakan 768P. Bawaannya adalah enam detik dan 768P. Pilih panjang sesuai tindakan yang ingin dilihat: reaksi singkat mungkin sesuai dengan shot pendek, sedangkan gerak lebih lambat memerlukan lebih banyak ruang. Baca lebar dan tinggi sebenarnya dari hasil lengkap saat menempatkan klip dalam suntingan, karena label resolusi saja bukan keseluruhan keputusan pembingkaian.

Arahan kamera dapat menggunakan perintah dalam tanda kurung siku. Kendali yang tersedia mencakup trucking, panning, gerak mendekat, gerak pedestal, tilting, zooming, guncangan, tracking, dan shot statis. Perintah seperti \[Push in\] mengarahkan gerak mendekat; perintah yang dikelompokkan dalam satu kurung bekerja bersama, sedangkan perintah yang ditempatkan berurutan menjelaskan urutan. MiniMax menyarankan paling banyak tiga perintah serentak. Jaga gerak kamera kompatibel dengan tindakan subjek agar peristiwa utama tetap mudah diikuti.

Optimasi prompt otomatis aktif secara bawaan dan dapat dinonaktifkan untuk kendali lebih dekat atas susunan kata yang diberikan. Prapemrosesan cepat opsional mengurangi waktu optimasi ketika optimasi itu diaktifkan; ini merupakan pengaturan terpisah dari pemilihan model Hailuo 2.3 Fast. Hailuo 2.3 standar mendukung kedua mode kreasi, sedangkan Fast merupakan edisi gambar ke video yang berbeda. Pilih edisi berdasarkan apakah proyek dimulai hanya dengan teks atau bingkai yang ada.

Alur kerja generasi mengembalikan pengenal tugas asinkron, lalu melaporkan persiapan, antrean, pemrosesan, keberhasilan, atau kegagalan. Jika berhasil, hasil menyediakan pengenal berkas dan dimensi video sebenarnya, lalu video lengkap diambil untuk diunduh. Simpan klip selama alamat unduhannya masih berlaku. Referensi unduhan video pembuatnya saat ini memberikan masa berlaku satu jam pada URL unduhan yang dikembalikan. Untuk urutan suntingan, simpan setiap shot bersama prompt serta gambar awalnya agar arahan kreatif pilihan tetap dapat ditelusuri saat revisi.

Tinjau tindakan, kesinambungan fisik, detail wajah atau produk, gaya visual, dan perilaku kamera dalam klip tersimpan. Tonton seluruh shot, lalu periksa awal serta akhirnya yang akan menyambung ke materi lain. Jika permintaan memuat terlalu banyak gerakan yang bersaing, sederhanakan tindakan utama; jika desain pembuka tidak jelas, perbaiki gambar awal. Pilih shot yang menyampaikan peristiwa yang dimaksud, lalu tambahkan narasi, judul, dan transisi dalam alur kerja penyuntingan.

**Ailoot · Pemrosesan video** `POST /v1/videos/generations` `MiniMax-Hailuo-2.3`

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/id/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos)

MiniMax /`MiniMax-Hailuo-2.3`

### Mulai

MiniMax Hailuo 2.3 menciptakan video dari teks atau gambar awal, dengan kendali gerak dan arahan kamera. Pilih enam detik pada 768P atau 1080P, atau sepuluh detik pada 768P, untuk penampilan karakter, adegan bergaya, dan shot produk yang dapat ditinjau serta disunting.

Masukan yang diterima

Teks · Gambar

Hasil

Video

### Tersedia di Ailoot · masukan & metode

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

Masukan

`text`, `image`

Keluaran

`video`

Format keluaran

mp4

| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
| --- | --- | --- | --- | --- |
| Kolom`model` | Jenis`string` | PersyaratanWajib | Nilai & batasan MiniMax-Hailuo-2.3 | Bawaan— |
| Kolom`prompt` | Jenis`string` | PersyaratanWajib | Nilai & batasan Panjang minimum: 1 Panjang maksimum: 2.000 Satuan: karakter Unicode | Bawaan— |
| Kolom`duration` | Jenis`integer` | PersyaratanOpsional | Nilai & batasan 6, 10 Kondisi: 10 detik memerlukan 768P Satuan: detik | Bawaan6 |
| Kolom`resolution` | Jenis`string` | PersyaratanOpsional | Nilai & batasan 768P, 1080P Kondisi: 1080P memerlukan 6 detik | Bawaan768P |
| Kolom`first_frame_image` | Jenis`https_url\|data_image_url` | PersyaratanOpsional | Nilai & batasan Byte terdekode maksimum: 20.971.520 Jenis MIME: image/jpeg, image/png, image/webp Dimensi minimum (eksklusif): 300 Rentang rasio aspek: 2:5, 5:2 | Bawaan— |
| Kolom`prompt_optimizer` | Jenis`boolean` | PersyaratanOpsional | Nilai & batasan | Bawaan— |
| Kolom`fast_pretreatment` | Jenis`boolean` | PersyaratanOpsional | Nilai & batasan | Bawaan— |

Kombinasi bahan masukan

**Gambar ke video** · Wajib: prompt, first\_frame\_image

**Teks ke video** · Wajib: prompt

Parameter metode dan siklus hidup

| Parameter | Kontrak |
| --- | --- |
| Parameter`material_types` | Kontraktext, image |
| Parameter`required` | Kontraknull |
| Parameter`optional_controls` | Kontraknull |

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`

Struktur metode dan ID bersifat eksak; kemampuan pemasok terpisah dari penerimaan permintaan.

### Paket

#### Tarif metode Ailoot

Keluaran

US$0,28 *per video 6 s pada 768p*

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/)

#### Detail tarif referensi

Jadwal referensi tingkat model tidak mengubah pemilihan metode, estimasi harga, atau biaya. Biaya aktif menggunakan tarif metode Ailoot yang dipilih.

MiniMax-Hailuo-2.3

#### Harga menurut konfigurasi

| Konfigurasi | Kondisi penagihan | Biaya |
| --- | --- | --- |
| KonfigurasiMiniMax-Hailuo-2.3 · Konfigurasi bawaan | Kondisi penagihanKonfigurasi bawaan | Biaya Masukan · Masukan **US$0,00** per pemanggilan Keluaran · Keluaran **US$0,60** per pemanggilan |

MiniMax-Hailuo-2.3

#### Harga menurut konfigurasi

| Konfigurasi | Kondisi penagihan | Biaya |
| --- | --- | --- |
| KonfigurasiMiniMax-Hailuo-2.3 · Konfigurasi bawaan | Kondisi penagihanKonfigurasi bawaan | Biaya Masukan · Masukan **US$0,00** per pemanggilan Keluaran · Keluaran **US$1,20** per pemanggilan |

MiniMax-Hailuo-2.3

#### Harga menurut konfigurasi

| Konfigurasi | Kondisi penagihan | Biaya |
| --- | --- | --- |
| KonfigurasiMiniMax-Hailuo-2.3 · Konfigurasi bawaan | Kondisi penagihanKonfigurasi bawaan | Biaya Masukan · Masukan **US$0,00** per pemanggilan Keluaran · Keluaran **US$1,20** per pemanggilan |

### Contoh permintaan

#### Ailoot · Pemrosesan video

Contoh video

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl https://api.ailoot.ai/v1/videos/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "MiniMax-Hailuo-2.3", "prompt": "A person walks slowly through a quiet garden as the camera tracks from the side.", "duration": 6, "resolution": "768P"}'
```

### Terima dan simpan hasil

#### Ailoot · Pemrosesan video

mp4

- `GET /v1/videos/{request_id}`
- `GET /v1/videos/generations/{request_id}`
- `GET /v1/videos/{request_id}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### Periksa status tugas

GET status

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_VIDEO_ID
video_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ["AILOOT_VIDEO_ID"], safe=""))') || exit 1
curl "https://api.ailoot.ai/v1/videos/generations/$video_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY"
```

Pembacaan konten lain

GET konten

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_VIDEO_ID
video_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ["AILOOT_VIDEO_ID"], safe=""))') || exit 1
curl "https://api.ailoot.ai/v1/videos/generations/$video_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  --output video.mp4
```

##### Simpan semua hasil yang selesai

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

Pertahankan setiap item data/indeks keluaran yang dikembalikan. content\_url hanya menunjuk yang pertama; ambil setiap jalur konten/aset aktual. GET content tanpa index tidak mencakup semua keluaran.

##### Jika respons asli perlu diperiksa

Baca tugas awal yang sudah ada; jangan pernah kirim ulang pengiriman yang statusnya tidak diketahui.

Kolom respons

| Kolom | Jenis |
| --- | --- |
| Kolom`id` | Jenisstring |
| Kolom`object` | Jenisstring |
| Kolom`model` | Jenisstring |
| Kolom`status` | Jenisstring |
| Kolom`content_url` | Jenissigned URL |
| Kolom`data[]` | Jenissigned URL |
| Kolom`usage` | Jenisobject |
| Kolom`result_pending_check` | Jenisboolean |

Kesalahan dan langkah berikutnya

| Respons | Kondisi | Langkah berikutnya |
| --- | --- | --- |
| Respons400 · `invalid_request_error` | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |
| Respons409 · `video_not_ready` | KondisiKonten hasil awal belum tersedia | Langkah berikutnyaPeriksa ID awal yang dikembalikan secara berkala dan patuhi Retry-After. |
| Respons`server_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. |

### Alias

#### Alias model

<strong>Ailoot</strong> [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/id/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos)
**Ailoot Ultra** [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/id/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

#### Alias jalur metode

`/v1/videos/generations`, `/videos`, `/videos/generations`

#### ID pemanggil terkait

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/id/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos), [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/id/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

**Ailoot Ultra · Video** `POST /v1/videos` `MiniMax-Hailuo-2.3`

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/id/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

MiniMax /`MiniMax-Hailuo-2.3`

### Mulai

MiniMax Hailuo 2.3 menciptakan video dari teks atau gambar awal, dengan kendali gerak dan arahan kamera. Pilih enam detik pada 768P atau 1080P, atau sepuluh detik pada 768P, untuk penampilan karakter, adegan bergaya, dan shot produk yang dapat ditinjau serta disunting.

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 1 keluaran

| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
| --- | --- | --- | --- | --- |
| Kolom`model` | Jenis`string` | PersyaratanWajib | Nilai & batasan MiniMax-Hailuo-2.3 | Bawaan— |
| Kolom`prompt` | Jenis`string` | PersyaratanWajib | Nilai & batasan Panjang minimum: 1 Panjang maksimum: 2.000 Kondisi: Untuk 768P: paling banyak 2000 titik kode Unicode. Untuk 1080P: kurang dari 200 titik kode Unicode (maksimum 199). Prompt harus memuat teks selain spasi putih. Satuan: karakter Unicode | Bawaan— |
| Kolom`duration` | Jenis`integer` | PersyaratanWajib | Nilai & batasan 6 Satuan: detik | Bawaan— |
| Kolom`resolution` | Jenis`string` | PersyaratanWajib | Nilai & batasan 768P, 1080P | Bawaan— |

Kombinasi bahan masukan

**Teks ke video** · Wajib: prompt

Parameter metode dan siklus hidup

| Parameter | Kontrak |
| --- | --- |
| Parameter`content_type` | Kontrakapplication/json |
| Parameter`required` | Kontrakmodel, prompt, duration, resolution |
| Parameter`other_options` | Kontrakfalse |
| Parameter`duration` | Kontrak6 |
| Parameter`resolution` | Kontrak768P, 1080P |
| Parameter`prompt_max_characters` | Kontrak2000 |
| Parameter`material_types` | Kontraktext |
| Parameter`prompt_max_characters_by_resolution` | Kontrak{"768P":2000,"1080P":199} |

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

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

#### Tarif Ailoot

#### Harga menurut konfigurasi

Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.

| Konfigurasi | Jadwal tarif | Durasi nominal klip, detik | Resolusi | Satuan penagihan | Biaya |
| --- | --- | --- | --- | --- | --- |
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Durasi nominal klip, detik— | Resolusi— | Satuan penagihan— | Biaya Masukan · Token masukan **—** / 1K token Keluaran · Token keluaran **—** / 1K token Masukan · Pembacaan cache **—** / 1K token Masukan · Penulisan cache **—** / 1K token Masukan · Penulisan cache, 1 jam **—** / 1K token |
| KonfigurasiUltra | Jadwal tarif— | Durasi nominal klip, detik6 | Resolusi1080P | Satuan penagihanper klip keluaran nominal 6s | Biaya Keluaran · klip keluaran dengan durasi nominal 6s **$1.2** per klip keluaran nominal 6s |
| KonfigurasiUltra | Jadwal tarif— | Durasi nominal klip, detik6 | Resolusi768P | Satuan penagihanper klip keluaran nominal 6s | Biaya Keluaran · klip keluaran dengan durasi nominal 6s **$0.6** per klip keluaran nominal 6s |

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/)

#### Detail tarif referensi

Jadwal referensi tingkat model tidak mengubah pemilihan metode, estimasi harga, atau biaya. Biaya aktif menggunakan tarif metode Ailoot yang dipilih.

MiniMax-Hailuo-2.3

#### Harga menurut konfigurasi

| Konfigurasi | Kondisi penagihan | Biaya |
| --- | --- | --- |
| KonfigurasiMiniMax-Hailuo-2.3 · Konfigurasi bawaan | Kondisi penagihanKonfigurasi bawaan | Biaya Masukan · Masukan **US$0,00** per pemanggilan Keluaran · Keluaran **US$0,60** per pemanggilan |

MiniMax-Hailuo-2.3

#### Harga menurut konfigurasi

| Konfigurasi | Kondisi penagihan | Biaya |
| --- | --- | --- |
| KonfigurasiMiniMax-Hailuo-2.3 · Konfigurasi bawaan | Kondisi penagihanKonfigurasi bawaan | Biaya Masukan · Masukan **US$0,00** per pemanggilan Keluaran · Keluaran **US$1,20** per pemanggilan |

MiniMax-Hailuo-2.3

#### Harga menurut konfigurasi

| Konfigurasi | Kondisi penagihan | Biaya |
| --- | --- | --- |
| KonfigurasiMiniMax-Hailuo-2.3 · Konfigurasi bawaan | Kondisi penagihanKonfigurasi bawaan | Biaya Masukan · Masukan **US$0,00** per pemanggilan Keluaran · Keluaran **US$1,20** per pemanggilan |

### Contoh permintaan

#### Ailoot Ultra · Video

curlcurl · 1080P / 6 detik

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "MiniMax-Hailuo-2.3", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 6, "resolution": "768P"}')

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
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "MiniMax-Hailuo-2.3", "prompt": "A cat in a spacesuit walking on the Moon", "duration": 6, "resolution": "1080P"}')

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}/content`
- `GET /v1/videos/generations/{request_id}/content`

##### Periksa status tugas

GET status

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o status.json
python3 - <<'PY_STATUS'
import json
from pathlib import Path
r=json.loads(Path("status.json").read_text())
print(json.dumps(r))
if r.get("status")=="completed":
    for x in r.get("data",[]):print(x)
PY_STATUS
```

##### Simpan semua aset yang selesai

GET semua aset yang selesai

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}"
export AILOOT_STATUS_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
from urllib.parse import urlsplit,urljoin
f=Path(os.environ["AILOOT_STATUS_FILE"])
if not f.is_file():raise SystemExit("Choose the actual completed status file")
r=json.loads(f.read_text())
if r.get("status")!="completed" or not isinstance(r.get("data"),list) or not r["data"]:raise SystemExit("Wait for a completed status with asset paths")
urls=[]
for x in r["data"]:
    if not isinstance(x,str) or "\n" in x or "\r" in x:raise SystemExit("Invalid asset path")
    u=urljoin("https://api.ailoot.ai",x)
    z=urlsplit(u)
    if z.scheme!="https" or z.netloc!="api.ailoot.ai" or z.username or z.password:raise SystemExit("Use the actual Ailoot asset paths from status")
    urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_REQUEST
index=0
while IFS= read -r asset_url; do
  curl --fail-with-body --silent --show-error "$asset_url" \
    -H "Authorization: Bearer $AILOOT_API_KEY" -o "video-${index}.mp4"
  index=$((index + 1))
done < asset-urls.txt
```

Pembacaan konten lain

GET konten

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}"
export AILOOT_OPERATION_ID
operation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ["AILOOT_OPERATION_ID"],safe=""))')
curl --fail-with-body --silent --show-error "https://api.ailoot.ai/v1/videos/$operation_id/content" \
  -H "Authorization: Bearer $AILOOT_API_KEY" -o video.mp4
```

##### 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: 1.

Kolom respons

| Kolom | Jenis |
| --- | --- |
| Kolom`id` | Jenisstring |
| Kolom`object` | Jenisstring |
| Kolom`model` | Jenisstring |
| Kolom`status` | Jenisstring |
| Kolom`data[]` | Jenissigned content URL |
| Kolom`charge_pending_check` | Jenisboolean |
| Kolom`error.code` | Jenisstring |
| Kolom`error.message` | Jenisstring |
| Kolom`requested_nominal_duration_seconds` | Jenisinteger |
| Kolom`measured_duration_seconds` | Jenisnumber |
| Kolom`width` | Jenisinteger |
| Kolom`height` | Jenisinteger |

Kesalahan dan langkah berikutnya

| Respons | Kondisi | Langkah berikutnya |
| --- | --- | --- |
| Respons400 · `invalid_request_error` | KondisiBidang wajib, representasi materi, atau nilai parameter tidak valid | Langkah berikutnyaPerbaiki bidang yang ditunjukkan sebelum permintaan pembuatan baru. |
| Respons409 · `video_not_ready` | KondisiKonten hasil awal belum tersedia | Langkah berikutnyaPeriksa ID awal yang dikembalikan secara berkala dan patuhi Retry-After. |
| Respons`server_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. |

### Alias

#### Alias model

<strong>Ailoot</strong> [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/id/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos)
**Ailoot Ultra** [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/id/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

#### Alias jalur metode

`/v1/videos/generations`, `/videos`, `/videos/generations`

#### ID pemanggil terkait

[`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/id/#m=MiniMax-Hailuo-2.3&route=Core&caller=MiniMax-Hailuo-2.3&fmt=videos), [`MiniMax-Hailuo-2.3`](https://ailoot.ai/models/id/#m=MiniMax-Hailuo-2.3&route=Ultra&caller=MiniMax-Hailuo-2.3&fmt=videos)

FAQ · MiniMax-Hailuo-2.3

Input dan hasil apa yang tersedia?

`POST /v1/videos/generations` · `MiniMax-Hailuo-2.3`: `text`, `image` → `video` `POST /v1/videos` · `MiniMax-Hailuo-2.3`: `text` → `video`

Kolom apa yang digunakan permintaan?

`POST /v1/videos/generations` · `MiniMax-Hailuo-2.3`: `model`, `prompt`, `duration`, `resolution`, `first_frame_image`, `prompt_optimizer`, `fast_pretreatment` `POST /v1/videos` · `MiniMax-Hailuo-2.3`: `model`, `prompt`, `duration`, `resolution`

Batasan apa yang berlaku?

`POST /v1/videos/generations` · `MiniMax-Hailuo-2.3`: `prompt.maximum_length`: `2000` `POST /v1/videos` · `MiniMax-Hailuo-2.3`: `prompt.maximum_length`: `2000`

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.
