> ## 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 mejora de prompt

>  - Comprensión multimodal del contexto que produce un prompt estructurado mejorado (solo texto, sin video)
- Comparte los mismos campos de medios y reglas de exclusión mutua que la generación de video H3
- Facturación por tokens; suele completarse en 20~40 segundos
- Úselo solo, o como paso 1 del workflow vista previa 768P → regeneración 2K 

<Info>
  **Full 2K Workflow** (opcional): ① Context-IR mejora el prompt → ② [MiniMax-H3](/es/api-reference/videos/minimax-h3/generation) con `768P` para una vista previa → ③ [Regeneration](/es/api-reference/videos/minimax-h3/regeneration) sube a 2K. Los precios unitarios combinados coinciden con el 2K directo, con reintentos más baratos. También puede llamar a este endpoint solo.
</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>

## Autorización

<ParamField header="Authorization" type="string" required>
  Autenticación Bearer Token. Obtenga una clave en la [página de gestión de API Keys](https://apimart.ai/keys).

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

## Resumen

Envíe su idea y medios opcionales para comprensión multimodal; reciba un **prompt estructurado y más rico**.

* **No se produce video.** El resultado está en `result.prompt` (no en `result.videos`)
* Los campos de medios usan las **mismas reglas de validación** que la [generación de video](/es/api-reference/videos/minimax-h3/generation) (exclusión mutua fotogramas vs referencias; el audio no puede ir solo) para que las mismas entradas puedan pasar a la generación

Ejemplo de consulta de tarea completada:

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

Pase `result.prompt` **tal cual** a `MiniMax-H3` como `prompt`.

## Parámetros de la solicitud

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

<ParamField body="prompt" type="string" required>
  Texto de la idea original, **≤ 7000 caracteres**
</ParamField>

<ParamField body="duration" type="integer" default="5">
  Duración objetivo del video (segundos), **4\~15**, valor predeterminado `5`. Afecta el lenguaje de ritmo en el prompt mejorado.
</ParamField>

<ParamField body="aspect_ratio" type="string">
  Relación de aspecto objetivo. **Obligatorio para entrada solo de texto**, y no puede ser `adaptive`.

  Valores comunes: `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `21:9`, etc.
</ParamField>

<ParamField body="first_frame_image" type="string">
  URL de la imagen del primer fotograma
</ParamField>

<ParamField body="last_frame_image" type="string">
  URL de la imagen del último fotograma
</ParamField>

<ParamField body="image_urls" type="string[]">
  Imágenes de referencia (siempre tratadas como referencias), ≤ **9**
</ParamField>

<ParamField body="image_with_roles" type="object[]">
  Imágenes con roles: `first_frame` / `last_frame` / `reference_image`
</ParamField>

<ParamField body="video_urls" type="string[]">
  Videos de referencia, ≤ **3**; cada uno 2\~15 s, total ≤ 15 s
</ParamField>

<ParamField body="audio_urls" type="string[]">
  Audio de referencia, ≤ **3**; no se puede usar solo — combínelo con imagen o video
</ParamField>

## Facturación

**Basada en tokens** (único modelo de la familia H3 facturado por tokens):

| Concepto          | Precio              |
| ----------------- | ------------------- |
| Tokens de entrada | **\$0.87 / millón** |
| Tokens de salida  | **\$3.45 / millón** |

Una llamada típica (\~5,6k entrada + \~3,4k salida tokens) cuesta unos **\$0.0167**.

Se preautoriza un depósito fijo al enviar y luego se liquida con los `prompt_tokens` / `completion_tokens` reales (reembolso del exceso / cargo del déficit). Las entradas multimodales aumentan mucho los tokens de entrada.

## Notas

1. Suele tardar **20\~40 segundos**; consulte el [estado de la tarea](/es/api-reference/tasks/status) cada **3\~5 segundos**.
2. Parámetros incorrectos → **400** síncrono (sin tarea, sin cargo); fallos en runtime pasan a `failed` con reembolso automático.
3. Las notas del workflow completo están en la página [Regeneration](/es/api-reference/videos/minimax-h3/regeneration).

## Response

<ResponseField name="code" type="integer">
  Código de estado; 200 en caso de éxito
</ResponseField>

<ResponseField name="data" type="array">
  Al enviar: `status` / `task_id`

  <Expandable title="Elementos del array">
    <ResponseField name="status" type="string">
      Inicialmente `submitted`
    </ResponseField>

    <ResponseField name="task_id" type="string">
      ID de la tarea
    </ResponseField>
  </Expandable>
</ResponseField>
