Skip to content

morfeo.config.mjs ​

js
import {defineConfig} from 'morfeo';

export default defineConfig({
	estilo: 'documental',
	marca: {
		nombre: 'Mi Canal',
		logo: './logo.png',
		redes: 'YT @micanal · TikTok @micanal',
		cta: 'Sígueme para más.',
		etiqueta: 'DATO CURIOSO',
		seguir: '+ SEGUIR',
		siguiendo: 'SIGUIENDO',
	},
	voces: {narrador: [['em_alex', 0.6], ['am_michael', 0.4]]},
	musicas: {intro: {archivo: './musica/intro.mp3', volumen: 0.8}},
	estilos: {'mi-marca': {base: 'minimal', colores: {acento: '#00E0A0'}}},
	personajes: {neto: {poses: {normal: './personajes/neto.png'}}},
	componentes: {Barras: './escenas/Barras.tsx'},
	fuentes: {Poppins: './fuentes/Poppins-Bold.ttf'},
	imagenes: {proveedor: 'openai', estilo: 'ilustración plana'},
	videos: './videos.mjs',
	guiones: './guiones',
	assets: './assets',
	salida: './salida',
	render: {calidad: 'alta', gl: 'angle', concurrencia: null, miniatura: true, portada: true, consejos: true, nombreArchivo: 'titulo'},
});
ClaveQué es
estiloEstilo por defecto de los videos. Ver Estilos
marcaNombre, logo (imagen cuadrada), redes, lo que dice la voz en el cierre, la etiqueta del gancho y el texto del botón
vocesAlias de voces. Ver Voces
musicasAlias de música
estilosTus estilos, con base para heredar de uno existente
personajesPersonajes con poses. Ver Personajes
componentesComponentes de React. Ver Componentes
fuentesFuentes propias {Nombre: './archivo.ttf'}; úsalas en tema.fuentes o en fuente de un texto
imagenesProveedor y línea gráfica de las imágenes con IA
videosArchivo con {id: video}, o una carpeta (por defecto ./videos.mjs)
guionesCarpeta con un video por archivo (por defecto ./guiones)
assetsCarpeta de tus imágenes, videos y modelos (por defecto ./assets)
salidaCarpeta de los videos terminados (por defecto ./salida)
render.calidadalta, media o ligera. Por defecto media en videos con mundo (la cámara siempre se mueve y pesarían el doble) y alta en los demás
render.crfFuerza un valor exacto de calidad (menos es mejor; alta = 18, media = 21, ligera = 24)
render.consejosMostrar al renderizar los consejos de estructura (npx morfeo revisar). false los apaga
render.glangle usa la tarjeta de video (por defecto en Mac con Apple Silicon y en Windows, unas 4 veces más rápido) y swangle funciona en cualquier computadora. Si la GPU falla, reintenta solo con swangle
render.concurrenciaCuadros en paralelo. Por defecto Morfeo elige un valor seguro y, si el navegador truena, reintenta con menos
render.miniaturaGenerar el .jpg de cada video
render.portadaGenerar <título> (portada).jpg con el título grande y tu marca. false la apaga
render.nombreArchivotitulo (por defecto: salida/<Título>.mp4, listo para subir) o id

estilo.json ​

npx morfeo estilo lo crea con una página. Va junto a morfeo.config.mjs y se aplica encima de él: todos los videos salen así salvo que uno diga su propio estilo, voice o speed.

json
{
	"nombre": "Datos Rápidos", "siglas": "DR", "redes": "TikTok @datosrapidos",
	"base": "documental", "colores": {"acento": "#FF5A3C", "subtitulo": "#4C8DFF"},
	"letra": "Bebas Neue", "voz": [["em_alex", 0.6], ["am_michael", 0.4]],
	"ritmo": "agil", "cierre": "Guárdalo para cuando te pregunten."
}
ClaveQué es
nombre, siglas, redesTu marca (las siglas van en el círculo si no hay logo)
base, coloresEstilo del que hereda y colores de acento y del subtítulo
letraLetra de títulos y portada (se baja sola a fuentes/)
vozVoz por defecto: Kokoro o {proveedor: 'elevenlabs', voz: 'ID'}
ritmopausado, natural o agil: velocidad de la voz y de las animaciones
cierreLo que dice la voz en la escena final

Un video ​

ClaveQué es
titleTítulo para publicar (sale en npx morfeo lista, salida/resumen.json y salida/<id>.txt)
descripcion, tagsDescripción y etiquetas para publicar; van a salida/<título>.txt con el título y los créditos
hooks3 ganchos de reserva (otras primeras frases) para probar otra versión; van al final del .txt
fuentesDe dónde salen los datos: ['INEGI 2024'] o [{texto, url}]; van al .txt
portadaTexto grande de la portada (por defecto, el título); *palabra* en color; false sin portada
formulaFórmula de historia (serie, mito, construiste…): revisar da consejos propios. Ver Fórmulas
estilo, temaEstilo y ajustes del estilo para este video
voice, speed, langVoz. Ver Voces
musicMúsica
hudCapas fijas encima de todo el video. Ver HUD
mundoEscenario que dura todo el video y la cámara recorre con la toma de cada escena. Ver Mundo
lugaresVarios mundos {nombre: [...]}; cada escena elige uno con lugar. Ver Historias
seriePastilla fija arriba para series: 'MI SERIE · EP. 2'
calidadCalidad de este video (alta, media, ligera)
scenesLas escenas. Ver Escenas
miniaturaEnSegundo para la miniatura (por defecto, cuando termina de armarse la primera escena). Sale sin subtítulos
metaDatos libres que se copian a salida/resumen.json

Una escena ​

Además de say, show, type y capas (ver Escenas):

ClaveQué es
clavesPalabras que se resaltan en el subtítulo
rotulo, rotuloEnTexto grande del momento y la palabra en que entra
rotuloEstilonormal, contorno, pastilla, sello, paso (con rotuloPaso) o pixel; rotuloColor, rotuloInclinar, rotuloY
modo, modoEn, modoHastarayosx, plano u holograma en una palabra. Ver Rayos X
tomaCámara del mundo 2D. Ver Mundo
lugarEn qué lugar de lugares pasa
transicionCómo entra (también al cambiar de lugar)

Variables de entorno ​

VariablePara qué
ANTHROPIC_API_KEYGuiones con Claude (y --investigar)
OPENAI_API_KEYImágenes, poses y voces de OpenAI
ELEVENLABS_API_KEYVoces de ElevenLabs
POLYPIZZA_API_KEYOpcional: suma los 10 mil+ modelos de Poly Pizza a la biblioteca 3D
MORFEO_HOMEDónde guardar Python, voces, Whisper y el navegador (por defecto ~/.morfeo)
MORFEO_PYTHONUsar un Python específico al instalar
MORFEO_GLIgual que render.gl
MORFEO_NAVEGADORUsar un Chrome que ya tengas
MORFEO_CONCURRENCIACuadros en paralelo (igual que render.concurrencia)

Morfeo es gratis y lo seguirá siendo.

Si te ahorra horas de edición, invítame un café: ayuda a pagar el tiempo de hacer más estilos, fórmulas y piezas.

Invítame un café

Uso gratuito para crear videos, incluso comerciales. Código propiedad de Uriel Gómez. Invítame un café