Communitygithub.com

一句话视频

Convierte una frase o idea en un video MP4 corto con música y subtítulos: explicaciones, divulgación, presentaciones de productos, informes de datos o tarjetas de conocimiento, de 20 a 90 segundos, en horizontal o vertical. Solo necesitas un archivo `video.json` y un comando para generar el video; puedes incluir clips de material grabado, exportar proyectos a Final Cut Pro y CapCut (剪映), no requiere modelos de generación de video, funciona en Windows, macOS y Linux.

¿Qué es 一句话视频?

Este skill te permite generar videos cortos tipo 'explicador' o 'clip' a partir de una simple frase o tema. El usuario da una idea y el agente (basado en un modelo de lenguaje) diseña automáticamente el estilo, decide qué se ve en cada escena, escribe el archivo `video.json` y los scripts de escenas personalizadas, y luego usa herramientas locales (FFmpeg, Node.js) para renderizar el video final con música y subtítulos. Soporta múltiples estilos visuales (papercraft, clay, isometric, dashboard, etc.) y temas integrados, así como la inclusión de clips de video real proporcionados por el usuario. El skill está diseñado para funcionar en Windows, macOS y Linux sin necesidad de servicios en la nube. Incluye pasos de validación, generación de hojas de vista previa y exportación de proyectos para edición en Final Cut Pro o CapCut. Es ideal para creadores de contenido, desarrolladores y cualquier persona que necesite producir videos explicativos rápidos y atractivos a partir de texto.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/li2092/one-prompt-video/tree/HEAD

Preguntar en tu IA favorita

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

Documentación

Video desde una frase

El usuario da una frase, y tú primero diseñas: defines el estilo, qué se ve en cada escena en la pantalla. Luego escribes un archivo video.json. Las cosas visibles en el tema las dibujas con código de escena. El script se encarga de la sincronización, la música, los subtítulos, la codificación y la autoverificación.

En los comandos siguientes, SKILL debe reemplazarse con la ruta absoluta del directorio donde se encuentra este archivo (por ejemplo, /home/me/skills/one-prompt-video). Todos los comandos se ejecutan en el directorio de trabajo actual del usuario, y las rutas de los archivos son relativas a él.

Cinco pasos

1. Preparar el entorno (ejecutar una vez por cada directorio de trabajo)

node "SKILL/scripts/setup.mjs"

Verifica Node, las bibliotecas de dibujo, ffmpeg y las fuentes chinas. Si falta algo, lo instala o te dice cómo instalarlo. Cuando todo esté [Aprobado], continúa. Si hay algún [Faltante], dile al usuario exactamente esas líneas.

2. Diseñar (no preguntes al usuario, decide tú mismo, y al final dile al usuario qué decidiste)

Crea una nueva carpeta en el directorio de trabajo actual (con el nombre del video, de ahora en adelante nombre-del-video/). Primero escribe el diseño en nombre-del-video/diseño.md, con unas pocas líneas es suficiente. Después de escribir el diseño, escribe el resto. Un video solo con tarjetas de texto es aburrido; este paso determina si el video será bueno.

Completa lo que el usuario no dijo

Lo que el usuario no dijoValor por defecto
DuraciónAlrededor de 30 segundos, de 5 a 8 escenas
Horizontal o verticalHorizontal 16:9; si menciona móvil, vertical, Douyin, Xiaohongshu, WeChat Video, usa 9:16
IdiomaEl mismo que el del usuario
Voz en offNo. Por defecto solo subtítulos y música. Este skill no incluye servicio de locución: cuando el usuario quiera voz en off, primero dile que debe preparar su propia locución (un TTS que funcione desde la línea de comandos, o su propia grabación), y luego sigue references/voice.md para integrarlo

