Communitygithub.com

HD70X/nxtpath-video

Utiliza la API Seedance 2.5 de 哪都通 / Nxtpath para generar video a partir de imágenes de referencia o texto, consultar tareas existentes y descargar el resultado final. Ideal para video a partir de imagen, muestras de animación y repetición de trabajos; soporta alojamiento privado en R2 para imágenes locales. No apto para generación de imágenes estáticas, SVG nativo o animación de rigs.

¿Qué es nxtpath-video?

Este skill proporciona un cliente Python independiente para generar videos candidatos usando la API Seedance 2.5 de Nxtpath (哪都通). Permite la creación de videos a partir de una imagen de referencia y una descripción textual, o solo desde texto. Incluye funcionalidades para preparar prompts, alojar imágenes locales en un bucket R2 privado, enviar trabajos de generación, consultar su estado y descargar el video resultante. Está diseñado para flujos de trabajo de video a partir de imagen, muestras de animación y repetición de trabajos en proyectos creativos. Es compatible con Claude Code y opera mediante comandos independientes que se ejecutan a través de `run_command`, evitando bucles de espera prolongados y utilizando un sistema de temporizador programado (schedule) para consultas de estado. La configuración de la API se maneja mediante la variable de entorno `NXTPATH_API_KEY`, y el skill garantiza que no se compartan claves ni se realicen envíos duplicados.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Vista previa

Del README del skill

Documentación

Video a partir de imagen de 哪都通 (Antigravity)

Utiliza el cliente Python independiente de este Skill para generar videos candidatos. El modelo predeterminado es seedance-2.5, que ha sido probado; el flujo de trabajo no depende de ningún proyecto en particular, otros árboles de trabajo o estado de despliegue.

Configuración local y punto de entrada de ejecución

  • La credencial unificada es NXTPATH_API_KEY, que se lee por defecto de la variable de entorno o de ~/.config/nxtpath/env. La variable de entorno tiene prioridad; NXTPATH_ENV_FILE puede especificar otra configuración privada. No leas tokens de chat de otras aplicaciones ni coloques la clave en la línea de comandos, Skill, informes o registros de tareas.
  • Los nuevos procesos zsh cargan la configuración local desde ~/.zshenv; si la GUI o procesos antiguos no heredan el entorno, el cliente aún puede leer directamente los archivos mencionados. Solo informa si la configuración existe, no muestres su contenido.
  • Localiza scripts/nxtpath_video.py desde el directorio del Skill cargado actualmente. Prioriza el uso de ~/.config/nxtpath/venv/bin/python; si no existe, las imágenes de referencia HTTPS y la API de video pueden ejecutarse directamente con Python 3.9+. El alojamiento de imágenes locales también requiere boto3 de scripts/requirements.txt.
  • En el proyecto de destino, primero lee los recursos aplicables y las convenciones de privacidad. Las tareas se colocan por defecto en la ruta ignorada del proyecto tmp/artwork/generations/<run-id>/<asset-id>/<attempt-id>/; si no hay proyecto, se usa el directorio de salida seleccionado por el usuario. No sobrescribas intentos anteriores ni agregues candidatos automáticamente a la compilación o a los recursos formales.

Realizar una creación o reanudar una tarea existente

