API de Python de MiniMax H3: guía de configuración y flujo asíncrono - API

API de Python de MiniMax H3: guía de configuración y flujo asíncrono

Aprende el flujo de trabajo de la API de Python de MiniMax H3, incluyendo autenticación, tareas de video asíncronas, sondeo de estado, recuperación de archivos, errores y consejos para producción.

2026-08-03
Equipo de Wiki de MiniMax H3
Guía rápida
  • La API de Python de MiniMax H3 utiliza un flujo asíncrono de creación, sondeo y recuperación.
  • La autenticación requiere una clave de API enviada a través del encabezado de autorización Bearer.
  • La integración en Python puede usar requests para la creación de tareas, la comprobación de estados y la recuperación de archivos.
  • La mejor práctica es mantener las claves de API en variables de entorno en lugar de en el código fuente.
  • La gestión de salida debe copiar los videos completados al almacenamiento permanente de la aplicación.

API de Python de MiniMax H3 de un vistazo

MiniMax H3 es un modelo multimodal de generación de video con IA que acepta instrucciones en lenguaje natural y materiales de referencia compatibles. La API de Python está diseñada para aplicaciones que necesitan enviar trabajos de video, supervisar el progreso del renderizado y recuperar archivos completados sin mantener una solicitud abierta durante todo el proceso de generación.

El flujo de trabajo estándar es asíncrono. Tu aplicación envía una solicitud de generación de video, recibe un task_id, consulta el estado de la tarea en intervalos y recupera la salida después de que la tarea alcanza Success. Esta estructura funciona bien para aplicaciones web, herramientas internas, canalizaciones de contenido y sistemas de generación por lotes.

Etapa del flujo de trabajoAcción de la APIResultado de la aplicación
AutenticaciónEnviar una clave de API en el encabezado AuthorizationLa solicitud queda autorizada
Creación de la tareaEnviar una instrucción y la configuración de salidaLa API devuelve un task_id
Sondeo de estadoConsultar la tarea por IDLa aplicación rastrea el progreso
FinalizaciónLeer la respuesta exitosa de la tareaSe vuelve disponible un file_id
Recuperación del archivoSolicitar los metadatos o la URL del archivoEl video puede descargarse

El flujo oficial de MiniMax H3 admite la generación de videos cortos con duración y resolución configurables. Según el endpoint seleccionado y la configuración de la cuenta, los controles disponibles pueden incluir instrucciones de texto, referencias de imagen, referencias de video, instrucciones de audio, relación de aspecto y resolución de salida.

Parámetro comúnEjemploPropósito
modelMiniMax-H3Selecciona el modelo de video H3
promptDescripción de una escena cinematográficaDefine el resultado visual y sonoro
duration6Solicita una duración corta del video
resolution768PSelecciona la resolución de salida
task_idDevuelto por la creaciónIdentifica el trabajo asíncrono
file_idDevuelto al completar con éxitoIdentifica el archivo de video completado
Consejo de flujo de trabajo

Trata cada generación como un trabajo y no como una respuesta directa de archivo. Guarda el ID de la tarea de inmediato para que el sondeo pueda continuar después de interrupciones temporales de red.

Configuración y autenticación de la API de Python

Antes de escribir la integración, prepara un entorno de Python, instala el cliente HTTP y almacena la clave de API de MiniMax fuera del código de tu aplicación. Este enfoque reduce la exposición accidental de claves en repositorios, registros, capturas de pantalla y paquetes del lado del cliente.

Los ejemplos siguientes usan Python y el paquete requests. Instálalo en el entorno utilizado por tu aplicación:

python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install requests

Define la clave de API como una variable de entorno antes de ejecutar el script:

export MINIMAX_API_KEY="YOUR_API_KEY"

En Windows PowerShell, usa:

$env:MINIMAX_API_KEY="YOUR_API_KEY"
Elemento de configuraciónPráctica recomendadaPor qué importa
Clave de APIGuardarla en MINIMAX_API_KEYMantiene las credenciales fuera de los archivos fuente
Cliente HTTPUsar requests con tiempos de esperaEvita llamadas que queden colgadas indefinidamente
URL baseMantenerla en un único valor de configuraciónFacilita las actualizaciones de endpoints
Carga útilValidarla antes de enviarlaReduce respuestas 400 evitables
RegistroNunca imprimir los encabezados de autorizaciónProtege las credenciales durante la depuración

