> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# MiniMax-H3 Context-IR peningkatan prompt

>  - Pemahaman konteks multimodal yang menghasilkan prompt terstruktur yang ditingkatkan (hanya teks, tanpa video)
- Berbagi field media dan aturan eksklusi saling yang sama dengan pembuatan video H3
- Penagihan berbasis token; biasanya selesai dalam 20~40 detik
- Gunakan sendiri, atau sebagai langkah 1 workflow pratinjau 768P → regenerasi 2K 

<Info>
  **Full 2K Workflow** (opsional): ① Context-IR meningkatkan prompt → ② [MiniMax-H3](/id/api-reference/videos/minimax-h3/generation) dengan `768P` untuk pratinjau → ③ [Regeneration](/id/api-reference/videos/minimax-h3/regeneration) naik ke 2K. Harga unit gabungan setara 2K langsung, dengan percobaan ulang lebih murah. Anda juga dapat memanggil endpoint ini sendiri.
</Info>

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url https://api.apimart.ai/v1/videos/generations \
    --header 'Authorization: Bearer <token>' \
    --header 'Content-Type: application/json' \
    --data '{
      "model": "MiniMax-H3-Context-IR",
      "prompt": "Epic space-opera trailer: a female captain alone before a huge viewport as the last fleet gathers and jumps away.",
      "duration": 5,
      "aspect_ratio": "16:9"
    }'
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.apimart.ai/v1/videos/generations"

  payload = {
      "model": "MiniMax-H3-Context-IR",
      "prompt": "Epic space-opera trailer: a female captain alone before a huge viewport as the last fleet gathers and jumps away.",
      "duration": 5,
      "aspect_ratio": "16:9",
  }

  headers = {
      "Authorization": "Bearer <token>",
      "Content-Type": "application/json",
  }

  response = requests.post(url, json=payload, headers=headers)

  print(response.json())
  ```

  ```javascript JavaScript theme={null}
  const url = "https://api.apimart.ai/v1/videos/generations";

  const payload = {
    model: "MiniMax-H3-Context-IR",
    prompt: "Epic space-opera trailer: a female captain alone before a huge viewport as the last fleet gathers and jumps away.",
    duration: 5,
    aspect_ratio: "16:9",
  };

  const headers = {
    Authorization: "Bearer <token>",
    "Content-Type": "application/json",
  };

  fetch(url, {
    method: "POST",
    headers: headers,
    body: JSON.stringify(payload),
  })
    .then((response) => response.json())
    .then((data) => console.log(data))
    .catch((error) => console.error("Error:", error));
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "code": 200,
    "data": [
      {
        "status": "submitted",
        "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
      }
    ]
  }
  ```

  ```json 400 theme={null}
  {
    "error": {
      "code": 400,
      "message": "Invalid request parameters",
      "type": "invalid_request_error"
    }
  }
  ```

  ```json 401 theme={null}
  {
    "error": {
      "code": 401,
      "message": "Authentication failed, please check your API key",
      "type": "authentication_error"
    }
  }
  ```

  ```json 402 theme={null}
  {
    "error": {
      "code": 402,
      "message": "Insufficient account balance, please top up and try again",
      "type": "payment_required"
    }
  }
  ```
</ResponseExample>

## Otorisasi

<ParamField header="Authorization" type="string" required>
  Autentikasi Bearer Token. Dapatkan kunci di [Halaman Manajemen API Key](https://apimart.ai/keys).

  ```
  Authorization: Bearer YOUR_API_KEY
  ```
</ParamField>

## Ringkasan

Kirim ide Anda plus media opsional untuk pemahaman multimodal; terima **prompt terstruktur yang lebih kaya**.

* **Tidak ada video yang diproduksi.** Hasil ada di `result.prompt` (bukan `result.videos`)
* Field media menggunakan **aturan validasi yang sama** dengan [pembuatan video](/id/api-reference/videos/minimax-h3/generation) (eksklusi saling frame vs referensi; audio tidak boleh sendiri) agar input yang sama dapat dilanjutkan ke generation

Contoh kueri tugas selesai:

```json theme={null}
{
  "code": 200,
  "data": {
    "actual_time": 28,
    "completed": 1700000128,
    "cost": 0.011204,
    "created": 1700000100,
    "credits_cost": 0.11204,
    "estimated_time": 100,
    "id": "task_01J9HA7J*************",
    "progress": 100,
    "result": {
      "prompt": "integrated_multimodal_description: [Shot 1] Cinematic, close-up shot. The camera slowly pushes in on a lone adult astronaut standing in a dimly lit, metallic corridor. The astronaut wears a weathered, white and silver extravehicular spacesuit heavily scuffed with grey dust, featuring a completely opaque, gold-tinted helmet visor. The astronaut slowly pushes open a rusted, thick steel airlock door on the right side of the frame. As the heavy metal door shifts, a sudden, intense beam of vibrant green light spills across the dark frame, illuminating the intricate fabric folds of the suit. The curved golden visor vividly reflects a dense, tangled mass of luminescent green leaves and vines. [Shot 2] At 00:02.500, the camera cuts to a wide shot from directly behind the astronaut from Shot 1, smoothly pedestaling up to reveal the interior of the abandoned orbital station. The vast, hexagonal titanium room is completely overrun by a lush, zero-gravity living garden. Giant, emerald-green vines spiral tightly around cracked, grey ceiling support beams, while thick patches of bioluminescent cyan moss emit a soft glow from the rusted floor grid. Several large, perfectly spherical water droplets float weightlessly in the midground, refracting the ambient green light. The astronaut lowers their heavy, white-gloved hands to their sides, standing perfectly motionless before the massive canopy of overgrown flora.\noverall_soundscape: A loud, grinding metallic creak dominates the foreground as the heavy steel door shifts, instantly followed by a pronounced, high-pitched hiss of escaping pressurized air. A continuous, low-frequency mechanical hum rumbles in the background, establishing the station's deadened room tone. As the space opens, the distinct, crisp rustle of thick foliage is clearly heard, accompanied by soft, resonant liquid plops as unseen water drops collide in the metallic chamber.\nnon_diegetic_music: Ambient electronic score, slow tempo, featuring a deep, sustained synthesizer drone heavily overlaid with delicate, shimmering glockenspiel notes and a solitary, reverberating cello."
    },
    "status": "completed",
    "usage": {
      "input_tokens": 5512,
      "output_tokens": 2388,
      "total_tokens": 7900
    }
  }
}
```

Teruskan `result.prompt` **apa adanya** ke `MiniMax-H3` sebagai `prompt`.

## Parameter Permintaan

<ParamField body="model" type="string" required>
  Nilai tetap: `MiniMax-H3-Context-IR`
</ParamField>

<ParamField body="prompt" type="string" required>
  Teks ide asli, **≤ 7000 karakter**
</ParamField>

<ParamField body="duration" type="integer" default="5">
  Durasi video target (detik), **4\~15**, default `5`. Memengaruhi bahasa pacing di prompt yang ditingkatkan.
</ParamField>

<ParamField body="aspect_ratio" type="string">
  Rasio aspek target. **Wajib untuk input teks saja**, dan tidak boleh `adaptive`.

  Nilai umum: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `21:9`, dll.
</ParamField>

<ParamField body="first_frame_image" type="string">
  URL gambar frame pertama
</ParamField>

<ParamField body="last_frame_image" type="string">
  URL gambar frame terakhir
</ParamField>

<ParamField body="image_urls" type="string[]">
  Gambar referensi (selalu diperlakukan sebagai referensi), ≤ **9**
</ParamField>

<ParamField body="image_with_roles" type="object[]">
  Gambar ber-role: `first_frame` / `last_frame` / `reference_image`
</ParamField>

<ParamField body="video_urls" type="string[]">
  Video referensi, ≤ **3**; masing-masing 2\~15 dtk, total ≤ 15 dtk
</ParamField>

<ParamField body="audio_urls" type="string[]">
  Audio referensi, ≤ **3**; tidak boleh digunakan sendiri — padukan dengan gambar atau video
</ParamField>

## Penagihan

**Berbasis token** (satu-satunya model keluarga H3 yang ditagih per token):

| Item         | Harga             |
| ------------ | ----------------- |
| Token input  | **\$0.87 / juta** |
| Token output | **\$3.45 / juta** |

Panggilan tipikal (\~5,6k input + \~3,4k output tokens) sekitar **\$0.0167**.

Deposit tetap dipotong di muka saat submit, lalu diselesaikan terhadap `prompt_tokens` / `completion_tokens` nyata (kelebihan dikembalikan / kekurangan ditagih). Input multimodal meningkatkan token input secara signifikan.

## Catatan

1. Biasanya **20\~40 detik**; poll [status tugas](/id/api-reference/tasks/status) setiap **3\~5 detik**.
2. Parameter buruk → **400** sinkron (tanpa tugas, tanpa tagihan); kegagalan runtime menjadi `failed` dengan refund otomatis.
3. Catatan workflow lengkap ada di halaman [Regeneration](/id/api-reference/videos/minimax-h3/regeneration).

## Response

<ResponseField name="code" type="integer">
  Kode status; 200 jika sukses
</ResponseField>

<ResponseField name="data" type="array">
  Saat submit: `status` / `task_id`

  <Expandable title="Elemen array">
    <ResponseField name="status" type="string">
      Awalnya `submitted`
    </ResponseField>

    <ResponseField name="task_id" type="string">
      ID tugas
    </ResponseField>
  </Expandable>
</ResponseField>
