Communitygithub.com

HD70X/nxtpath-video

Utilise l'API Seedance 2.5 de Nxtpath pour générer des vidéos à partir d'une image de référence ou d'un texte, reprendre des tâches existantes et télécharger les résultats. Convient pour la génération vidéo à partir d'images, d'animations et de reprises vidéo ; prend en charge l'hébergement privé R2 pour les images locales. Ne convient pas pour la génération d'images statiques ou d'animations SVG/rig natives.

Qu'est-ce que nxtpath-video ?

Cette compétence permet de générer des vidéos candidates via l'API Seedance 2.5 de Nxtpath, en utilisant un client Python dédié. Elle est utile pour la création de vidéos à partir d'images de référence ou de texte, la production de petits échantillons d'animation, et la reprise de tâches vidéo existantes. La compétence prend en charge les images locales via un hébergement privé sur un bucket R2, et gère l'ensemble du flux : vérification des credentials, préparation des entrées, soumission de la tâche, suivi du statut et téléchargement de la vidéo finale. Les commandes sont exécutées de manière indépendante via `run_command`, avec une gestion des temporisations via `schedule` pour éviter les attentes bloquantes. La compétence est conçue pour les développeurs et les utilisateurs de l'IA agent qui souhaitent intégrer la génération vidéo dans leurs workflows, avec une attention particulière à la sécurité (pas d'exposition des clés API) et à la fiabilité (pas de nouvelles soumissions en cas d'échec de téléchargement).

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

Demander à votre IA préférée

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

Aperçu

Depuis le README du skill

Documentation

Génération vidéo Antigravity(哪都通图生视频)

Utilisez le client Python indépendant de cette compétence pour générer des vidéos candidates. Le modèle par défaut est seedance-2.5, qui a été testé ; le processus de création ne dépend d'aucun projet spécifique, d'aucun autre arbre de travail ou d'état de déploiement.

Configuration locale et point d'entrée d'exécution

  • Le jeton unifié est NXTPATH_API_KEY, lu par défaut depuis une variable d'environnement ou depuis ~/.config/nxtpath/env. La variable d'environnement a priorité ; NXTPATH_ENV_FILE peut spécifier une autre configuration privée. Ne lisez pas les jetons de chat d'autres applications, ne placez pas la clé dans la ligne de commande, la compétence, le rapport ou les enregistrements de tâches.
  • Les nouveaux processus zsh chargent la configuration locale via ~/.zshenv ; lorsque les GUI ou les anciens processus n'ont pas hérité de l'environnement, le client peut toujours lire directement le fichier ci-dessus. Signalez seulement si la configuration existe, n'en affichez pas le contenu.
  • Localisez scripts/nxtpath_video.py à partir du répertoire de la compétence actuellement chargée. Utilisez d'abord ~/.config/nxtpath/venv/bin/python ; s'il n'existe pas, l'API d'images de référence HTTPS et de vidéo peut être exécutée directement avec Python 3.9+. L'hébergement d'images locales nécessite également boto3 dans scripts/requirements.txt.
  • Dans le projet cible, lisez d'abord les ressources et les conventions de confidentialité applicables. Les tâches sont placées par défaut dans le répertoire ignoré du projet tmp/artwork/generations/<run-id>/<asset-id>/<attempt-id>/ ; s'il n'y a pas de projet, utilisez le répertoire de sortie choisi par l'utilisateur. N'écrasez pas les anciennes tentatives, n'ajoutez pas automatiquement les candidats à la construction ou aux ressources officielles.

Effectuer une nouvelle génération ou reprendre une tâche existante

Lorsque l'utilisateur a clairement demandé la génération d'une vidéo spécifique, effectuez une seule candidature selon cette demande, sans répéter les confirmations générales. Se renseigner sur le routage, la configuration ou l'utilisation de la compétence n'autorise pas une génération payante. Les quantités par lot, le nombre de reprises et la fourchette de coûts suivent la convention établie par l'utilisateur ; si non définie, commencez par une seule, sans augmenter automatiquement ni régénérer les tâches échouées.

  1. Exécutez doctor --check-api via run_command pour vérifier le jeton et les modèles disponibles. C'est une requête en lecture seule, ne génère pas de vidéo.
  2. Confirmez l'image de référence et la description du mouvement (pour les images de référence locales, utilisez d'abord read_file pour les visualiser). Précisez la phase d'action, le plan, la composition, la durée, les personnages et accessoires à conserver ; par défaut, les petits échantillons non spécifiés feront 4 secondes / 480p, ne considérez pas un petit échantillon basse résolution par défaut comme un résultat final officiel. La fréquence d'images native, la cohérence des personnages, la pose de début/fin et la transparence sont basées sur la vidéo réelle.
  3. Sauvegardez le prompt dans un fichier UTF-8, utilisez prepare pour établir une entrée immuable. --reference peut être répété pour des images PNG/JPEG/WebP locales ou des URL HTTPS ; ce sont des images de guidage générales, ne prétendez pas que l'API verrouille les images clés de début et de fin. La génération vidéo à partir de texte peut ne pas inclure d'image de référence.
  4. S'il y a des images locales, exécutez host pour télécharger ou réutiliser un instantané des entrées dans un bucket R2 privé configuré, émettre un GET de 24 heures et vérifier le hachage du téléchargement. Cette opération transmet l'image de référence au service d'hébergement et au fournisseur de vidéo ; cela doit être dans le cadre des ressources demandées par l'utilisateur. Si l'hébergement échoue, ne soumettez pas la vidéo, ne changez pas automatiquement de compte, de bucket public ou de service. Les images de référence HTTPS n'ont pas besoin de host.
  5. Exécutez submit une seule fois. Il persiste d'abord un enregistrement de soumission exclusif, puis envoie un POST payant. Ensuite, interrogez avec un status indépendant, et après succès, utilisez download pour obtenir video.mp4 ; chaque commande est exécutée indépendamment via run_command, ne mettez pas une boucle d'interrogation de plusieurs minutes dans un seul appel shell long, et n'utilisez jamais sleep du shell comme minuteur. Lorsque vous devez attendre, utilisez schedule(DurationSeconds=...) pour définir un minuteur unique et terminer le tour en cours en attendant le réveil, puis exécutez à nouveau status ; ne relancez pas la demande de génération en cas de timeout.
  6. Pour reprendre entre dialogues, utilisez le chemin de job d'origine, exécutez d'abord inspect, puis status / download. Ne répétez jamais un POST pour une tentative déjà soumise, dont le résultat est inconnu ou sans ID de tâche ; sans ID de tâche, vérifiez auprès du fournisseur en fonction des enregistrements de soumission privés. En cas d'échec de téléchargement, réessayez uniquement le téléchargement. En cas de 401/403, de crédit insuffisant ou de modèle indisponible, arrêtez la soumission, rapportez la raison, ne changez pas automatiquement de clé, de modèle ou d'interface.