Define el estilo

  1. Si el usuario quiere ambiente, historia, escena, personajes, o dice "no explicación", "que tenga imágenes", "como una película": este video no usará plantillas, todo será dibujado por ti. Ve a references/film.md y síguelo.
  2. Para el resto de los videos, elige un paquete de estilo de la tabla siguiente. Cada paquete de estilo viene con escenas, accesorios, personajes, transiciones y efectos de sonido, las imágenes son mucho más ricas que los temas integrados. Elige según el tema: primero mira la columna "Adecuado para". Si coincide con más de uno, elige el que esté más cerca de los objetos reales del tema (manualidades, comida, cosas de la vida cotidiana elige papercraft o clay, equipos y procesos elige isometric, cuentas y rendimiento elige dashboard). Si el usuario menciona específicamente una apariencia ("como jugar un videojuego", "como un chat", "como un noticiero"), usa el paquete de estilo correspondiente.
  3. Los temas integrados solo se usan en dos casos: cuando el usuario pide explícitamente algo limpio, sobrio y profesional; o cuando el contenido es serio y la decoración dificulta la lectura. En los videos con temas integrados, al menos la mitad de las escenas deben ser dibujadas por ti.
  4. Decide algo que recorra todo el video: un objeto real del tema (un ala de avión, un grano de café, la luna, la fachada de una tienda). Aparece al principio, luego reaparece en escenas posteriores, así el video se siente conectado.

Define cada escena

En el diseño, enumera una tabla con una fila por escena, piensa en este orden:

Lo que esta escena debe hacer entender al espectadorQué se ve en la pantallaCómo se hace (qué plantilla, o dibujado por ti)Voz en off

"Qué se ve en la pantalla" se refiere a la imagen: un objeto, un proceso, un gráfico, una estructura. Primero piensa en la imagen, luego en el texto. Sigue estas ocho reglas:

  1. Mira sin texto. Tapa todo el texto de esta escena. Si la imagen restante aún deja claro de qué se trata, la escena funciona. Si habla de un ala de avión, la imagen debe tener el ala y el flujo de aire; si habla de una suscripción de café, la imagen debe tener la caja, las bolsas de granos y las tarjetas de preparación.
  2. Las cosas visibles se dibujan. Los objetos reales, procesos y estructuras se dibujan usando layout: "custom" con código de escena, según references/custom-scenes.md. La escena más importante de todo el video debe ser dibujada por ti; al menos dos escenas dibujadas por ti en un video, mejor si es más de un tercio.
  3. Elige la plantilla según la forma de la información, deja que la plantilla muestre la relación. Compara tamaños con bars, orden secuencial con steps, comparación de dos lados con compare, una cantidad real con number (los números de serie, horas, identificaciones no son cantidades, no uses number). statement máximo una escena en todo el video, bullets máximo una escena, quote solo para citas reales.
  4. No escribas etiquetas y explicaciones secundarias. kicker, subtitle, note, label, cta y el title de cada escena no se escriben por defecto. Solo escríbelos si sin ellos el espectador no entendería la escena. La relación que ya expresa la plantilla no necesita repetirse con palabras: un gráfico de barras no necesita un título como "Comparación de cuatro trimestres", los pasos no necesitan escribir "Paso uno", la tarjeta de comparación no necesita escribir "Comparación".
  5. La imagen y la voz en off se complementan. La voz en off (say) usa oraciones completas, habla de lo que aparece en la pantalla; en la pantalla solo deja imágenes, palabras clave y números. La misma frase no se escribe en grande y en los subtítulos al mismo tiempo.
  6. Dos escenas consecutivas deben ser diferentes. No uses la misma plantilla dos veces seguidas; si la escena anterior era un texto grande centrado, la siguiente debe ser una imagen o un gráfico.
  7. Usa los puntos destacados con moderación. Un número grande y una frase clave solo una vez en todo el video.
  8. Principio y final. La primera escena usa title, y en las dos primeras escenas debe quedar claro de qué trata este video. La última escena usa end, y termina con una conclusión o una acción; el final es más pequeño y más corto que el principio: una frase, más ese objeto que recorre todo el video.

Si no puedes ver imágenes ni escribir código de escena, no puedes cumplir la regla 2: usa el paquete de estilo y las plantillas de todos modos, y al informar, dile honestamente al usuario que este video se basa principalmente en plantillas de texto.

3. Escribir video.json y el código de las escenas

Escribe nombre-del-video/video.json según el diseño:

