Communitygithub.com

HD70X/minimax-video

Utilisez l'API officielle de MiniMax pour générer, vérifier et télécharger des vidéos H3, prenant en charge la génération texte-vers-vidéo, images de début et de fin, ainsi que des références image/vidéo/audio.

Qu'est-ce que minimax-video ?

Cette compétence permet de créer des vidéos via l'API officielle V2 de MiniMax, en exploitant directement le script `scripts/minimax_video.py`. Elle est conçue pour les utilisateurs de MiniMax ou de Hailuo AI qui souhaitent réaliser des productions vidéo avec des modèles H3, configurer leur propre API officielle, ou reprendre des tâches existantes. La compétence prend en charge les entrées de texte, les images de début et de fin, ainsi que les références multimodales (image, vidéo, audio). Elle gère à la fois les serveurs chinois (`api.minimax.cn`) et internationaux (`api.minimax.io`), et utilise par défaut le modèle `MiniMax-H3`. Les clés API sont lues depuis l'environnement ou un fichier de configuration local, sans jamais être exposées dans l'historique de chat. La compétence gère le cycle de vie complet d'une tâche vidéo : préparation hors ligne des prompts et des paramètres, soumission, suivi de l'état, téléchargement et vérification du fichier MP4 final. Elle intègre également un mode R2 optionnel pour les fichiers locaux volumineux, en utilisant un stockage S3 privé. Une attention particulière est portée à la fiabilité : chaque candidature est enregistrée avec un hash de requête, et les opérations de statut et de téléchargement peuvent être reprises automatiquement en cas d'échec. Le dépannage inter-conversations est possible via la commande `inspect --job`.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HD70X/clarkens-agent-skills/tree/HEAD/codex/skills/minimax-video

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

MiniMax Vidéo Officielle

Utilisez scripts/minimax_video.py de cette compétence pour vous connecter directement à l'interface V2 officielle de MiniMax. Le serveur national par défaut est https://api.minimax.cn, le serveur international est https://api.minimax.io, et le modèle par défaut est MiniMax-H3. Les nouvelles tâches MiniMax utilisent généralement cette compétence ; les tâches de Nàdōutōng doivent être vérifiées par le client d'origine, les ID de tâche ne sont pas transférés entre les services.

Configuration

  • Localisez le script à partir du répertoire d'installation réel de la compétence. Utilisez par défaut ~/.config/minimax/venv/bin/python ; les entrées en texte pur, HTTPS ou mm_file:// nécessitent uniquement Python 3.9+. Les dépendances pour la vérification des ressources locales et le R2 optionnel se trouvent dans scripts/requirements.txt.
  • Les identifiants lisent MINIMAX_API_KEY, la variable d'environnement est prioritaire, sinon analyse ~/.config/minimax/env. Ne lisez pas les identifiants de chat d'autres applications, n'écrivez pas la clé dans la compétence, la ligne de commande ou l'enregistrement de la tâche. Pour les environnements de serveur national/international et d'outils, voir Configuration et restauration.
  • En l'absence de clé, utilisez scripts/configure.py --region cn --gui dans une boîte de saisie masquée sur macOS ; sur d'autres systèmes, saisie masquée dans le terminal de l'utilisateur. Ne demandez pas à l'utilisateur d'envoyer la clé dans le chat. Les utilisateurs disposant déjà de la variable d'environnement peuvent utiliser --from-env, et pour une rotation, utilisez --replace-key.
  • doctor --check-api lit uniquement la liste des tâches récentes, vérifie l'authentification et l'interface de requête V2 ; ne prouve pas le solde, l'autorisation de génération pour un modèle spécifique ou la qualité du produit final. L'installation, la configuration et la recherche d'interface n'autorisent pas la génération payante.

Paramètres et entrée

Lors de la sélection d'un modèle, de paramètres non par défaut ou de ressources multimodales, lisez d'abord Interface officielle et capacités, n'utilisez pas les ID de modèle, les niveaux 720p/960p ou les limites de 4 à 12 secondes de Nàdōutōng.

  • L'échantillon par défaut est H3, 4 secondes, 768P ; le texte pur par défaut est 16:9, le rapport des images de début et de fin est déterminé par l'image d'entrée. Les limites de résolution, durée et rapport de référence des quatre modèles H3 diffèrent, le client vérifie selon le modèle.
  • --first-frame, --last-frame chacun au maximum une ; les références multimodales utilisent les paramètres répétables --ref-image, --ref-video, --ref-audio. Les images de début/fin ne peuvent pas être mélangées avec des références multimodales. Maintenez l'ordre des ressources et précisez clairement dans le prompt les rôles comme "Référence image 1" ou "Référence vidéo 1".
  • Les ressources prennent en charge les fichiers locaux, les URL HTTPS et les handles mm_file:// du compte officiel actuel. Les entrées locales sont d'abord sauvegardées dans une copie immuable et validées pour le format, la taille, la durée, etc. ; les spécifications des entrées distantes sont vérifiées par l'officiel, ne prétendez pas les avoir examinées localement.
  • Les petites ressources locales utilisent par défaut --delivery inline, transmises avec la requête de génération au format data URI officiel, sans hébergement tiers. La taille totale de la requête après expansion Base64 ne doit pas dépasser 64 Mo ; pour les fichiers MOV locaux ou volumineux, utilisez explicitement --delivery r2, puis exécutez host. Ne téléchargez, ne transcodez pas et ne modifiez pas les fichiers originaux de l'utilisateur pour contourner les limites.
  • Le mode R2 utilise uniquement un bucket privé configuré, réutilise les objets par hachage et vérifie les téléchargements anonymes. Avant le téléchargement, respectez les conventions de ressources et de confidentialité du projet cible ; hébergez uniquement dans le cadre des ressources autorisées par la tâche en cours. En cas d'échec de configuration ou d'hébergement, signalez-le, ne changez pas automatiquement de service d'hébergement d'images.