API alojada

  • Servicio administrado del modelo
  • Gestión asíncrona de tareas
  • Recuperación de archivos a través de endpoints de API

Requests de Python

  • Integración HTTP sencilla
  • Funciona para scripts y servicios de backend
  • Manejo fácil de estados y errores

Trabajador de producción

  • Procesamiento de tareas basado en colas
  • Compatibilidad con reintentos y backoff
  • Almacenamiento persistente de resultados
Advertencia de seguridad

No coloques la clave de API de MiniMax en JavaScript del navegador, código de cliente móvil, cuadernos públicos ni archivos de configuración comprometidos. Canaliza las solicitudes a través de un backend protegido.

Crear, consultar y recuperar un video

Sigue este proceso de cuatro etapas para una integración básica de la API de Python de MiniMax H3. El principio clave de diseño es separar el envío de tareas de la supervisión de tareas. Un servicio de producción debería poder reiniciar el sondeo sin volver a enviar la misma generación.

1

Crear la tarea de video

Construye una carga útil JSON con el nombre del modelo H3, la instrucción, la duración y la resolución. Envíala al endpoint de generación de video con el token Bearer. Guarda el task_id devuelto antes de realizar cualquier otro trabajo.

2

Consultar el estado de la tarea

Consulta el endpoint de la tarea usando el ID guardado. Continúa mientras la tarea esté en cola, preparándose o procesándose. Usa una pausa entre solicitudes en lugar de enviar peticiones continuamente.

3

Manejar el éxito o el fallo

Detén el sondeo cuando el estado pase a Success o Fail. En caso de éxito, lee el file_id. En caso de fallo, registra el mensaje de error devuelto y crea una nueva tarea solo después de corregir el problema.

4

Recuperar el archivo de salida

Usa el ID del archivo completado con el endpoint de recuperación de archivos. Copia la URL de descarga devuelta o el contenido del archivo al almacenamiento permanente de la aplicación cuando el resultado deba permanecer disponible.

Una implementación compacta en Python se ve así:

import os
import time
import requests

API_KEY = os.environ["MINIMAX_API_KEY"]
BASE_URL = "https://api.minimax.io/v1"

HEADERS = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json",
}

payload = {
    "model": "MiniMax-H3",
    "prompt": (
        "A premium perfume bottle rotating on black glass, "
        "dramatic studio lighting, synchronized ambient sound."
    ),
    "duration": 6,
    "resolution": "768P",
}

create_response = requests.post(
    f"{BASE_URL}/video_generation",
    headers=HEADERS,
    json=payload,
    timeout=60,
)
create_response.raise_for_status()

task_id = create_response.json()["task_id"]
print("Created task:", task_id)

while True:
    query_response = requests.get(
        f"{BASE_URL}/query/video_generation",
        headers=HEADERS,
        params={"task_id": task_id},
        timeout=30,
    )
    query_response.raise_for_status()

    task = query_response.json()
    status = task.get("status")
    print("Current status:", status)

    if status == "Success":
        file_id = task["file_id"]
        print("Completed file:", file_id)
        break

    if status == "Fail":
        message = task.get("error_message", "Video generation failed")
        raise RuntimeError(message)

    time.sleep(10)
EstadoSignificadoAcción recomendada
PreparingLa tarea se está inicializandoContinuar consultando
QueueingLa tarea está esperando procesamientoContinuar consultando con una pausa
ProcessingLa generación del video está en cursoContinuar consultando
SuccessEl video está listoRecuperar el file_id
FailLa generación terminó sin éxitoLeer el error y corregir la solicitud

Para una tarea completada, recupera la información del archivo usando el ID devuelto:

file_id = "FILE_ID_FROM_SUCCESS_RESPONSE"

file_response = requests.get(
    f"{BASE_URL}/files/retrieve",
    headers=HEADERS,
    params={"file_id": file_id},
    timeout=30,
)
file_response.raise_for_status()

file_data = file_response.json()
download_url = file_data.get("file", {}).get("download_url")
if not download_url:
    download_url = file_data.get("download_url")

print("Download URL:", download_url)

La forma exacta de la respuesta puede variar según la versión del endpoint. Durante la integración, inspecciona la respuesta JSON y sigue la actual documentación de la API de generación de video de MiniMax.

Patrón fiable

Guarda task_id y file_id en tu base de datos cuando corresponda. Esto hace que la integración sea recuperable si el trabajador se reinicia durante el renderizado o la recuperación de archivos.

