Mesa de preparación de activos
Que la generación de video pueda continuar depende de este paso. El problema a resolver es uno solo: hacer que un mismo objeto se vea igual en cada imagen que lo muestre.
La entrada es una lista de activos (o guion gráfico), la salida es un conjunto de imágenes nombradas por ID, listas para ser referenciadas directamente por short-video-generate como primer fotograma.
No escribe guiones gráficos, no segmenta, no escribe prompts de video ni genera video. Se encarga de la parte de «imagen».
I. Cuatro reglas de hierro
- Primero el ancla, luego la derivación. Sin el modelo base definido, no se hacen tomas de ángulo. Las tomas de ángulo crecen a partir del modelo base; si el modelo base está mal, todo el grupo estará mal.
- Cambiar solo una variable a la vez. Si cambias el ángulo, no cambies la iluminación; si cambias la iluminación, no cambies el ángulo. Si cambias las dos a la vez, no sabrás a quién culpar si algo sale mal.
- Los candidatos solo se añaden, no se sobrescriben.
v1yv2coexisten; la versión seleccionada se escribe en la orden de trabajo. La generación es probabilística; eliminar versiones antiguas es eliminar una salida. - Las imágenes y la lista deben coincidir. El ID es el nombre del archivo. Si la lista tiene
PR-01, el directorio debe tenerPR-01_*.
II. Tres niveles de activos
No todas las imágenes merecen la misma inversión. Primero se clasifican, luego se asigna el esfuerzo.
| Nivel | ¿Qué es? | Ejemplo | Requisito |
|---|---|---|---|
| Ancla | Referencia de identidad de todo el metraje, referenciada múltiples veces | Imagen principal del producto, vistas de tres cuartos del personaje, vista panorámica de la escena principal | Máximo rigor: múltiples candidatos, verificación ítem por ítem, no se modifica una vez decidida |
| Derivado | Ángulos, estados, detalles que crecen del ancla | Parte trasera del producto, estado abierto, primer plano de la mano | Debe compararse lado a lado con el ancla |
| De un solo uso | Aparece solo una vez, no afecta la consistencia | Toma vacía, efecto de luz, material de transición | Con que sea aceptable, no necesita múltiples candidatos |
Clasificar mal desperdicia esfuerzo: tratar una toma vacía como ancla puede retrasar un video de 30 segundos tres días; tratar la imagen principal del producto como de un solo uso hará que cada segmento posterior tenga que empezar de nuevo.
III. Fuentes: tres opciones, según el uso
| Fuente | ¿Cuándo usarla? | A tener en cuenta |
|---|---|---|
| Grabación real | Hay objeto físico, se necesita precisión, implica parámetros o eficacia | Es la mejor, pero requiere material |
| Generada por IA | Sin objeto físico, escenas ficticias, atmósfera, manos humanas | Hay que fijar geometría e impresión, múltiples candidatos |
| Material oficial | Imagen principal, imagen de empaque proporcionada por la marca | Úsala directamente como ancla, es la más estable |
No se exige grabación real. Para un video generado completamente por IA, todo el conjunto de activos puede ser generado por IA, siempre que sea internamente consistente.
Un riesgo que debe aclararse de antemano
Si este video debe declarar parámetros o eficacias específicas al público (capacidad, duración, ingredientes, efectos) y el producto en la imagen es generado por IA, entonces la imagen no coincidirá con la declaración; como mínimo será señalado en los comentarios, o podría constituir publicidad engañosa.
La forma de manejarlo es una sola: si hay declaraciones, la imagen del producto debe ser de grabación real o material oficial; si no hay declaraciones, solo atmósfera o contenido ficticio, la IA es suficiente.
Solo hay que preguntar esto antes de empezar, no esperar a que el video esté terminado.
Cómo ejecutar la generación por IA
Usa el script integrado scripts/kie_gen.py (KIE GPT Image 2) para enviar, consultar, descargar y guardar por nombre de una sola vez:
# Texto a imagen (si no se especifica resolución, es 1K, suficiente)
python scripts/kie_gen.py generate --prompt "…" --ratio 9:16 \
--out 04-Material/01-ImagenesActivo/PR-01_ImagenPrincipalProducto_v1.png
# Imagen a imagen: usa el ancla como referencia
python scripts/kie_gen.py generate --prompt "…" --ref PR-01_ImagenPrincipalProducto_v1.png \
--out 04-Material/01-ImagenesActivo/S01_f01_v1.png
# Por lotes: lee una tabla de tareas JSON (por defecto 5 concurrentes)
python scripts/kie_gen.py batch --tasks tasks.json --out-dir 04-Material/01-ImagenesActivo --dry-run
python scripts/kie_gen.py batch --tasks tasks.json --out-dir 04-Material/01-ImagenesActivo
Resolución por defecto 1K: estas imágenes serán remuestreadas por el modelo de video final; hacerlas más grandes no conserva detalles, solo aumenta la tasa de fallos. Solo se debe añadir --resolution 2K si se necesita ampliar y recortar individualmente (para portada) o para hacer un modelo base de fondo blanco para reutilización.
El lote por defecto ejecuta 5 imágenes simultáneamente. Generar una imagen toma de 10 a 40 segundos; ejecutar 6 en serie son de 3 a 4 minutos de espera; con 5 concurrentes, el tiempo total es aproximadamente el de la imagen más lenta más una ronda. Si hay limitación de velocidad (code != 200 o 429), usa --concurrency 2, no modifiques los prompts por la limitación de velocidad.
Cuatro reglas:
- Primero
--dry-runpara ver el cuerpo de la solicitud, luego ejecuta realmente. Una presentación por lotes de veinte imágenes con parámetros incorrectos es un desperdicio de veinte intentos - La clave solo por variable de entorno
KIE_API_KEY, no se escribe en scripts, tablas de tareas ni órdenes de trabajo - Primero genera el ancla, confirma el estilo, luego las derivaciones por lotes. Para el nivel ancla, reduce la concurrencia para ver una por una
- Registra el taskId, escríbelo en la orden de trabajo, para poder consultar la misma imagen más tarde si es necesario volver a extraerla
Sintaxis, límites de parámetros, manejo de fallos en references/ai-generation.md.
IV. Flujo de siete pasos
1 Leer lista → 2 Ordenar → 3 Clasificar → 4 Generar candidatos → 5 Verificar → 6 Guardar → 7 Actualizar
Paso 1 · Leer la lista
Desde 02-ListaActivos.md leer: ID, tipo, uso, fuente, segmento de referencia.
Si la lista no tiene prompts de imagen, usar los cuatro tipos de esqueleto de references/prompt-fixups.md para completar; si los tiene, usarlos directamente, no reescribir.
Paso 2 · Ordenar la producción
Nivel ancla → Nivel derivado → Nivel de un solo uso
Dentro del mismo nivel, ordenar por número de veces que es referenciado; entre más referencias, primero se hace. Razón: un activo muy referenciado, si requiere retrabajo, afecta a más segmentos.
Para ubicaciones que se reutilizan en múltiples segmentos y donde la continuidad espacial es importante, dividir según sea necesario en dos capas de activos:
- Modelo base de estructura espacial: sin personas, sin acciones; fija materiales de suelo/pared, vitrinas y volúmenes arquitectónicos, estructura de fondo fija, relación de profundidad espacial, y la fuente y dirección aproximada de la luz principal en la escena; no fija posiciones de cámara específicas, planos, personas ni accesorios temporales.
- Submodelos de posición de cámara: a partir del mismo espacio, derivar las tomas vacías que se usarán realmente: plano general frontal, plano medio lateral, picado, contrapicado o primer plano. El primer fotograma se deriva del submodelo de posición de cámara correspondiente, evitando que todo el metraje herede la misma perspectiva y composición.
Para cada espacio, solo se hacen los ángulos que realmente se usarán, no se obliga a un número fijo. La dirección de la luz debe mantener la continuidad espacial, pero las versiones de iluminación de mediodía/tarde se deciden según si la historia cruza diferentes momentos del día; el modelo base debe evitar incluir características temporales innecesarias. Primero verificar las posiciones de cámara representativas lado a lado, luego derivar los primeros fotogramas por lotes.
Paso 3 · Clasificar
Asignar un nivel (ancla / derivado / de un solo uso) a cada ID, escribir en la orden de trabajo. Este paso solo toma un minuto, pero determina cuántos candidatos se harán después.
Paso 4 · Generar candidatos
| Nivel | Número de candidatos | Descripción |
|---|---|---|
| Ancla | 4–6 | Elegir uno como versión final, el resto como respaldo |
| Derivado | 2–3 | Elegir después de comparar con el ancla |
| De un solo uso | 1–2 | Con que sirva |
Antes de generar, confirmar tres cosas: si la relación de aspecto es correcta, si el fondo es correcto (fondo blanco o escena), y si hay elementos superfluos (texto, marcas de agua, manos).
Al usar IA, primero --dry-run para ver los parámetros, luego enviar en orden ancla → derivado, de 4 a 6 por lote.
Paso 5 · Verificar
Según los siete puntos de references/acceptance.md, revisar uno por uno. Aprobar con seis de siete para conservar; los puntos clave (geometría, impresión) si no se aprueban, se rechazan directamente.
Paso 6 · Guardar
04-Material/01-ImagenesActivo/
├── PR-01_ImagenPrincipalProducto_v1.png
├── PR-01_ImagenPrincipalProducto_v2.png ← respaldo, no eliminar
├── SC-01_EscritorioOficina_v1.png
└── CH-01_ManoFemenina_v1.png
Formato de nombre: <ID>_<Uso>_v<N>.<ext>. El ID debe coincidir con la lista (los sufijos de estado A/B se conservan), el uso de 2 a 8 caracteres, se puede subdividir con guiones bajos, la versión se incrementa.
Paso 7 · Actualizar
Cambiar el estado de la lista a «Listo / Listo con respaldo / Pendiente», y anotar la versión seleccionada en la orden de trabajo. Si no se actualiza, el siguiente paso no sabrá qué versión referenciar.
V. Cómo asegurar la consistencia
Para múltiples imágenes del mismo ID, alinearlas mediante cuatro cosas:
- La misma descripción del sujeto: copiar del prompt del ancla, sin cambiar palabras
- La misma posición de luz: dirección de luz principal y temperatura de color fijas, las imágenes derivadas no cambian la luz
- La misma relación de aspecto y fondo: si es fondo blanco, todo fondo blanco; si es escena, todo escena
- Comparación lado a lado: colocar las dos imágenes una al lado de la otra, ver geometría, color, impresión, proporción
La comparación lado a lado es la táctica más efectiva. Al ver una sola, todo parece correcto; al ponerlas juntas, se descubre que el borde de la taza es dos milímetros más ancho, o que el logo está un cuadro más arriba.
Ver detalles en references/acceptance.md.
VI. Autocomprobación (script ejecutable)
python scripts/check_assets.py --dir <directorio de producción>
Cinco criterios:
| # | Criterio | Nivel |
|---|---|---|
| A1 | Cada ID en la lista tiene un archivo correspondiente | Fatal |
| A2 | El nombre del archivo cumple con <ID>_<Uso>_v<N> | Fatal |
| A3 | No hay archivos huérfanos en el directorio fuera de la lista | Advertencia |
| A4 | Cada imagen tiene resolución ≥ lado corto 720 | Advertencia |
| A5 | Los activos de nivel ancla tienen ≥ 2 candidatos | Advertencia |
Código de salida: 0 aprobado / 2 hay elementos fatales / 3 no se puede leer el directorio.
VII. Límites
- No escribe guiones gráficos: las necesidades de activos vienen del guion gráfico y la lista, no se modifica el contenido
- No escribe prompts de video: eso es tarea del paso anterior, esta habilidad solo completa prompts de imagen
- No genera video: solo procesa imágenes estáticas
- No reemplaza el juicio: los criterios de verificación están dados, pero «si esta imagen se puede usar» lo decide una persona finalmente
- No garantiza acierto a la primera: la generación es probabilística, esta habilidad garantiza que «hay candidatos, hay verificación, hay versiones»
VIII. Referencias
| Archivo | ¿Cuándo leerlo? |
|---|---|
references/production.md | Al ordenar, clasificar, generar candidatos, guardar y actualizar |
references/acceptance.md | Al verificar, comparar lado a lado, rechazar y rehacer |
references/prompt-fixups.md | Cuando la lista no tiene prompts, o una imagen no sale bien repetidamente |
references/ai-generation.md | Al usar IA: parámetros, sintaxis, lotes, manejo de fallos |
assets/asset-production-sheet.md | Al crear la orden de trabajo antes de empezar, y al actualizar el estado al entregar |
assets/batch-tasks-example.json | Ejemplo de tabla de tareas para generación por lotes |
scripts/kie_gen.py | Enviar, consultar, descargar, guardar por nombre |
scripts/check_assets.py | Ejecutar antes de entregar |