Exemples de commandes (CLIENT fait référence au script dans la compétence réelle ; PY fait référence au Python local ; JOB est le répertoire de tâche nouvellement créé) :

"$PY" "$CLIENT" doctor --check-api
"$PY" "$CLIENT" prepare --job "$JOB" --prompt-file "$PROMPT_FILE" --reference "$REFERENCE_IMAGE" --duration 4 --resolution 480p --ratio 1:1
"$PY" "$CLIENT" host --job "$JOB"
"$PY" "$CLIENT" submit --job "$JOB"
"$PY" "$CLIENT" status --job "$JOB"
"$PY" "$CLIENT" download --job "$JOB"

Livraison et limites

Livrez la vidéo locale lisible et le chemin du job, utilisez le lien [video.mp4](file:///chemin/absolu/vers/video.mp4) pour afficher la vidéo, et expliquez qu'il s'agit d'une candidate et ce qui a été effectivement vérifié. Lorsqu'il est nécessaire de visionner le résultat final, utilisez directement l'outil read_file d'Antigravity pour lire le fichier video.mp4 téléchargé (support natif de la lecture multimodale vidéo), vérifiez la vitesse d'origine, les actions clés et la pose de début/fin, ne considérez pas le succès HTTP comme une validation du mouvement ou de l'art.

Les enregistrements de tâches contiennent le prompt, l'instantané d'entrée, la requête exacte, le handle de tâche du fournisseur, le résultat et le hachage du fichier, avec des permissions par défaut en lecture seule pour l'utilisateur actuel ; ces enregistrements peuvent contenir des URL signées temporaires, ne les collez pas en entier dans le chat ou dans Git. La console affiche uniquement l'empreinte du handle de tâche. La suppression de fond transparente, l'enchaînement SVG et l'intégration d'applications relèvent de la production ultérieure, selon les outils et autorisations du projet cible.

Consultez Configuration et récupération d'erreur uniquement en cas de changement d'appareil, de mise à jour du jeton ou d'échec d'hébergement. Les références d'interface se trouvent dans Compétence Seedance du fournisseur.

Individual skills in this repo

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

Skills associés