Una LoRA propia solo merece la pena cargarla si aguanta el plano que necesitas: el personaje, el movimiento y el sonido a la vez. MiniMax H3 LoRA en SpicyAPI (spicyapi.ai) es el modelo de vídeo H3 de pesos abiertos con un campo loras: hasta tres de tus propios archivos .safetensors por solicitud, cada uno con una intensidad de 0 a 4.
Elige la tarea según el material de partida y enlaza un archivo directo entrenado para H3. Empieza con escala 1 para una LoRA de estilo y de 0.6 a 0.8 para una LoRA de concepto, y juzga un borrador de 3 segundos a 480p ($0.15) frente a la misma solicitud con loras vacío. Según nuestras pruebas de septiembre de 2026, las tres tareas entregaron solicitudes de adultos, y SpicyAPI no añade ningún filtro de contenido extra a los pesos que cargas.
Elige la tarea según el material de partida
| Material de partida | Tarea | Qué hace ahí la LoRA |
|---|---|---|
| Una escena escrita | Texto a vídeo | Marca el aspecto, así que es la primera prueba más clara de cualquier archivo. Siete relaciones de aspecto. |
| Un fotograma aprobado | Imagen a vídeo | El clip empieza en tu fotograma y conserva su forma (no hay campo de relación de aspecto). Un last_image_url opcional fija el fotograma final. Una LoRA fuerte puede alejar el clip del fotograma, y una LoRA de estilo se desvanece sobre uno fotográfico. |
| Imágenes, clips y audio | Referencia a vídeo | Hasta 9 imágenes, 3 clips y 3 clips de audio, cada uno con una función asignada en el prompt. Una LoRA de personaje junto con stills de la misma persona es lo que mejor mantiene la identidad. |
Las tres devuelven un MP4 de 3 a 15 segundos con sonido estéreo en la misma pasada, a 480p, 540p, 768p o 1080p, y cargar LoRAs no cuesta nada extra. Sin ninguna LoRA que cargar, el H3 base es más barato. Para fijar un personaje o un aspecto antes de pagar segundos de vídeo, haz primero stills con H3 Image LoRA; el mismo array loras se reutiliza (stills frente a vídeo).
Elige una LoRA que encaje con H3
El archivo debe estar entrenado para MiniMax H3. Una LoRA de otro modelo base no es compatible; incluso los adaptadores de H3 necesitan una tarea y una disposición de pesos que el cargador admita. Las LoRA de H3 son nuevas y la calidad varía, así que busca una ficha de modelo que nombre la base, la palabra de activación y una intensidad que funcione. Dos archivos que lo hacen y que se cargan en esta API:
| LoRA | Efecto | Tareas | Activación | Intensidad del creador | Tamaño |
|---|---|---|---|---|---|
| vh5tape | Aspecto de VHS de los años 80 desgastado: ruido de cinta, sangrado de color, sonido apagado | Texto, imagen | vh5tape, primero en el prompt | 1.0 para el aspecto completo, de 0.7 a 0.9 para un desgaste más suave | 131 MB |
| H3 Realism People | Piel y rostros realistas y una sensación de cámara en mano ligera | Un archivo para texto, imagen y referencia | r34l1sm | 1.0 previsto, de 0.6 a 0.8 para un toque más ligero | 131 MB |
Ambos usan la H3 Community License, que tiene límites de territorio y uso; léela antes de cualquier trabajo comercial.
Toma de una ficha de modelo solo la palabra de activación y la intensidad. Las recetas escritas para ComfyUI local u otros hosts incluyen controles que esta tarea no tiene (prompt_expansion_mode, conteos de pasos, samplers, weight_name, un nombre de repositorio en lugar de un enlace), y existen LoRA de destilación de velocidad (Turbo) para reducir los pasos de muestreo local, así que sáltatelas.
Enlaza el archivo
path debe ser un enlace HTTPS directo que devuelva el archivo .safetensors sin iniciar sesión. En Hugging Face ese es el enlace /resolve/, no la página /blob/ de tu barra de direcciones. La solicitud no tiene campo de credenciales, así que un archivo privado necesita un enlace prefirmado que siga siendo válido hasta que el trabajo se haya ejecutado. Sustituye main por un hash de commit para que la misma solicitud cargue el mismo archivo el mes que viene. Una página /blob/, un archivo que no existe o un repositorio privado se rechaza con un 400 antes de que exista tarea alguna. Si una tarea falla después de aceptarse, reenvía la solicitud idéntica con "loras": []: si eso funciona, el problema es el archivo (acceso, compatibilidad o su efecto); si también falla, mira el prompt o las entradas.
Pruébalo primero en el Playground
- Abre la página de texto a vídeo, quédate en la pestaña Playground en la vista Form e inicia sesión con una cuenta con saldo para ejecutar. Imagen a vídeo y referencia a vídeo tienen sus propias páginas (enlaces en la tabla de arriba).
- Pon la palabra de activación al principio del Prompt y luego escribe el plano como una línea de tiempo breve (quién aparece, qué hace, cómo se mueve la cámara) con el sonido en su propia línea
Audio:. Describir con detalle lo que la LoRA ya hace tiende a pelearse con los pesos. - En Style LoRAs, pega el enlace directo del archivo en LoRA file y ajusta Strength. Add item te permite hasta tres archivos.
- Elige 480p en Resolution y 3 en Duration para un primer vistazo barato, fija un Seed y ejecuta.
- Pulsa Remove item, ejecuta otra vez con el mismo prompt y la misma seed, y compara los dos clips. Si se parecen, la LoRA no ha hecho nada (consulta la tabla de fallos más abajo).