{
  "title": "Una frase, un video",
  "theme": "papercraft",
  "aspect": "16:9",
  "seconds": 30,
  "scenes": [
    { "layout": "title", "title": "Una frase, un video", "say": "Di una frase y obtén un video corto." },
    { "layout": "custom", "module": "scenes/pipeline.mjs", "seconds": 7, "cues": 3, "say": "Dices una frase, el modelo diseña, llena la tabla, el script lo convierte en video." },
    { "layout": "bars", "unit": "segundos", "items": [{ "label": "1ª vez", "value": 68 }, { "label": "2ª vez", "value": 51 }, { "label": "3ª vez", "value": 57 }], "say": "El modelo pequeño lo probó tres veces, cada vez alrededor de un minuto." },
    { "layout": "custom", "module": "scenes/laptop.mjs", "seconds": 6, "say": "Una computadora portátil normal puede generar el video." },
    { "layout": "end", "title": "Pruébalo ahora", "say": "Pruébalo ahora mismo." }
  ]
}
  • seconds es la duración objetivo de todo el video, el script la usará para asignar el tiempo a cada escena, es normal que el video final se desvíe hasta 3 segundos (cada escena debe tener una cantidad entera de fotogramas, y hay un fundido de salida de más de un segundo al final). Si no se especifica, se estima automáticamente según el número de caracteres.
  • say es el subtítulo de esa escena (y también el guion de locución si la hay). Una oración por escena, dentro de 30 caracteres chinos (12 palabras en inglés).
  • Para las escenas dibujadas por ti, el código de la escena se coloca en nombre-del-video/scenes/. Después de escribir cada escena, primero genera un fotograma fijo (--still) para ver cómo se ve; solo cuando reconozcas lo que se muestra, pasa a la siguiente.
  • El texto en la pantalla es para que la gente lo vea de un vistazo, debe ser corto. Si no cabe, divide la escena en dos, no llenes una escena por completo.
  • No inventes hechos. Los números, citas, nombres de personas o empresas que el usuario no haya proporcionado no deben presentarse como reales. Para los números de ejemplo, explica en la voz en off que son ilustrativos. Las funciones y efectos del producto solo usan lo que el usuario ha dicho; cualquier explicación adicional que añadas, enumérala al final en el informe para que el usuario la verifique.

Un ejemplo completo con solo plantillas está en SKILL/assets/example.video.json.

4. Validar y generar el video

node "SKILL/scripts/make.mjs" nombre-del-video/video.json --check    # Primero validar, unos segundos
node "SKILL/scripts/make.mjs" nombre-del-video/video.json --sheet    # Generar hoja de vista previa, revisar antes de generar el video
node "SKILL/scripts/make.mjs" nombre-del-video/video.json            # Generar el video
  • Cuando --check reporta [Error], cada error dice en qué escena, qué campo y la forma correcta de escribirlo. Corrígelo y vuelve a ejecutar hasta que pase.
  • Si puedes ver imágenes, abre nombre-del-video/out/sheet.jpg y revisa fotograma por fotograma. Dos fotogramas por escena: el primero es la entrada a mitad de camino, el segundo es todo presente, el segundo es el que importa. Pregunta cuatro cosas por cada fotograma: ¿se entiende de qué se trata si tapa el texto? ¿el sujeto es lo suficientemente grande (ocupa más del 60% del ancho o alto de la pantalla)? ¿hay un gran espacio vacío? ¿hay texto apiñado o una palabra dividida en dos líneas? Si algo no cumple, cámbialo y vuelve a generar la hoja de vista previa.
  • Después de generar el video, lee el informe que imprime (también se guarda en nombre-del-video/out/report.txt). Si hay [Problema] o [Aviso], cámbialo y vuelve a ejecutar; el más común es "demasiado texto", acorta ese texto.

5. Informar al usuario

Dile cuatro cosas claramente: dónde está el video final (la ruta en la línea "Video final:" del informe, el nombre del archivo es title más .mp4); qué decidiste por él (duración, formato de pantalla, estilo, qué escenas están dibujadas por ti); qué contenido agregaste tú; y que no puedes juzgar si las imágenes son bonitas o la música es agradable, que él las revise. Si el video final no tiene voz en off, menciona de paso: si quiere agregar locución, debe encontrar un TTS él mismo e integrarlo.

Paquetes de estilo

Cada paquete de estilo es un conjunto completo de imágenes: las nueve plantillas se rediseñan según su propia apariencia, con sus propias escenas, accesorios, transiciones, subtítulos y efectos de sonido. Solo escribe su nombre en theme.