Gestión de errores y prácticas de producción

Un script sencillo puede lanzar una excepción cuando falla una solicitud HTTP, pero una integración de producción necesita más estructura. Separa los errores del cliente de los errores temporales del servicio, usa reintentos limitados y conserva el identificador original de la tarea.

ErrorCausa probableEstrategia de manejo
400Carga útil inválida o configuración no compatibleValidar modelo, duración, resolución e inputs
401Clave de API ausente o inválidaComprobar la variable de entorno y el encabezado
403Restricción de cuenta o permisosConfirmar el acceso a la cuenta y los permisos del servicio
429Se alcanzó el límite de velocidad o de cuotaUsar backoff exponencial y encolar las solicitudes
500–599Problema temporal del servicioReintentar un número limitado de veces
FailLa tarea de renderizado terminó sin éxitoLeer el mensaje de la tarea y revisar la solicitud

Usa backoff exponencial para fallos temporales en lugar de reintentar de inmediato:

import time

def wait_with_backoff(attempt, base_delay=5, max_delay=60):
    delay = min(base_delay * (2 ** attempt), max_delay)
    time.sleep(delay)

Para el sondeo, aplica un tiempo máximo de espera para que un trabajador no permanezca activo indefinidamente:

started_at = time.time()
max_wait_seconds = 30 * 60

while time.time() - started_at < max_wait_seconds:
    # Query the task here.
    # Break on Success or Fail.
    time.sleep(10)

raise TimeoutError("The MiniMax H3 task exceeded the polling limit.")

Usa estas prácticas cuando vayas más allá de una prueba local:

  • Mantén reproducibles las instrucciones y cargas útiles. Guarda la instrucción, el modelo, la duración, la resolución y los identificadores de archivos de referencia.
  • Usa un trabajador en segundo plano. Las solicitudes web deben crear trabajos, no esperar a que termine el renderizado completo del video.
  • Evita envíos duplicados. Asigna un ID interno de solicitud antes de llamar al endpoint de creación.
  • Valida las entradas pronto. Rechaza archivos faltantes, formatos no compatibles y configuraciones conflictivas antes de enviar la API.
  • Protege las URL de salida. Trata los enlaces de descarga devueltos como datos de la aplicación y copia los archivos importantes a un almacenamiento controlado.
  • Supervisa el uso. Rastrea las tareas exitosas, las fallidas, los recuentos de reintentos y los segundos totales generados.

Lista de verificación de preparación para producción:

  • Guardar la clave de API en una variable de entorno protegida
  • Guardar cada ID de tarea devuelto
  • Usar tiempos de espera de solicitud y reintentos limitados
  • Consultar con una pausa y un tiempo máximo de espera
  • Conservar los videos completados en almacenamiento permanente
Limitación importante

La descarga de los pesos del modelo H3 abiertos es independiente del uso de la API alojada. No debe asumirse que las funciones del servicio alojado, el procesamiento del lado de la plataforma y la entrega de archivos de la API existan en una implementación local.

Preguntas frecuentes sobre la API de Python de MiniMax H3

Q: ¿La API de Python de MiniMax H3 es síncrona?

No. La integración estándar es asíncrona. Crea una tarea, guarda su task_id, consulta el endpoint de consulta y recupera el archivo después de que la tarea llegue a Success.

Q: ¿Dónde debo guardar la clave de API de MiniMax H3?

Guárdala en una variable de entorno protegida o en un gestor de secretos. Evita incrustarla en archivos de Python, repositorios públicos, código del navegador o registros de la aplicación.

Q: ¿Qué debo hacer cuando una tarea devuelve Fail?

Lee la información de error devuelta, revisa la instrucción y la configuración de la solicitud, verifica las entradas de referencia y envía una nueva tarea solo después de corregir el problema.

Q: ¿Puedo usar el mismo flujo de trabajo de Python para los pesos locales de H3?

No directamente. La API alojada usa endpoints HTTP e IDs de tarea, mientras que los pesos locales requieren el entorno de inferencia del repositorio, las dependencias, la configuración de hardware y los comandos de ejecución.

El punto de partida más seguro es un pequeño script de backend que cree una tarea corta de H3, la consulte con tiempos de espera, recupere el resultado y registre cada respuesta necesaria para la depuración. Una vez que esa ruta funcione, añade colas, almacenamiento persistente, políticas de reintento y seguimiento de solicitudes a nivel de aplicación.