Cuando el usuario haya solicitado explícitamente generar un video, completa un candidato según esa solicitud, sin preguntar nuevamente por confirmaciones genéricas. Preguntar solo sobre ruta, configuración o uso del Skill no autoriza una generación paga. La cantidad en lote, el número de repeticiones y el rango de costos siguen lo acordado con el usuario en esta ocasión; si no se acordó, comienza con una, sin expandir automáticamente ni regenerar tareas fallidas.

  1. Ejecuta doctor --check-api mediante run_command para verificar las credenciales y los modelos disponibles. Esta es una solicitud de solo lectura, no genera video.
  2. Confirma la imagen de referencia y la descripción de la acción (para imágenes de referencia locales, primero usa read_file para revisarlas). Define claramente la fase de acción, el encuadre, la composición, la duración y los personajes y accesorios que deben mantenerse; para muestras no especificadas, el valor predeterminado es 4 segundos / 480p, no tomes la muestra de baja resolución predeterminada como el resultado final formal. La velocidad de fotogramas nativa, la consistencia del personaje, las poses inicial/final y la transparencia se basan en el video real.
  3. Guarda el prompt como un archivo UTF-8 y usa prepare para establecer una entrada inmutable. --reference puede repetirse para incluir imágenes locales PNG/JPEG/WebP o URLs de imágenes HTTPS; estas son imágenes de guía comunes, no se puede afirmar que la API haya bloqueado los fotogramas clave inicial y final. Para generar video a partir de texto, no es necesario pasar una imagen de referencia.
  4. Cuando existan imágenes locales, ejecuta host para cargar o reutilizar las instantáneas de entrada en un bucket R2 privado ya configurado, emite un GET de 24 horas y verifica el hash de descarga. Esta operación transmitirá la imagen de referencia al servicio de alojamiento y al proveedor de video; debe realizarse dentro del alcance de los materiales solicitados por el usuario. Si falla el alojamiento, no envíes el video, no cambies automáticamente de cuenta, bucket público o servicio. Las imágenes de referencia HTTPS no necesitan host.
  5. Ejecuta submit solo una vez. Primero persiste un registro de envío exclusivo, luego realiza un POST pago. Después, consulta con status independiente y, si tiene éxito, obtén video.mp4 con download; cada comando se ejecuta de forma independiente mediante run_command. No metas una encuesta de minutos en una sola llamada larga de shell y nunca uses sleep de shell como temporizador. Cuando necesites esperar, usa schedule(DurationSeconds=...) para establecer un temporizador único y finaliza la ronda actual para esperar la activación, luego vuelve a ejecutar status. No regeneres la solicitud por tiempo de espera.
  6. Al reanudar entre conversaciones, usa la ruta de trabajo original, primero inspect, luego status / download. No se debe realizar un POST duplicado para intentos ya enviados, con resultados desconocidos o sin ID de tarea; si no hay ID de tarea, verifica con el proveedor según los registros de envío privados. Si falla la descarga, solo reintenta la descarga. Detén el envío en caso de errores 401/403, cuota insuficiente o modelo no disponible, e informa la razón; no cambies automáticamente de clave, modelo o interfaz.

Ejemplo de comandos (CLIENT se refiere al script real en el Skill; PY se refiere al Python local; JOB es el directorio de tarea recién creado):

"$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"

Entrega y límites

Entrega el video local reproducible y la ruta de trabajo, usando el enlace [video.mp4](file:///ruta/absoluta/al/video.mp4) para mostrar el video, e indica que es un candidato y el contenido que realmente se ha verificado. Cuando sea necesario revisar el resultado final, utiliza la herramienta read_file de Antigravity para leer el video.mp4 descargado (soporta de forma nativa la lectura multimodal de video), verifica la velocidad original, las acciones clave y las poses inicial y final; no consideres que el éxito HTTP equivalga a que la acción o el arte estén aprobados.

Los registros de tarea contienen el prompt, la instantánea de entrada, la solicitud exacta, el identificador de la tarea del proveedor, el resultado y el hash del archivo; los permisos por defecto son de solo lectura para el usuario actual. Estos registros pueden contener URLs firmadas temporales, no se pueden pegar completos en el chat ni enviar a Git. La consola solo muestra la huella del identificador de la tarea. La eliminación de fondo transparente, la integración con SVG y la conexión con la aplicación pertenecen a la producción posterior y se manejan según las herramientas y autorizaciones del proyecto de destino.

Solo lee la configuración y recuperación de fallos al cambiar de dispositivo, actualizar credenciales o cuando falla el alojamiento. La referencia de la interfaz está en Skill Seedance del proveedor.

Individual skills in this repo

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

Skills relacionados