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

>  - Compreensão multimodal de contexto que produz um prompt estruturado aprimorado (somente texto, sem vídeo)
- Compartilha os mesmos campos de mídia e regras de exclusão mútua da geração de vídeo H3
- Cobrança por tokens; normalmente conclui em 20~40 segundos
- Use sozinho ou como etapa 1 do workflow prévia 768P → regeneração 2K 

<Info>
  **Full 2K Workflow** (opcional): ① Context-IR aprimora o prompt → ② [MiniMax-H3](/pt/api-reference/videos/minimax-h3/generation) com `768P` para prévia → ③ [Regeneration](/pt/api-reference/videos/minimax-h3/regeneration) sobe para 2K. Os preços unitários combinados equivalem ao 2K direto, com tentativas mais baratas. Você também pode chamar este endpoint sozinho.
</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>

## Autorização

<ParamField header="Authorization" type="string" required>
  Autenticação Bearer Token. Obtenha uma chave na [página de gerenciamento de chaves de API](https://apimart.ai/keys).

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

## Visão geral

Envie sua ideia e mídia opcional para compreensão multimodal; receba um **prompt estruturado e mais rico**.

* **Nenhum vídeo é produzido.** O resultado fica em `result.prompt` (não em `result.videos`)
* Os campos de mídia usam as **mesmas regras de validação** da [geração de vídeo](/pt/api-reference/videos/minimax-h3/generation) (exclusão mútua quadro vs referência; áudio não pode ficar sozinho), para que as mesmas entradas possam seguir para a geração

Exemplo de consulta com tarefa concluída:

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

Passe `result.prompt` **como está** para o `MiniMax-H3` como `prompt`.

## Parâmetros da requisição

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

<ParamField body="prompt" type="string" required>
  Texto da ideia original, **≤ 7000 caracteres**
</ParamField>

<ParamField body="duration" type="integer" default="5">
  Duração alvo do vídeo (segundos), **4\~15**, padrão `5`. Afeta a linguagem de ritmo no prompt aprimorado.
</ParamField>

<ParamField body="aspect_ratio" type="string">
  Proporção alvo. **Obrigatório para entrada somente texto**, e não pode ser `adaptive`.

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

<ParamField body="first_frame_image" type="string">
  URL da imagem do primeiro quadro
</ParamField>

<ParamField body="last_frame_image" type="string">
  URL da imagem do último quadro
</ParamField>

<ParamField body="image_urls" type="string[]">
  Imagens de referência (sempre tratadas como referências), ≤ **9**
</ParamField>

<ParamField body="image_with_roles" type="object[]">
  Imagens com papéis: `first_frame` / `last_frame` / `reference_image`
</ParamField>

<ParamField body="video_urls" type="string[]">
  Vídeos de referência, ≤ **3**; cada um 2\~15 s, total ≤ 15 s
</ParamField>

<ParamField body="audio_urls" type="string[]">
  Áudio de referência, ≤ **3**; não pode ser usado sozinho — combine com imagem ou vídeo
</ParamField>

## Cobrança

**Baseada em tokens** (único modelo da família H3 cobrado por tokens):

| Item              | Preço               |
| ----------------- | ------------------- |
| Tokens de entrada | **\$0.87 / milhão** |
| Tokens de saída   | **\$3.45 / milhão** |

Uma chamada típica (\~5,6k entrada + \~3,4k saída tokens) custa cerca de **\$0.0167**.

Um depósito fixo é pré-cobrado no envio e depois liquidado com os `prompt_tokens` / `completion_tokens` reais (reembolso do excesso / cobrança da diferença). Entradas multimodais aumentam bastante os tokens de entrada.

## Observações

1. Normalmente **20\~40 segundos**; consulte o [status da tarefa](/pt/api-reference/tasks/status) a cada **3\~5 segundos**.
2. Parâmetros inválidos → **400** síncrono (sem tarefa, sem cobrança); falhas em runtime vão para `failed` com reembolso automático.
3. Notas do workflow completo estão na página [Regeneration](/pt/api-reference/videos/minimax-h3/regeneration).

## Response

<ResponseField name="code" type="integer">
  Código de status; 200 em caso de sucesso
</ResponseField>

<ResponseField name="data" type="array">
  No envio: `status` / `task_id`

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

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