themeAparienciaAdecuado para
papercraftDiorama de papel multicapa, figuras de papel, parpadeo de stop motionDivulgación ligera, presentaciones de productos, historias cortas, estilo de vida
clayStop motion de arcilla de colores cálidos, personajes pequeños y redondosExplicaciones para principiantes, hábitos y salud, contenido para niños
collagePapel kraft, papel rasgado, cinta adhesiva, letras recortadasDivulgación ligera, recopilaciones, apertura de secciones
skitIlustración plana de oficina, dos personajes pequeños reaccionan al contenidoExplicar conceptos a audiencias no profesionales, temas laborales
isometricMáquinas 2.5D, cintas transportadoras, puestos de controlExplicar procesos, principios, cómo funciona un sistema
cosmosEspacio profundo, nebulosas, estrellas y órbitas brillantesExplicar el panorama general, niveles, apertura de series
dashboardPanel de datos oscuro: paneles que se encienden uno a uno, arcos de instrumentos, gráficos de barrasResultados, evaluaciones, monitoreo, costos y otros contenidos con números
newsEstudio de televisión, barra de títulos, barra de noticias en desplazamientoResúmenes rápidos, informes semanales, informes de datos
chatConversación de chat en un teléfono, contenido en burbujasExplicaciones coloquiales, casos, preguntas y respuestas
comicViñetas con marco negro, puntos, líneas de velocidad, onomatopeyasHistorias con giros, contrastes
detectiveTablero de corcho, fotos Polaroid, notas adhesivas, hilo rojoInvestigación de problemas, análisis de antecedentes
arcadeJuego de píxeles de 8 bits: ladrillos, monedas, mapa de nivelesExplicar pasos, comparar niveles, presentaciones de productos ligeras
varietyLetras florales con borde múltiple, líneas radiales, mascota, barra de comentariosLos videos cortos más animados, críticas, recopilaciones
vhsCinta VHS: líneas de escáner, cambio de canal, televisor antiguo, contador de cintaNostalgia, intro y avance de programas de series
chromeLetras 3D cromadas, degradado líquido fluido, destellos en estrellaFrases cortas para jóvenes, temas de moda, no adecuado para contenido serio

Las imágenes de vista previa están en SKILL/assets/styles.jpg. Si puedes ver imágenes, míralas antes de elegir. Los paquetes de estilo tienen mucha decoración, por lo que el texto en cada escena debe ser aún más corto; news organizará el contenido como un programa de noticias, si el contenido no es realmente una noticia, recuerda al usuario en el informe.

Estos son solo puntos de partida, no hay límite en los estilos: si quieres un conjunto completamente nuevo (diario, vinilo, mapa de metro, lo que sea), sigue references/style-packs.md para escribir tu propio paquete de estilo.

Doce temas integrados

Los temas solo cambian colores, fondos y líneas, no hay escenas ni accesorios en las imágenes. Las condiciones para usarlos se encuentran en el paso 2 "Define el estilo", regla 3.

themeAparienciaAdecuado para
gridPapel cuadriculado beige, morado, tarjetas blancasExplicar conceptos, principios
minimalGran espacio en blanco, líneas finas, un punto azulVideos de marca tranquilos y sobrios, intros
popColores contrastantes, líneas radiales, borde negro gruesoAnimados, ritmo rápido, plataformas de video corto
keynoteDegradado oscuro, tarjetas de vidrio, brilloNuevos productos, conclusiones importantes, temas tecnológicos
blueprintPapel de plano azul, líneas blancas, anotaciones amarillasExplicar estructuras, arquitecturas, cómo ensamblar
whiteboardPizarra blanca, marcador, marcos dibujados a manoProfesor explicando mientras dibuja, procesos y causas
chalkPizarra verde oscuro, líneas de tiza, marco de maderaPizarra de clase, explicar problemas, fórmulas, pasos
neonNoche púrpura oscura, líneas brillantes, cuadrícula de perspectivaTecnología, juegos, música electrónica
terminalFondo negro, texto verde, fuente monoespaciada, cursor parpadeanteCódigo, línea de comandos, herramientas de desarrollo
paperSuperficie de papel beige, título grande con serifa, rojoComentarios, lectura, temas de humanidades
inkPapel de arroz, montañas lejanas, sello rojo bermellónCultura tradicional, poesía, historia
boldNegrita en blanco y negro, cortes duros, un rojoOpiniones, lemas, listas

Las imágenes de vista previa están en SKILL/assets/themes.jpg. Si el usuario quiere otros colores, usa colors para cambiarlos.

