Communitygithub.com

Wan2.2-Animate 图生动效

Convierte una imagen estática de un personaje en un video animado que imita los movimientos y expresiones de un video de referencia. Ideal para clonación de movimientos, baile o animación de personajes anime.

¿Qué es Wan2.2-Animate 图生动效?

Este skill permite animar imágenes estáticas de personajes (reales o anime) utilizando el modelo Wan2.2-Animate-Move de Alibaba Cloud (Bailian). El usuario proporciona una imagen del personaje y un video de referencia (2-30 segundos), y el skill genera un video MP4 donde el personaje reproduce fielmente los movimientos y expresiones del video. Es útil para tareas como “hacer que esta imagen se mueva”, “seguir el baile de un video”, “clonación de movimientos” o “reemplazo de personaje”. El skill verifica automáticamente que exista una API Key de Alibaba Cloud Bailian, sube los archivos locales a almacenamiento temporal, crea una tarea asíncrona, consulta cada 15 segundos y descarga el resultado. Soporta dos modos: wan-std (rápido y económico) y wan-pro (mayor calidad pero más lento y costoso). También incluye validaciones de tamaño, formato y duración de los materiales, así como manejo de errores comunes como URLs no accesibles, restricciones de contenido o cuotas agotadas.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add vermicellichina-max/wan22-animate

Preguntar en tu IA favorita

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

Documentación

¿Qué hace Wan2.2-Animate 图生动效?

Transfiere los movimientos y expresiones faciales de un video de referencia a una imagen estática de un personaje para generar un video dinámico. Utiliza la API de Alibaba Cloud Bailian con el modelo fijo wan2.2-animate-move.

Verificación previa (realizar siempre)

Este skill requiere una API Key de Alibaba Cloud Bailian. Primero cambia al directorio donde se encuentra este archivo SKILL.md y ejecuta:

python scripts/wan_animate.py check

Si la ruta indica "archivo no encontrado", vuelve a intentar usando la ruta absoluta del directorio del skill (reemplaza scripts/wan_animate.py por <directorio_del_skill>/scripts/wan_animate.py). No abandones ni escribas la solicitud por tu cuenta si no se encuentra el script.

  • Salida "api_key_set": true → continuar directamente.
  • Salida false → detente y pide al usuario la API Key. No la adivines ni la escribas en el código. Indícale al usuario que cree una en la consola de Alibaba Cloud Bailian y que configure la variable de entorno:
# Windows PowerShell
$env:DASHSCOPE_API_KEY="sk-xxxx"
# macOS / Linux
export DASHSCOPE_API_KEY=sk-xxxx

No guardes la API Key del usuario en ningún archivo, nota o resumen de conversación. Solo pásala en la variable de entorno de la sesión actual.

Si el usuario desea usar un dominio exclusivo del espacio de trabajo (más rápido y estable), pídele que proporcione el DASHSCOPE_API_HOST: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com o, para la región de Singapur, https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com. Ten en cuenta que las API Keys de Beijing y Singapur no son intercambiables.

Ejecución

python scripts/wan_animate.py run \
  --image <ruta_o_URL_de_la_imagen_del_personaje> \
  --video <ruta_o_URL_del_video_de_referencia> \
  --mode wan-std \
  --out ./output

Parámetros:

ParámetroDescripción
--imageObligatorio. Imagen del personaje (ruta local o URL pública). Los archivos locales se suben automáticamente al almacenamiento temporal de Bailian.
--videoObligatorio. Video de referencia, misma regla. Duración: 2 a 30 segundos.
--modewan-std modo estándar (rápido, económico, predeterminado); wan-pro modo profesional (mejor fluidez pero más lento y costoso).
--watermarkAgrega la marca de agua "Generado por IA". Por defecto no se agrega.
--outDirectorio de salida. Por defecto ./wan_animate_output.
--no-downloadSolo devuelve el enlace del resultado, no lo descarga. El enlace es válido por 24 horas, pero generalmente es mejor descargar localmente.

El script realiza automáticamente: subida de materiales locales → creación de tarea asíncrona → consulta cada 15 segundos → descarga del resultado final. Un solo video suele tardar varios minutos; esto es normal, no interrumpas con errores, deja que la consulta termine. Finalmente, se mostrará el JSON de resultado entre RESULT_JSON_BEGIN / RESULT_JSON_END. Informa al usuario la ruta del video.

Límites de los materiales (verificar antes de enviar, ahorra fallos)

  • Imagen: JPG/JPEG/PNG/BMP/WEBP, ancho y alto entre 200 y 4096 px, relación de aspecto 1:3 a 3:1, ≤ 5 MB.
  • Video: MP4/AVI/MOV, duración 2 a 30 segundos, ancho y alto entre 200 y 2048 px, relación de aspecto 1:3 a 3:1, ≤ 200 MB.
  • Ambos materiales deben ser URL públicas accesibles o archivos locales. Las URLs normales que requieren inicio de sesión o tienen protección antienlace fallarán; en ese caso, pídele al usuario que descargue los archivos localmente y usa la ruta local.

Si se superan los límites, informa al usuario antes de llamar y explica cómo solucionarlo (recortar, comprimir, transcodificar). No envíes ciegamente.

Optimización de resultados (cuando la calidad sea baja, revisa estos puntos primero)

  1. La proporción del personaje en el encuadre debe ser similar entre imagen y video: un personaje de cuerpo entero vs. medio cuerpo casi siempre falla.
  2. La proporción corporal del personaje debe ser consistente en ambos materiales.
  3. Cuanto mayor sea la resolución y tasa de fotogramas del video de referencia, mejor. Un video borroso reduce directamente la calidad final.
  4. Primero prueba con wan-std para verificar si los movimientos coinciden; si quedas satisfecho, usa wan-pro para la versión final. El modo pro es caro, no lo gastes de entrada.

Manejo de errores comunes

El script traduce los códigos de error de Bailian a lenguaje humano. Solo debes transmitirlos al usuario:

  • UrlOrFileNotReachable / downloadFail → El enlace no está accesible o tiene autenticación. Cambia a archivo local.
  • DataInspectionFailed / IPInfringementSuspect → Los materiales no pasaron la revisión de contenido o se sospecha infracción de derechos. Cambia los materiales.
  • Arrearage / FreeQuotaExhausted → La cuenta tiene deuda o se agotó la cuota gratuita. Necesita recargar o activar el pago.
  • InvalidApiKey → La clave ha caducado. Pide al usuario que genere una nueva.
  • Throttling → Límite de velocidad alcanzado. Espera y reintenta.
  • InvalidParameter → Las dimensiones o duración del material no cumplen con los límites. Revisa las restricciones anteriores.

Política de facturación: la entrada no se cobra; solo se cobra por los segundos de video generados correctamente. Las llamadas fallidas no se cobran. Los precios unitarios específicos se encuentran en la consola de Bailian. Si el usuario pregunta, indícale que revise la página "Precios del modelo", no cotices de memoria.

Si el usuario aún no ha proporcionado los materiales, pregúntale primero dónde están la imagen y el video. No inventes rutas de archivos.

Skills relacionados