El Playground de texto a vídeo de MiniMax H3 en la vista Form, con el campo Prompt y el botón Run. La página de LoRA añade una sección Style LoRAs al mismo formulario.
El cuerpo de la solicitud del Playground es el mismo JSON que acepta la API, así que una configuración que funcione aquí se puede copiar tal cual al código. Las otras dos tareas añaden sus propias entradas:
- Imagen a vídeo añade Input image (el fotograma de apertura) y un Closing frame opcional. Escribe lo que ocurre a continuación dentro del fotograma, no una escena nueva: con una LoRA de concepto en 1, un prompt que movía al sujeto a otra habitación sustituía el fotograma de apertura, mientras que el mismo fotograma se mantenía cuando el prompt describía movimiento dentro de él. No hay campo de relación de aspecto, así que recorta primero el fotograma con la forma que quieres y deja espacio para el movimiento.
- Referencia a vídeo añade Reference images (hasta 9), Reference videos (hasta 3) y Reference audio (hasta 3). Abre el prompt con una frase corta por entrada, cada una con una sola función: Picture 1 is the woman, Picture 2 is the room, Video 1 is the camera move, Audio 1 is her voice. Cuando tomes movimiento de un clip, di claramente que la persona viene de la imagen y solo el movimiento del clip; sin esa frase la bailarina del clip vino con el movimiento. Tres buenos stills mantienen la identidad mejor que nueve superpuestos.
El Playground de cada página de modelo se abre en un ejemplo listo para usar, y su panel Request body muestra el JSON exacto. Tres ejecuciones de esos ejemplos:
Los clips de referencia se facturan por sus segundos además de los segundos de salida, hasta 15 segundos de clip en total, así que mantenlos cortos.
Y luego ejecútalo desde código
Instala el SDK de Python (pip install spicyapi), define SPICY_API_KEY en el entorno de tu servidor y ejecuta la solicitud de texto a vídeo de abajo. Para las otras tareas, en imagen a vídeo cambia model, quita aspect_ratio y añade image_url; para referencia a vídeo cambia model y añade reference_image_urls (aspect_ratio se queda).
import uuid
from spicyapi import SpicyClient, output_assets
client = SpicyClient() # reads SPICY_API_KEY from the environment
task = client.create_task(
model="minimax/h3-lora/text-to-video",
input_data={
"prompt": "vh5tape, worn VHS tape with light tracking noise. A woman in a red satin dress sits alone in a late-night diner booth, turns toward the camera and slowly smiles, neon light flickering in the rain-streaked window behind her. Slow push-in. Audio: rain on glass, a jukebox ballad muffled through the tape, quiet room hum.",
"aspect_ratio": "4:3",
"resolution": "480p",
"duration_seconds": 5,
"seed": 42,
"loras": [{
"path": "https://huggingface.co/KennethFal/vh5tape-vhs-lora-minimax-h3/resolve/d25a4ab75aba899aa508220321525c8465ac11af/vh5tape.safetensors",
"scale": 1.0,
}],
},
idempotency_key=str(uuid.uuid4()),
)
final = client.wait_for_terminal(task["taskId"])
if final["state"] != "succeeded":
raise RuntimeError(f"{task['taskId']} ended as {final['state']}: {final.get('errorCode')}")
print(output_assets(final)[0]["url"]) # copy the video to your own storage nowCrear, esperar, descargar, los reintentos y los códigos de error están cubiertos en la guía de tareas y en la referencia del SDK de Python. Los archivos generados se conservan como máximo 14 días, así que consulta retención y entrega antes de construir sobre el enlace devuelto; para producción, el sondeo frente a webhooks te ayuda a elegir.
O deja que un Agent lo ejecute
Cuando un asistente debe ejecutar las generaciones, las tres herramientas oficiales muestran el precio y te piden confirmación antes de una llamada de pago.
- CLI. Pon el mismo objeto
inputent2v.jsony luego:
``bash spicyapi tasks create --model minimax/h3-lora/text-to-video --input-file t2v.json --wait ``
Consulta la documentación de la CLI; npx @spicyapi/cli funciona sin instalar nada.
- Servidor MCP. Añade el servidor MCP a tu asistente y luego pregunta: "Run MiniMax H3 LoRA text-to-video with this prompt and this weights link at strength 1, 480p, 3 seconds." Llama a
spicyapi_task_create, que se detiene para que confirmes el precio, y luego aspicyapi_task_wait. - Skill.
npx skills add spicyapi-ai/spicy-skillinstala el Agent Skill, que hace que un asistente de programación lea el esquema del modelo en vivo en lugar de adivinar los campos.
Ajusta la intensidad
scale va de 0 a 4, y 1 es neutro. Empieza las LoRA de estilo en 1 y las LoRA de concepto entre 0.6 y 0.8. Después ejecuta una escalera: el mismo prompt y la misma seed a 480p y 3 segundos, con escala 0.5, 0.8 y 1.1, más una ejecución con loras vacío. Cambia una sola cosa por ejecución. Una seed fija mantiene las ejecuciones comparables, no idénticas, así que juzga el aspecto y la acción en lugar de los píxeles.

