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_FILEpeut 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 égalementboto3dansscripts/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.
- Exécutez
doctor --check-apiviarun_commandpour 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. - Confirmez l'image de référence et la description du mouvement (pour les images de référence locales, utilisez d'abord
read_filepour 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. - Sauvegardez le prompt dans un fichier UTF-8, utilisez
preparepour établir une entrée immuable.--referencepeut ê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. - S'il y a des images locales, exécutez
hostpour 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 dehost. - Exécutez
submitune seule fois. Il persiste d'abord un enregistrement de soumission exclusif, puis envoie un POST payant. Ensuite, interrogez avec unstatusindépendant, et après succès, utilisezdownloadpour obtenirvideo.mp4; chaque commande est exécutée indépendamment viarun_command, ne mettez pas une boucle d'interrogation de plusieurs minutes dans un seul appel shell long, et n'utilisez jamaissleepdu shell comme minuteur. Lorsque vous devez attendre, utilisezschedule(DurationSeconds=...)pour définir un minuteur unique et terminer le tour en cours en attendant le réveil, puis exécutez à nouveaustatus; ne relancez pas la demande de génération en cas de timeout. - Pour reprendre entre dialogues, utilisez le chemin de job d'origine, exécutez d'abord
inspect, puisstatus/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.