Video Corto de Un Solo Clic (Orquestación de Extremo a Extremo)
Introduce un tema y obtén automáticamente un video corto listo para publicar. Este SKILL es la capa de orquestación: encadena las piezas de producción existentes en una línea de montaje — Guion (video-script) → Imagen por frase (ai-image-gen) o fragmento (ai-video-gen) → Locución (tts-voiceover) → Subtítulos (auto-subtitle) → BGM (ai-music) → Edición final (scripts/assemble.py). Inspirado en el enfoque de motor de video corto automático de Pixelle-Video / MoneyPrinterTurbo.
Entrada
- Tema / Guion (obligatorio)
- Opcional: duración objetivo, estilo, si incluir locución/subtítulos/BGM, si las imágenes son generadas por IA o proporcionadas por el usuario
- Regla estricta de confirmación de relación de aspecto: si el usuario o la tarea upstream no especifica claramente si es horizontal/vertical (o 16:9/9:16/resolución específica), se debe preguntar y esperar confirmación antes de la producción/llamadas de pago; no se debe inferir silenciosamente desde la plataforma, el perfil o valores predeterminados. Si ya está especificado, no preguntar de nuevo.
Salida
El video final se escribe en outputs/nombre-del-tema/final.mp4; los storyboards, locuciones, subtítulos y el storyboard se escriben en outputs/nombre-del-tema/assets/.
Pasos de Ejecución (ajustables según sea necesario; los pasos que falten API key se degradan automáticamente o se pregunta)
-
Escribir guion y storyboard: Usa video-script para convertir el tema en un guion de voz en off, dividido en N frases (cada frase es un plano), y cada frase acompañada de una descripción visual.
-
Generar imágenes (una imagen o clip por plano):
- Si hay API key de imagen → ai-image-gen text2img por frase (según la relación de aspecto confirmada)
- Si se necesita dinamismo → ai-video-gen text2video/image2video
- Si el usuario proporciona material propio → Usar image-editing
padpara ajustar a la relación de aspecto confirmada - Si no hay nada de lo anterior → Seleccionar tarjetas prediseñadas según la relación de aspecto (vertical: card-xiaohongshu/poster-hero, horizontal: card-quote) y luego hacer
padpara evitar desajustes de relación de aspecto.
-
Locución: tts-voiceover sintetiza el guion en voz en off (generando también SRT). Si se ha configurado
VOICE_PROVIDER, se usan voces de pago de alta calidad (con emoción, sonido realista); solo si no hay clave se recurre a edge (voz mecánica) — para una locución que no suene "artificial", es imprescindible configurar una clave de pago. Saltar si no se necesita locución. -
Subtítulos: Usar el SRT adjunto de TTS, o ejecutar auto-subtitle sobre la locución; también se puede dejar que assemble genere subtítulos automáticamente a partir de los captions de cada plano.
-
BGM: ai-music genera música, o usar música proporcionada por el usuario. Opcional.
-
Editar video final: Escribir los activos anteriores en un storyboard JSON y llamar al ensamblador:
python skills/openclaw/auto-short-video/scripts/assemble.py assemble \ --storyboard outputs/nombre-del-tema/assets/storyboard.json \ -o outputs/nombre-del-tema/final.mp4Estructura del storyboard (elegir entre imagen/video; narración/bgm/subtítulos opcionales; si falta duration, se divide uniformemente según la locución):
{ "size": "<tamaño confirmado, ej. 1080x1920 o 1920x1080>", "image_motion": "ken-burns", "shots": [ {"image": "outputs/nombre-del-tema/assets/shot1.png", "duration": 3, "caption": "Primera frase", "motion": "static"}, {"video": "outputs/nombre-del-tema/assets/clip2.mp4", "caption": "Segunda frase"} ], "narration": "outputs/nombre-del-tema/assets/voice.mp3", "bgm": "outputs/nombre-del-tema/assets/bgm.mp3", "subtitle": "outputs/nombre-del-tema/assets/voice.srt" }image_motionestablece el movimiento predeterminado para todas las imágenes; elmotionde un plano individual puede sobrescribirlo: para fotos usarken-burns, para diapositivas/gráficos/interfaces que contengan texto usarstatic(escalado proporcional + relleno de bordes, sin recortar ni desplazar). El ensamblador hace automáticamente: generar fotogramas estáticos o Ken Burns segúnimage_motion, rellenar bordes para ajustar a la relación de aspecto, unir clips, mezclar locución + BGM (el BGM se reduce automáticamente), y quemar subtítulos. -
Entrega: Producir final.mp4, acompañado de una nota de producción (qué pasos se usaron, cuáles se degradaron).
Principios de Orquestación
- Piezas opcionales: Los pasos que falten API key de imagen/video/TTS se degradan automáticamente (tarjetas prediseñadas como respaldo / saltar locución), sin bloquear el flujo completo, e informar al usuario qué se degradó.
- Plan primero: Cuando se involucren múltiples APIs de pago (generación de imagen/video/música), primero explicar al usuario cuáles se llamarán, el tiempo/coste aproximado, y esperar confirmación antes de ejecutar.
- Archivar productos intermedios: Las imágenes del storyboard, locuciones, subtítulos y el storyboard se escriben en
outputs/nombre-del-tema/assets/, facilitando la sustitución individual y la reedición.
Percepción del Perfil
- Con perfil: Tomar el tono/estilo visual de
style.mdpara unificar el guion y los prompts de las imágenes;platforms.mdsolo se usa para sugerir relación de aspecto/duración, pero la relación de aspecto debe confirmarse;preferences.mdfiltra por reglas rojas. - Sin perfil: Confirmar primero si horizontal/vertical, luego usar un estilo de voz en off genérico.