Production et vérification

Lorsque l'utilisateur demande une génération vidéo, complétez un candidat ; les lots et tentatives supplémentaires suivent cette convention. Chaque candidat utilise un nouveau répertoire de tâche, prioritairement placé dans le répertoire tmp/artwork/generations/<run-id>/<asset-id>/<attempt-id>/ ignoré par le projet ; en l'absence de projet, utilisez le répertoire temporaire de l'espace de travail ou un emplacement spécifié par l'utilisateur, sans écraser les tâches anciennes.

  1. Utilisez doctor --check-api pour vérifier la configuration. Écrivez les actions, les plans, les contraintes de personnages/objets et les exigences sonores dans un fichier de prompt UTF-8, utilisez prepare pour figer le prompt, les paramètres officiels, la région de service et la copie d'entrée. Cette étape est hors ligne, ne génère pas de vidéo.
  2. Exécutez host uniquement en mode --delivery r2 avec des ressources locales. Cette opération télécharge les ressources vers le R2 privé et permet à MiniMax d'utiliser des liens signés ; les ressources inline sont transmises directement à MiniMax.
  3. Exécutez une fois submit. Le client sauvegarde de manière exclusive l'enregistrement de soumission et le hachage de requête avant le POST payant ; l'officiel ne garantit pas de clé d'idempotence dans la documentation vérifiée, ne considérez pas l'UUID de requête local comme une garantie de déduplication côté serveur.
  4. Utilisez des requêtes status indépendantes, avec les statuts queued / running / succeeded / failed / cancelled. Utilisez une attente interruptible par l'hôte et maintenez une communication de progression, ne faites pas de polling pendant plusieurs minutes dans une longue commande shell.
  5. Après succès, utilisez download pour télécharger, vérifier le MP4 et sauvegarder le hachage. En cas d'échec de téléchargement, ne réessayez que status / download ; les URL de médias expirés peuvent être actualisées par une nouvelle requête. L'officiel ne fournit que la recherche des tâches des 7 derniers jours, sauvegardez rapidement.
  6. Pour reprendre entre conversations, utilisez d'abord inspect --job, puis status / download. Tout submission.json empêche une nouvelle soumission. Les délais, déconnexions, 5xx ou absence d'ID sont des résultats incertains, conservez les preuves ; vous pouvez utiliser tasks en lecture seule pour vérifier, mais la proximité de modèle et de temps ne prouve pas qu'il s'agit de la même tâche. En cas d'échec ou de résultat incertain, ne créez pas automatiquement de candidats payants supplémentaires.

Exemple de commande (les variables représentent des chemins absolus réels ; JOB ne doit pas encore exister) :

"$PY" "$CLIENT" doctor --check-api
"$PY" "$CLIENT" prepare --job "$JOB" --prompt-file "$PROMPT_FILE" --first-frame "$FIRST_FRAME" --duration 4 --resolution 768P
"$PY" "$CLIENT" submit --job "$JOB"
"$PY" "$CLIENT" status --job "$JOB"
"$PY" "$CLIENT" download --job "$JOB"

Pour le texte pur, omettez --first-frame, donnez --ratio si nécessaire ; pour les images de début et de fin, ajoutez --last-frame. Pour les références multimodales, utilisez les paramètres --ref-* correspondants. En mode R2, ajoutez --delivery r2 lors de prepare, et exécutez host --job "$JOB" avant submit. Options complètes lisez --help du script.

Livraison

Livrez le fichier video.mp4 local lisible et le répertoire de la tâche, affichez la vidéo avec le chemin absolu. Précisez le modèle réel, la durée, la résolution, le rapport et les performances sonores, ainsi que si vous avez vérifié la vidéo en vitesse réelle, les images de début et de fin et la cohérence des personnages ; le succès HTTP n'équivaut pas à une acceptation visuelle.

L'enregistrement de la tâche contient le prompt, les ressources Base64, les URL signées et l'ID réel de la tâche, lisible uniquement par l'utilisateur actuel, ne le collez pas en entier dans le chat ou Git. La console affiche l'empreinte de la tâche ; le Bearer de l'API officielle n'est envoyé qu'aux hôtes autorisés de l'API officielle, le produit final et toutes ses redirections sont téléchargés via HTTPS anonyme.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills associés