Alcatz · una serie animada hecha en familia
Así hacemos un capítulo de Alcatz con IA, por 9 dólares
Las historias las inventan Sol y Ema. Lo demás es un pipeline de herramientas automatizadas, ffmpeg y una auditoría que escucha el capítulo antes de publicarlo. Pero sobre todo, mucho cariño ;)
~US$ 9costo del capítulo 4 (75 s, 1080p)
~US$ 40costo del capítulo 3, un día antes
9 versionesdel workflow en 48 horas
El pipeline, en orden
- HistoriaLas nenas cuentan el capítulo por voz. Se convierte en una tabla de planos de 8 segundos con diálogos que se responden entre sí.
Herramienta: Claude Code, con un guion versionado en Markdown. - Biblia de personajesUna hoja por personaje en el estilo de la serie. Todo cuadro nuevo se genera con esas hojas como referencia; es lo que mantiene a los gatos iguales de un plano al otro.
gpt-image-2 (edits con referencias). - Cuadros clave, con variantesDos variantes por plano a calidad media, se elige una. Recortados a 16:9 antes de animar.
- Sketch esquemático (US$ 0,70)Cuadros con paneo, subtítulos por personaje, voces y música. Es donde se discute la historia. Nada de video generado todavía.
- Auditoría automáticaEl capítulo se sube a Gemini 2.5 Pro, que lo mira y lo escucha entero y devuelve problemas con minuto y segundo: diálogos que no fluyen, efectos que faltan, niveles. Se itera hasta que la nota de audio sube.
- RenderCada cuadro se anima 8 s en 1080p. El cuadro del plano siguiente se pasa como “último frame” para encadenar escenas.
Seedance 1.5 Pro vía fal.ai (~US$ 0,60/plano); Veo 3.1 para planos de acción difíciles (~US$ 3,20). - Voces, música, efectosVoces de stock con etiquetas de emoción (ElevenLabs v3). Música compuesta siguiendo los tiempos del guion (Lyria 3.5). Efectos y ambiente generados mirando cada clip con MMAudio, en una GPU local (costo cero).
- Lip-syncSincronía de labios sobre los planos de diálogo (sync-lipsync v2). Funciona con personajes dibujados, no con caras que giran.
- Mezcla y masterffmpeg: transiciones cruzadas de video y audio, ducking de música y efectos bajo las voces, dos pasadas de loudness a -14 LUFS (la referencia de YouTube), 16:9 forzado.
- PublicaciónSubida por la API de YouTube a la playlist de la serie, miniatura propia, y la página de la serie se actualiza sola.
De un dibujo a un plano
Qué aprendimos en trece versiones
| Versión | Cambio | Lección |
|---|---|---|
| v1 | Video directo desde los cuadros, voces clonadas de las nenas, música alta | Los clones con dos minutos de audio no se parecen; la música tapaba todo |
| v2 | Voces de stock, ducking, formato 16:9 forzado | La tele mostraba bandas negras: hay que declarar el aspecto |
| v3 | Estilo crayón 3D, hojas de personajes, 1080p, planos encadenados | La consistencia se resuelve en el cuadro clave, no en el video |
| v4 | Transiciones cruzadas, ambiente continuo, efectos, master a -14 LUFS | -16 LUFS suena bajo en YouTube; el ambiente no puede cortarse en cada plano |
| v5 | Sketch esquemático primero, render solo de lo aprobado, auditoría con IA, lip-sync | Separar “historia” (barato) de “animación” (caro) bajó el costo cuatro veces |
| v6 | Laboratorio local (foley con MMAudio, Whisper para verificar diálogos) | Útil para medir; para el sonido final, la nube rindió más |
| v7 | El guion se trabaja y se escucha aparte del video; todos los planos de 8 s | Iterar un diálogo cuesta una línea, no un capítulo |
| v8 | Audio rehecho: casting de voces a ciegas, canto real, música por tramos, salas, diálogo reescrito sobre el video ya hecho | En el cap. 5 el video estaba muy bien y el audio muy mal. Un juez con prejuicio confirma el prejuicio: se mide con A/B a ciegas (pasó de 3–5 a 8 sobre 10) |
| v8.1 | Se corta un bloque de continua que Gemini TTS deja al final de cada toma | El “ruido entre frases” no estaba en la mezcla sino en el motor de voz: se encontró comparando motores (las 22 tomas de Gemini lo tenían, ninguna de ElevenLabs) |
| v9 | Audio primero de verdad: el guion se graba y se aprueba como radioteatro antes de generar un solo cuadro; hojas de referencia para todo lo nuevo y los fondos del juego como “set”; casting a ciegas por personaje | Lo que se aprueba tiene que sonar como lo final: el radioteatro del cap. 6 tenía clics y respiraciones que la mezcla hubiera tapado, y se arreglaron antes de animar |
| v9.2 | Video por el CLI de Higgsfield con la suscripción (Kling 3.0 pro, 20 créditos por plano) y control por plano con Gemini antes de mezclar | Los prompts con tres acciones y marcas de tiempo hacen que el modelo “edite” (mete cortes, pierde personajes). Un prompt = una acción, una toma continua; los tiempos van a la mezcla y al lip-sync, no al video |
| v10 | Instalado para el cap. 7: planos hablados generados desde el cuadro y la voz (OmniHuman), un cuadro maestro por locación y el resto derivado editándolo, control de cuadros por lista de rasgos antes de animar, planos encadenados con cuadro final | Lo que se arregla en el cuadro (gratis) no hay que arreglarlo en el video (caro); y la boca tiene que nacer con la voz, no pegarse después: 41/50 contra 21/50 a ciegas |
| v9.3 | Auditoría con pedidos concretos (el Apagón se come el ruido: martillazos ahogados), silencio para clips sin pista de audio | El A/B a ciegas sirve cuando las mezclas son muy distintas; entre dos mezclas parecidas el juez elige siempre la segunda y lo admite. Para pulir: auditoría con tiempos y escuchar |
Herramientas
| Etapa | Qué usamos | Por qué |
|---|---|---|
| Cuadros | gpt-image-2 | La mejor adherencia a los personajes con referencias |
| Video | Seedance 1.5 Pro (fal.ai) · Veo 3.1 | Seedance: fiel y barato; Veo: más cámara y audio nativo |
| Voces | Gemini 3.8 TTS · ElevenLabs v3 (voces argentinas) | Elegidas a ciegas por dos jueces: el rioplatense más creíble sin entrenar nada |
| Música | ElevenLabs Music (una sección por plano) · Lyria 3.5 | Cada cambio de clima cae en un corte; la canción del capítulo es la misma que la del juego |
| Lip-sync | sync-lipsync v2 (fal.ai) | Funciona con dibujos |
| Auditoría | Gemini 3.1 Pro · gpt-audio · Whisper | A/B a ciegas entre versiones con dos jueces; Whisper confirma que cada diálogo se entiende |
| Efectos de sonido | ElevenLabs Sound Effects | Efectos y ambientes por escena, ubicados con un mapa segundo a segundo de cada plano |
| Guion | GPT-6 + edición a mano | Reescribe el diálogo contra lo que muestra el video y cuándo mueve la boca cada personaje |
| Montaje | ffmpeg | Reproducible, sin GUI |
| Orquestación | Claude Code | Todo el pipeline son scripts en el repo del juego |
Lo que sigue
- v8, hecho: el lip-sync empieza en el guion. Cada línea tiene el segundo exacto en que el personaje abre la boca en el video, y los planos con una sola cara que habla pasan por sync-lipsync.
- v9, hecho (cap. 6 “La casa mágica”): el diálogo se escribe, se graba y se aprueba antes de animar; los planos de diálogo son primeros planos frontales con cámara fija; cada plano pasa por un control automático antes de mezclar.
- v10, instalado (2026-10-10): después del cap. 6 Martín pidió mejor lip-sync e identidades persistentes (la casa del final era otra casa). Ya está en el repo: los planos hablados se generan desde el cuadro y la voz con OmniHuman; cada locación tiene un cuadro maestro y los demás se derivan editándolo; un control compara cada cuadro con las hojas y el maestro antes de animar; los planos consecutivos se encadenan con cuadro final. Se estrena en el cap. 7.
- Cada iteración queda registrada: versión del workflow y costo por render.
Costos por capítulo
Estimación con precios de lista de cada API, en dólares. Se actualiza después de cada capítulo.
| Capítulo | Video | Cuadros | Voces · música · efectos | Lip-sync | Total |
|---|---|---|---|---|---|
| 1 · El portal (v1, fast) | Veo fast ~106 s → 16 | 12 → 3 | ~2 | — | ~21 |
| 2 · La perla (v1) | Veo fast ~82 s → 12 | 11 → 3 | ~2 | — | ~17 |
| 3 · La burbuja gigante | Veo 1080p ~76 s → 30 | 8 → 2 | ~2 | — | ~34 |
| 2 · La perla (rehecho, crayón 3D) | Veo 1080p ~96 s → 38 | 11 → 3 | ~3 | — | ~44 |
| 1 · El portal (rehecho) | Veo 1080p ~88 s → 35 | 11 → 3 | ~3 | — | ~41 |
| 4 · El bambú dorado (workflow v5) | Seedance 1.5 Pro 72 s → 5,5 · sketch 2,4 | 18 variantes → 1,3 | ~1 (dentro de la cuota) | sync v2 ×3 → ~1 | ~9 |
| 5 · El viaje mágico (v7 + audio v8) | Seedance 1.5 Pro 15 planos → ~9 | ~2 | ~1 (cuota de ElevenLabs; voces Gemini y jueces, centavos) | sync v2 ×3 → ~2,8 | ~15 |
| 6 · La casa mágica (v9) | Kling 3.0 pro ×13 + Veo fast ×3 por Higgsfield: ~450 créditos de la suscripción (≈20) + 1 A/B | 3 hojas + 22 cuadros a alta → ~6 | ~1 (cuota de ElevenLabs; voces Gemini, jueces y control por plano, ~1) | sync v2 ×3 → ~3 | ~30 |
Desglose por herramienta (precio de lista)
| Herramienta | Unidad | Costo | Uso típico por capítulo |
|---|---|---|---|
| Veo 3.1 (normal, con audio) | segundo de video | 0,40 | solo planos de acción difíciles: 1–2 planos → 3–6 |
| Veo 3.1 fast (720p) | segundo de video | 0,15 | borradores |
| Seedance 1.5 Pro (fal.ai) | plano de 8 s en 1080p | ~0,60 | 9 planos → ~5,5 |
| Kling 3.0 pro (CLI de Higgsfield, suscripción) | plano de 8 s en 1080p | 20 créditos (≈0,90) | 16 planos + regeneraciones → ~450 créditos |
| gpt-image-2 | cuadro 1536×1024 | 0,07 media · 0,25 alta | 2 variantes × 9 planos a media → ~1,3 |
| ElevenLabs (voces v3, efectos, música) | créditos del plan | plan Creator 22/mes | ~10 líneas + 10 efectos + 1 tema → dentro de la cuota |
| Lyria 3.5 (Gemini API) | tema de ~100 s | centavos | 1 tema |
| sync-lipsync v2 (fal.ai) | plano de 8 s | ~0,30 | 3–4 planos de diálogo → ~1 |
| Gemini 2.5 Pro (auditoría) | capítulo analizado | ~0,10 | 2–3 auditorías |
| Laboratorio local (MMAudio, Whisper en dgx1) | — | 0 | efectos desde el video y verificación de diálogos |