Quédate con el escalón que se lee bien, o reparte la diferencia entre dos. Deja de subir la intensidad cuando el sujeto, la acción o el sonido empiecen a romperse; si la base ya falla el plano, ninguna escala lo arregla. Mira el clip entero en lugar del primer fotograma, y escucha, porque una LoRA también puede cambiar el sonido (vh5tape lo apaga a propósito). La ficha de vh5tape también enumera frases de prompt para desgaste ligero, medio y fuerte; cambia esas antes de pasar de 1 la escala.

Combina hasta tres
Prueba cada archivo por separado antes de combinarlos. Una LoRA de personaje entrenada con retratos brillantes puede pelearse con un aspecto de cinta fuerte, y una LoRA de movimiento puede girar al sujeto fuera del encuadre. Cuando una pila va mal, mantén la seed y el prompt y quita una entrada cada vez: una recuperación apunta a ese adaptador o a su interacción con el resto de la pila. Baja primero el peso más fuerte. Decide de antemano qué requisito gana cuando dos chocan (identidad sobre textura, por ejemplo) y vuelve a probar una pila que funcionó con texto antes de usarla sobre un fotograma fotográfico o una referencia.
Qué cuesta
| Tarea | 480p | 540p | 768p | 1080p | Extras |
|---|---|---|---|---|---|
| Texto a vídeo e imagen a vídeo | $0.05/s | $0.075/s | $0.10/s | $0.20/s | Ninguno; las LoRA se cargan gratis |
| Referencia a vídeo | $0.06/s | $0.09/s | $0.135/s | $0.27/s | $0.02 por imagen de referencia o clip de audio; los segundos de clip se facturan como los de salida |
- 3 segundos a 480p: $0.15. 5 segundos a 480p: $0.25. 5 segundos a 1080p: $1.00.
- Las tres solicitudes de arriba: $0.25 / $0.50 / $0.58.
- Una base más una escalera de tres escalones, cuatro clips de 3 segundos a 480p: $0.60.
- Referencia a vídeo, 5 segundos a 480p: $0.32 con una imagen, $0.34 con dos, $1.37 a 1080p con una imagen.
- Una tarea fallida o caducada normalmente no se cobra; un clip terminado que no te gusta, sí.
- Una cotización que incluya un clip de referencia reserva los 15 segundos completos del clip: $1.20 para una salida de 5 segundos a 480p. El cobro se liquida sobre la duración real del clip.
Haz borradores a 480p y 3 segundos, y luego reenvía el ganador una vez a 768p o 1080p con la misma seed. Espera una variación cercana, no una copia.
Cuando la LoRA no hace nada o el clip sale mal
| Síntoma | Causa probable | Solución |
|---|---|---|
| El clip parece un H3 normal | El archivo se entrenó para otra base, falta la palabra de activación, o un fotograma fotográfico o una referencia lidera a una LoRA de estilo | Comprueba la base de la ficha, pon la activación primero, prueba el mismo archivo en texto a vídeo y luego sube la escala |
| El clip se desvía de tu fotograma de apertura | Una LoRA de concepto es demasiado fuerte, o el prompt describe una escena nueva | Baja a 0.6 y describe solo lo que ocurre a continuación |
| El aspecto invade la escena | El peso más fuerte es demasiado alto, o la pila está saturada | Baja el peso más fuerte y luego quita entradas de una en una |
| Aparece la intérprete de un clip de referencia | El prompt nunca dijo para qué sirve el clip | Indica que la persona viene de la imagen y solo el movimiento del clip |
| La identidad oscila | Demasiadas referencias superpuestas | Quédate con dos o tres buenos stills |
| Rechazado con 400 | No es un enlace directo al archivo | Usa el enlace de archivo /resolve/ |
| La tarea falla después de aceptarse | El enlace caducó o el repositorio pasó a privado | Reenvía con "loras": []; haz que un enlace prefirmado sobreviva al trabajo |
Uso sin censura
SpicyAPI no añade ningún filtro de contenido al prompt, a los pesos ni a la salida. En esas pruebas no se rechazó nada en nuestra escalera de contenido, que va de L1 Suggestivo y L2 Temas maduros y L3 Fuerte hasta L4 Intenso, más las pruebas L5a de inmovilización y L5b de gore, sin ninguna LoRA cargada. Un punto blando: sin LoRA, imagen a vídeo suavizó L4 Intenso (una escena íntima entre dos adultos) en dos de tres ejecuciones, mientras que la entrada de texto y de referencia renderizó todos los niveles. Con una LoRA comunitaria para adultos cargada, las tres tareas renderizaron L4. Los resultados completos están en la reseña de H3 LoRA.
Que SpicyAPI no añada ningún filtro de contenido extra no concede derechos sobre el parecido de nadie: todas las personas mostradas deben ser adultas, y una LoRA de una persona real necesita el consentimiento de esa persona y tus derechos sobre su parecido.
Pruébalo en el playground de MiniMax H3 LoRA, que muestra los precios en vivo.
FAQ
¿Puedo pegar el nombre de un repositorio de Hugging Face o un enlace /blob/?
No. path toma un enlace HTTPS directo al archivo; una página /blob/ o un nombre owner/repo a secas se rechaza con un 400, y un campo weight_name, como aceptan algunos hosts, no tiene equivalente aquí. Usa el enlace /resolve/.
¿Puedo cargar una LoRA que entrené yo?
Sí, si se entrenó en el H3 de pesos abiertos, se guardó como .safetensors y es accesible por HTTPS.






