PTENES
Foto → maqueta → efecto práctico

Tu ciudad se convierte en maqueta — y el efecto la destruye frente a la cámara

Entra una foto; sale un video detrás de cámaras ultrarrealista: el tema de la foto reconstruido como maqueta dentro de un rig de estudio, con pantalla azul y equipo en cuadro, y una ola (o fuego, terremoto, explosión, nieve) que lo destruye todo en un plano único. Dos recetas medidas en ~15 clips reales.

Maqueta de ciudad dentro de un tanque de olas de estudio
Qué es

El detrás de cámaras del efecto, no el efecto

El espectador no ve una película de catástrofes: ve al equipo filmando la destrucción de una maqueta. Eso es lo que hace que el video parezca real.

🏗️ Maqueta fiel a tu foto

La referencia controla la arquitectura, las fachadas, los colores y las proporciones — edificio por edificio. Nada de puntos de referencia inventados.

🌊 Efecto con física real

El agua es una masa real a escala real; solo los edificios son maquetas. Escombros con peso, fricción y colisión — no flotando sin gravedad.

🎬 Plano único entre bastidores

Una toma continua de iPhone a 10-15 m, con tanque, barrera, grúas, bombas y equipo seco en cuadro todo el tiempo.

Resultado

15 segundos, la misma foto, dos recetas

Referencia: una foto aérea de la costanera de Porto Alegre. Resultado: la misma costanera como maqueta barrida por una ola práctica. Kling v3.0, audio nativo en ambos.

Receta B — plano único continuo, sin cortes, fiel a la guía AVCC. La ola viene del lado del agua abierta y atraviesa lateralmente.
Variante v2 — multi-shot con revelación del estudio y agua a alta velocidad. Mejor peso del agua, pero usa cortes, que la guía prohíbe.
Híbrido — comienza en la ciudad real y solo después revela que es una maqueta en el estudio. Salió por accidente: Kling ancla el primer fotograma a la imagen dada, así que partir de la foto original produce ese arco por sí solo.
Cómo funciona

Dos etapas — y el orden es el secreto

El generador de video necesita recibir la maqueta ya montada como primer frame. Con la foto sin editar entiende «transformar esta foto»: la ciudad real se disuelve en cubos y la ola nunca aparece.

foto de referencia→ keyframe A (maqueta en el rig)→ video 15s→ MP4

🎥 Kling v3.0

Image-to-video de un fotograma + texto. Mejor física del agua, plano continuo y audio en la misma pasada. Funciona con la suscripción Pro/SVIP (créditos del plan).

🖼️ Agnes US$ 0

Solo tiene mode: keyframes (2 a 3 imágenes) — no es image-to-video. Sirve para generar el keyframe A fielmente y para iterar la composición gratis antes de gastar créditos.

Requisitos previos

Qué debe estar en su lugar

Dos credenciales y ffmpeg. Este proyecto no instala nada.

Clave de Agnes

Genera el keyframe A y los videos gratis.

# AGNES_API_KEY en:
~/projetos/agnes-nei/.env

CLI de Kling

Suscripción Pro/SVIP, con sesión iniciada.

kling who_am_i  # confirma la cuenta

ffmpeg

Para medir y revisar la salida — el size la API miente.

ffprobe -v error -show_entries \
  format=duration filme.mp4
Guía de uso · paso a paso

De la foto al MP4 con dos comandos

El verdadero trabajo está en el paso 2: escribir el --lock mirando la foto.

1

Elige la foto de referencia

Cualquier foto del tema: ciudad, costanera, edificio, producto. Define la arquitectura de la maqueta — y el formato del video depende del formato del keyframe, así que decide aquí si será 16:9 o 9:16.

cd ~/projetos/video-making-of-skill  # fotos de ejemplo en doc/
2

Genera el keyframe A — la maqueta armada en el rig

O --lock tú escribes mirando la foto, en inglés, elemento por elemento. Sin eso, el generador inventa manzanas genéricas. Elige el rig en --efeito: onda, fogo, terremoto, explosao, neve.

scripts/kf_a.py doc/poa2.jpg out/kf_a.png \
  --ratio 16x9 --efeito onda \
  --lock "the same orange-brick power-plant hall, the same tall slender chimney,
          the same white apartment blocks behind the treeline, the same curved promenade"
3

Revisa la imagen antes de gastar créditos

Dos preguntas: ¿la maqueta se reconoce como la foto? ¿Y está apoyada contra un borde, con agua abierta de un solo lado? Si se convierte en una isla rodeada de agua, la ola llega desde dos lados — el texto no corrige la geometría. Regenera.

# abre out/kf_a.png y mira. Este paso ahorra créditos.
4

Renderiza con Kling

Plano único, sin frame final obligatorio, audio nativo. El script envía la solicitud con --poll 0 y busca el resultado por query_tasks — el sondeo largo del CLI se cae solo.

scripts/render_kling.sh out/kf_a.png out/filme.mp4 \
  prompts/avcc-ondas-16x9-en.txt
5

O renderiza gratis con Agnes

Interpola entre keyframes, así que necesita tres: A intacto, B en medio del impacto y C arrasado. Con solo dos, hace una transformación gradual: la ola desaparece y los edificios son reemplazados por casitas genéricas.

scripts/render_agnes.py --kf A.png B.png C.png \
  --prompt-file prompts/avcc-ondas-16x9-en.txt \
  --out out/filme.mp4 --ratio 16x9
Ejemplos

El keyframe y el resultado

La misma foto de origen: la costanera de Porto Alegre con la chimenea de la Usina do Gasômetro.

Maqueta de la costanera dentro del tanque de olas
Keyframe A — la maqueta armada en el tanque, con blue screen, grúas y equipo. Generado en Agnes, costo cero.
La ola destruyendo la maqueta
Fotograma del video — la ola atraviesa lateralmente, los edificios se rompen en pedazos y son arrastrados. Equipo seco en la cubierta.
Hoja de ruta

Qué está medido y qué no

Honestidad sobre lo que realmente se ejecutó.

Listo
Efecto de ola, Kling y Agnes ~15 clips generados en los dos proveedores, en 16:9 y 9:16, con una prueba controlada que demuestra que el fotograma inicial es el que determina el resultado.
No probado
Rigs de fuego, terremoto, explosión y nieve Implementados a partir de la misma estructura, pero nunca ejecutados. La primera vez, genera solo el keyframe A y revísalo antes de generar el video.
Pendiente
La ola más alta y la segunda ola se distinguen claramente La ola queda más baja de lo pedido y el impacto es demasiado rápido. Hipótesis: dejar más franja de agua abierta en el keyframe A para que la ola tenga espacio para tomar impulso.