Plantillas

Cada escena elige una, o dibújala tú mismo. Una escena solo habla de una cosa.

layoutCuándo usarloObligatorioLo que no se escribe por defectoLimitaciones
customCosas visibles en el tema: objetos reales, procesos, estructurasmodule, secondscues, dataVer references/custom-scenes.md
titleAl principiotitlesubtitle, kickerTítulo de 12 caracteres o menos
barsComparar tamañositems (2 a 6 elementos, cada uno con label y valor numérico value)title, unit (se coloca después de cada número), highlight (qué barra usa el color de énfasis, contando desde 1; si no se escribe, es la barra más alta)label de 8 caracteres o menos
stepsPasos secuenciales, procesositems (2 a 5 pasos)titleCada paso de 12 caracteres o menos
compareComparación de dos cosasleft, right (cada uno con title y de 1 a 4 items)titleCada elemento de 12 caracteres o menos
numberUna cantidad real, una vez en todo el videovalueunit, label, notevalue se escribe como "25", "80%", "1,280"
statementUna frase para recordar, máximo una escena en todo el videotexthighlight (palabra en text que se resalta)24 caracteres o menos
bulletsVarios puntos paralelos, máximo una escena en todo el videoitems (2 a 5 líneas de texto)titleCada línea de 18 caracteres o menos
quoteCita realtextby40 caracteres o menos
endAl finaltitlesubtitle, cta (texto del botón)Título de 14 caracteres o menos
  • unit es parte del número, escríbelo cuando sea necesario. El label de number solo se escribe cuando el número y la unidad por sí solos no dejan claro qué se está midiendo.
  • Cada plantilla puede añadir say (subtítulo) y seconds (duración fija de esa escena).

Cuando el usuario proporciona material de video (grabación real, pantalla grabada, video existente), también hay un clip: inserta un segmento del material y mézclalo con las plantillas anteriores; si todo el video es clip, es una edición. Escritura: { "layout": "clip", "file": "material/entrevista.mp4", "from": 12.4, "to": 18 }. Cómo ver el material y cómo decidir qué segmento tomar, ver references/editing.md.

Para más opciones

NecesidadLee
Dibujar una escena tú mismo: objetos reales, procesos, estructuras (necesario para cada video)references/custom-scenes.md
El usuario quiere ambiente, historia, escena, personajes, o todo el video es diseñado por tireferences/film.md (tú escribes cómo se dibuja cada fotograma, el script maneja la cámara, la música, la generación y la autoverificación; debes poder ver imágenes)
Todos los campos, cambiar colores, fuentes, fijar la duración de una escenareferences/video-json.md
Añadir voz en off (el usuario debe encontrar su propio TTS o grabar él mismo), reemplazar el archivo de música por el suyoreferences/voice.md, references/video-json.md
El usuario proporciona material de video para incluir, o quiere editar un video existentereferences/editing.md
El usuario quiere editar en Final Cut Pro o CapCut (agrega --project al comando de generación)references/editing.md
Los temas y paquetes de estilo disponibles no son adecuados, quiere un conjunto completamente nuevoreferences/style-packs.md (escribe un paquete de estilo, necesitas escribir cientos de líneas de código de escena y modificarlas viendo las imágenes, primero asegúrate de que puedes hacerlo)
Error de instalación, recuadros en las fuentes, error de ffmpegreferences/troubleshooting.md
El usuario pide explícitamente escenas 3D, paisajes naturales con sombreadores de pantalla completa que no se pueden dibujar en el lienzoreferences/pipelines.md (consulta las líneas de producción, necesitas escribir tu propio código, primero asegúrate de que puedes hacerlo)
La máquina del usuario tiene Blender, GarageBand, o una clave de API de Doubao Voice, quiere renderizado fotorrealista, música de instrumentos reales, voz humana naturalreferences/external-tools.md (usa herramientas externas, para modelos potentes, primero asegúrate de que puedes hacerlo)

Lo que este skill no puede hacer: generar imágenes de personas reales o grabaciones reales de la nada (las grabaciones reales solo pueden usar el material proporcionado por el usuario), hacer ajustes de color o recortes finos en el material (exporta el proyecto para que el software de edición lo haga). Si te encuentras con estas necesidades, díselo honestamente al usuario.

Skills relacionados