Une LoRA personnalisée ne vaut la peine d'être chargée que si elle tient la prise de vue dont vous avez besoin : le personnage, le mouvement et le son à la fois. MiniMax H3 LoRA sur SpicyAPI (spicyapi.ai) est le modèle vidéo H3 à poids ouverts avec un champ loras : jusqu'à trois de vos propres fichiers .safetensors par requête, chacun avec une force de 0 à 4.
Choisissez la tâche selon le point de départ et liez un fichier direct entraîné pour H3. Commencez à l'échelle 1 pour une LoRA de style et entre 0.6 et 0.8 pour une LoRA de concept, et jugez un brouillon de 3 secondes en 480p ($0.15) face à la même requête avec loras vide. D'après nos tests de septembre 2026, les trois tâches ont rendu les requêtes adultes, et SpicyAPI n'ajoute aucun filtre de contenu supplémentaire aux poids que vous chargez.
Choisir la tâche selon le point de départ
| Point de départ | Tâche | Ce que la LoRA y apporte |
|---|---|---|
| Une scène écrite | Texte vers vidéo | Elle impose le look, c'est donc le premier test le plus clair pour n'importe quel fichier. Sept rapports d'aspect. |
| Une image validée | Image vers vidéo | Le clip s'ouvre sur votre image et en garde la forme (aucun champ de rapport d'aspect). Un last_image_url optionnel fixe l'image de fin. Une LoRA forte peut éloigner le clip de l'image, et une LoRA de style s'estompe sur une image photographique. |
| Images, clips et audio | Référence vers vidéo | Jusqu'à 9 images, 3 clips et 3 clips audio, chacun avec une mission dans le prompt. Une LoRA de personnage plus des images fixes de la même personne est ce qui tient le mieux l'identité. |
Les trois renvoient un MP4 de 3 à 15 secondes avec son stéréo issu du même passage, en 480p, 540p, 768p ou 1080p, et charger des LoRA ne coûte rien de plus. Sans LoRA à charger, le H3 de base coûte moins cher. Pour fixer un personnage ou un look avant de payer des secondes de vidéo, faites d'abord des images fixes avec H3 Image LoRA ; le même tableau loras est réutilisable (images fixes contre vidéo).
Choisir une LoRA qui convient à H3
Le fichier doit être entraîné pour MiniMax H3. Une LoRA destinée à un autre modèle de base n'est pas compatible ; même les adaptateurs H3 exigent une tâche et une disposition de poids que le chargeur prend en charge. Les LoRA H3 sont récentes et la qualité varie, cherchez donc une fiche de modèle qui nomme la base, le mot déclencheur et une force qui fonctionne. Deux fichiers qui le font et qui se chargent sur cette API :
| LoRA | Effet | Tâches | Déclencheur | Force de l'auteur | Taille |
|---|---|---|---|---|---|
| vh5tape | Look VHS des années 1980 usé : bruit de bande, bavure de couleur, son étouffé | Texte, image | vh5tape, en premier dans le prompt | 1.0 pour le look complet, de 0.7 à 0.9 pour une usure plus douce | 131 MB |
| H3 Realism People | Peau et visages réalistes, légère sensation de caméra à l'épaule | Un fichier pour texte, image et référence | r34l1sm | 1.0 prévu, de 0.6 à 0.8 pour une touche plus légère | 131 MB |
Les deux utilisent la H3 Community License, qui comporte des limites de territoire et d'usage ; lisez-la avant tout travail commercial.
Ne prenez sur une fiche de modèle que le déclencheur et la force. Les recettes écrites pour ComfyUI en local ou d'autres hôtes contiennent des réglages que cette tâche n'a pas (prompt_expansion_mode, nombre d'étapes, échantillonneurs, weight_name, un nom de dépôt à la place d'un lien), et les LoRA de distillation de vitesse (Turbo) existent pour réduire les étapes d'échantillonnage locales, donc passez votre chemin.
Lier le fichier
path doit être un lien HTTPS direct qui renvoie le fichier .safetensors sans connexion. Sur Hugging Face, c'est le lien /resolve/, pas la page /blob/ de votre barre d'adresse. La requête n'a pas de champ d'identifiants, donc un fichier privé exige un lien pré-signé qui reste valide jusqu'à l'exécution du job. Remplacez main par un hash de commit pour que la même requête charge le même fichier le mois prochain. Une page /blob/, un fichier manquant ou un dépôt privé est rejeté avec un 400 avant qu'aucune tâche n'existe. Si une tâche échoue après avoir été acceptée, renvoyez la requête identique avec "loras": [] : si cela réussit, le problème vient du fichier (accès, compatibilité ou son effet) ; si cela échoue aussi, regardez le prompt ou les entrées.
Essayez d'abord dans le Playground
- Ouvrez la page texte vers vidéo, restez sur l'onglet Playground en vue Form et connectez-vous avec un compte approvisionné pour lancer. Image vers vidéo et référence vers vidéo ont leurs propres pages (liens dans le tableau ci-dessus).
- Mettez le mot déclencheur en premier dans le Prompt, puis écrivez la prise de vue comme une courte chronologie (qui y figure, ce qu'il ou elle fait, comment la caméra bouge) avec le son sur sa propre ligne
Audio:. Décrire longuement ce que la LoRA fait déjà tend à lutter contre les poids. - Sous Style LoRAs, collez le lien direct du fichier dans LoRA file et réglez Strength. Add item vous donne jusqu'à trois fichiers.
- Choisissez 480p sous Resolution et 3 sous Duration pour un premier aperçu bon marché, fixez un Seed et lancez.
- Appuyez sur Remove item, relancez avec le même prompt et la même seed, et comparez les deux clips. S'ils se ressemblent, la LoRA n'a rien fait (voir le tableau des échecs ci-dessous).

Le Playground texte vers vidéo de MiniMax H3 en vue Form, avec le champ Prompt et le bouton Run. La page LoRA ajoute une section Style LoRAs au même formulaire.
Le corps de requête du Playground est le même JSON que l'API accepte, donc une configuration qui fonctionne ici se copie telle quelle dans le code. Les deux autres tâches ajoutent leurs propres entrées :
- Image vers vidéo ajoute Input image (l'image d'ouverture) et une Closing frame optionnelle. Écrivez ce qui se passe ensuite dans le cadre, pas une nouvelle scène : avec une LoRA de concept à 1, un prompt qui déplaçait le sujet dans une autre pièce remplaçait l'image d'ouverture, alors que la même image tenait quand le prompt décrivait un mouvement à l'intérieur. Il n'y a pas de champ de rapport d'aspect, donc recadrez d'abord l'image à la forme voulue et laissez de la place pour le mouvement.
- Référence vers vidéo ajoute Reference images (jusqu'à 9), Reference videos (jusqu'à 3) et Reference audio (jusqu'à 3). Ouvrez le prompt par une phrase courte par entrée, chacune avec une seule mission : Picture 1 is the woman, Picture 2 is the room, Video 1 is the camera move, Audio 1 is her voice. Lorsque vous empruntez un mouvement à un clip, dites clairement que la personne vient de l'image et que seul le mouvement vient du clip ; sans cette phrase, la danseuse du clip est venue avec le mouvement. Trois bonnes images fixes tiennent l'identité mieux que neuf images superposées.
Le Playground de chaque page de modèle s'ouvre sur un exemple prêt à l'emploi, et son panneau Request body montre le JSON exact. Trois exécutions de ces exemples :
Les clips de référence sont facturés à leurs secondes en plus des secondes de sortie, jusqu'à 15 secondes de clip au total, alors gardez-les courts.
Puis lancez-le depuis le code
Installez le SDK Python (pip install spicyapi), définissez SPICY_API_KEY dans l'environnement de votre serveur et exécutez la requête texte vers vidéo ci-dessous. Pour les autres tâches, en image vers vidéo changez model, retirez aspect_ratio et ajoutez image_url ; pour référence vers vidéo changez model et ajoutez reference_image_urls (aspect_ratio reste).
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 nowLa création, l'attente, le téléchargement, les reprises et les codes d'erreur sont couverts dans le guide des tâches et la référence du SDK Python. Les fichiers générés sont conservés 14 jours au maximum, donc consultez rétention et livraison avant de construire sur le lien renvoyé ; en production, l'interrogation face aux webhooks vous aide à choisir.
Ou laissez un Agent l'exécuter
Quand un assistant doit lancer les générations, les trois outils officiels affichent le prix et vous demandent confirmation avant un appel payant.
- CLI. Mettez le même objet
inputdanst2v.json, puis :
``bash spicyapi tasks create --model minimax/h3-lora/text-to-video --input-file t2v.json --wait ``
Voir la documentation de la CLI ; npx @spicyapi/cli fonctionne sans installation.
- Serveur MCP. Ajoutez le serveur MCP à votre assistant, puis demandez : "Run MiniMax H3 LoRA text-to-video with this prompt and this weights link at strength 1, 480p, 3 seconds." Il appelle
spicyapi_task_create, qui s'arrête pour votre confirmation du prix, puisspicyapi_task_wait. - Skill.
npx skills add spicyapi-ai/spicy-skillinstalle l'Agent Skill, qui fait qu'un assistant de programmation lit le schéma du modèle en direct au lieu de deviner les champs.
Régler la force
scale va de 0 à 4, et 1 est neutre. Démarrez les LoRA de style à 1 et les LoRA de concept entre 0.6 et 0.8. Ensuite faites une échelle : le même prompt et la même seed en 480p et 3 secondes, avec l'échelle 0.5, 0.8 et 1.1, plus une exécution avec loras vide. Changez une seule chose par exécution. Une seed fixe rend les exécutions comparables, pas identiques, donc jugez le look et l'action plutôt que les pixels.

Gardez le barreau qui se lit bien, ou partagez la différence entre deux. Arrêtez d'augmenter la force quand le sujet, l'action ou le son commence à se dégrader ; si la base échoue déjà, aucune échelle ne la réparera. Regardez tout le clip plutôt que la première image, et écoutez, parce qu'une LoRA peut aussi changer le son (vh5tape l'étouffe volontairement). La carte vh5tape liste aussi des formulations de prompt pour une usure légère, moyenne et forte ; changez-les avant de pousser l'échelle au-delà de 1.

Empilez jusqu'à trois
Testez chaque fichier seul avant de combiner. Une LoRA de personnage entraînée sur des portraits lustrés peut lutter contre un look de bande marqué, et une LoRA de mouvement peut tourner le sujet hors du cadrage. Quand une pile se dérègle, gardez la seed et le prompt et retirez une entrée à la fois : un retour à la normale pointe vers cet adaptateur ou son interaction avec le reste de la pile. Baissez d'abord le poids le plus fort. Décidez à l'avance quelle exigence l'emporte en cas de conflit (l'identité plutôt que la texture, par exemple), et retestez une pile qui a marché en texte avant de l'utiliser sur une image photographique ou une référence.
Combien ça coûte
| Tâche | 480p | 540p | 768p | 1080p | Suppléments |
|---|---|---|---|---|---|
| Texte vers vidéo et image vers vidéo | $0.05/s | $0.075/s | $0.10/s | $0.20/s | Aucun ; les LoRA sont gratuites à charger |
| Référence vers vidéo | $0.06/s | $0.09/s | $0.135/s | $0.27/s | $0.02 par image de référence ou clip audio ; les secondes de clip sont facturées comme les secondes de sortie |
- 3 secondes en 480p : $0.15. 5 secondes en 480p : $0.25. 5 secondes en 1080p : $1.00.
- Les trois requêtes ci-dessus : $0.25 / $0.50 / $0.58.
- Une base plus une échelle à trois barreaux, quatre clips de 3 secondes en 480p : $0.60.
- Référence vers vidéo, 5 secondes en 480p : $0.32 avec une image, $0.34 avec deux, $1.37 en 1080p avec une image.
- Une tâche échouée ou expirée n'est normalement pas facturée ; un clip terminé que vous n'aimez pas l'est.
- Un devis qui inclut un clip de référence réserve les 15 secondes complètes du clip : $1.20 pour une sortie de 5 secondes en 480p. La facturation se règle sur la durée réelle du clip.
Faites vos brouillons en 480p et 3 secondes, puis renvoyez le gagnant une fois en 768p ou 1080p avec la même seed. Attendez-vous à une variation proche, pas à une copie.
Quand la LoRA ne fait rien ou que le clip tourne mal
| Symptôme | Cause probable | Solution |
|---|---|---|
| Le clip ressemble à un H3 ordinaire | Le fichier a été entraîné pour une autre base, le déclencheur manque, ou une image photographique ou une référence dirige une LoRA de style | Vérifiez la base de la carte, mettez le déclencheur en premier, essayez le même fichier en texte vers vidéo, puis augmentez l'échelle |
| Le clip dérive de votre image d'ouverture | Une LoRA de concept est trop forte, ou le prompt décrit une nouvelle scène | Descendez à 0.6 et ne décrivez que ce qui se passe ensuite |
| Le look submerge la scène | Le poids le plus fort est trop élevé, ou la pile est trop chargée | Baissez le poids le plus fort, puis retirez les entrées une à une |
| L'interprète d'un clip de référence apparaît | Le prompt n'a jamais dit à quoi sert le clip | Dites que la personne vient de l'image et que seul le mouvement vient du clip |
| L'identité oscille | Trop de références qui se chevauchent | Gardez deux ou trois bonnes images fixes |
| Rejeté avec 400 | Ce n'est pas un lien de fichier direct | Utilisez le lien de fichier /resolve/ |
| La tâche échoue après acceptation | Le lien a expiré ou le dépôt est devenu privé | Renvoyez avec "loras": [] ; faites qu'un lien pré-signé survive au job |
Utilisation sans censure
SpicyAPI n'ajoute aucun filtre de contenu au prompt, aux poids ni à la sortie. Dans ces tests, rien n'a été refusé sur notre échelle de contenu, qui va de L1 Suggestif et L2 Thèmes matures et L3 Fort jusqu'à L4 Intense, plus les sondes L5a Immobilisation et L5b Gore, sans aucune LoRA chargée. Un point faible : sans LoRA, image vers vidéo a adouci L4 Intense (une scène intime entre deux adultes) sur deux exécutions sur trois, alors que l'entrée texte et l'entrée référence ont rendu tous les niveaux. Avec une LoRA communautaire pour adultes chargée, les trois tâches ont rendu L4. Les résultats complets sont dans le test de H3 LoRA.
Le fait que SpicyAPI n'ajoute aucun filtre de contenu supplémentaire ne confère aucun droit sur une ressemblance : toutes les personnes montrées doivent être adultes, et une LoRA d'une personne réelle exige le consentement de cette personne et vos droits sur sa ressemblance.
Essayez dans le playground MiniMax H3 LoRA, qui affiche les prix en direct.
FAQ
Puis-je coller un nom de dépôt Hugging Face ou un lien /blob/ ?
Non. path attend un lien HTTPS direct vers le fichier ; une page /blob/ ou un simple nom owner/repo est rejeté avec un 400, et un champ weight_name, comme certains hôtes l'acceptent, n'a pas d'équivalent ici. Utilisez le lien /resolve/.
Puis-je charger une LoRA que j'ai entraînée moi-même ?
Oui, si elle a été entraînée sur le H3 à poids ouverts, enregistrée en .safetensors et accessible en HTTPS.






